2025/06 40

[기계학습 심화] Linear Classification review

Linear ClassificationPermalink살짝 복습으로우리는 예측값을 구하기 위해 함수를 찾으려는 것이고,Linear에서는 W, b를 찾는 것이 목적이다.최적의 W, b를 찾기 위해 Loss 개념을 사용해train data에서 가장 실제값을 잘 표현하는 W, b를 찾는 것이다.부가적으로 직접 설정해야 하는 hyper parameter 값을 잘 설정하기 위해서는 validation data를 사용Loss FunctionPermalinkLoss Function - L1 LossPermalink정답이 1일때 예측값이 1이면 에러가 0간단하다.Loss Function - L2 LossPermalink이것도 간단하다 L1에서 제곱Loss Function - Cross Entropy LossPermal..

[기계학습 심화] PCA

Supervised Learning vs Unsupervised LearningPermalinkSupervised Learning: 지도 학습데이터에 레이블이 붙어 있음예측 문제 (Regression, Classification)예시: Linear Regression, SVM, KNNUnsupervised Learning: 비지도 학습데이터에 레이블이 없음군집화 문제 (Clustering)예시: K-Means, PCAPCA (Principal Component Analysis)PermalinkUnsupervised Learning 기법으로머신러닝, 딥러닝 할때 데이터 크기 (차원)이 너무 크다는 문제점을 해결하기 위해 사용하는 것이다.쉽게 말해 축 (basis vector)를 바꿔서차원을 줄이는 방법이다..

[소프트웨어 공학] 2. 프로세스와 방법론

프로세스소프트웨어 공학에서 프로세스란소프트웨어 시스템을 구축하기 위해 수행되는 작업의 집합을 의미즉 프로젝트에서 수행해야 하는 작업과 수행 순서를 정의한 명세를 의미한다.프로세스 모델프로세스 모델이란일반적인 프로세스를 추상적으로 기술한 것. (작업 흐름)작업의 단계와 순서, 각 단계 작업 수행의 제약사항이나 조건을 모아 놓은 것프로세스 (명세), 프로세스 모델 차이점프로세스 정의Permalink프로세스를 명확하게 설명하기 위해서는 3가지를 정의 해야 한다목적작업 방법성과전통적인 모델Permalink폭포수 모델Permalink가장 오래되고 널리 사용된 프로세스 모델계획 단계 -> 운영 -> 유지보수 모두 순서대로 진행각 프로세스 사이에 결과물이 있어 명확히 구분, 이전 작업으로 돌아가는 재작업 없다결과는 ..

[졸프] 출시, BM, 개선사항

현재 상황1월 초 ~ 2월 말 현재까지 개발을 진행해출시를 앞두고 있다회의이번 졸프는 1년짜리니까실 사용자를 끌어들이기 위한 노력이라도 해보려고 한다..본격적으로 원래 계획했던 홍보를 시작해야 할 것 같아서 회의때 몇가지 제안을 해봤다타자 치기 귀찮으니 사진으로 대체컨셉개선사항BM소감, 아쉬운점, 방학 회고방학기간 동안 V1 프엔 백엔 개발을 거의 끝내서 나름 뿌듯하긴 하다하지만 동시성, AOP, jenkins, 멀티 스레드 등등.. 해보고 싶은게 많았는데사실상 내공부는 많이 못했다주변 개발하는 모습을 보면운영 DB, 개발 DB, 운영 서버, 개발 서버를 먼저 구축하고 개발하는 것 같던데나는 너무 로컬 -> 운영으로 바로 넘어가는게 아닌가 싶기는 하다너무 실전적이지 않은 느낌?이부분은 다음 프로젝트에 시..

PROJECT 2025.06.06

[졸프] 3주만에 플러터로 앱 만들기!

글머리에 적는 소감과 결과물어렵다..다들 쉽다고 하는데 나는 잘 모르겠다프론트를 제대로 해보는게 처음이어서 그런지UI 배치도 마음대로 잘 안되고 상태관리도 헷갈리고.. 그랬다프론트 하시는 분들 대단하다생각보다 빠르게 한 것 같아서 약간 뿌듯하다눈에 보이는 결과물이 있어서 그런듯 하다레퍼런스가 생각보다 없다기초적인 글은 지인짜 많은데 좀 복잡한 부분을 다루는 글은 몇개 없는 것 같다..https://nomal-dev.tistory.com/15이분 블로그가 정말 많은 도움이 되었다내가 만든 디자인은 어딘가 이상하다 기술스택 선정팀원 모두 프론트 경험이 없는 상태였고빠르게 출시하기 위해 cross platform을 선택.react native, flutter중 고민하다가난이도가 낮다고 하는 fl..

PROJECT 2025.06.06

[졸프] Spring batch, 크롤링 트러블슈팅

상황Permalink신경쓰지 못한 부분에서 에러가 나고 있었다.실패한 레코드들을 기록하고 있었는데, 일부 기록이 되지 않았다.Copy code120,103,crawlStep,119,2025-02-19 19:53:21.213935,2025-02-19 19:53:21.217935,2025-02-19 20:08:39.572548,COMPLETED,101,100,0,32,0,0,68,68,COMPLETED,"",2025-02-19 20:08:39.575546batch step에서는 68개의 레코드 실패 기록이 남아있었는데오늘 날짜로 기록된 실패 레코드가 36개밖에 없었다.실패하며 batch에서 rollback하고, 실패 레코드도 기록되지 않으면남아있는 레코드를 계속 다시 검색하는 무한 루프에 빠지니꽤 큰 문제였..

PROJECT 2025.06.06

[Spring] Query DSL!

사용 이유사용해 보고 느낀점은쿼리를 java 코드로런타임 에러를 잡을 수 있다중복되는 쿼리를 재사용할 수 있다동적 쿼리동적 쿼리를 다뤄본 적이 없어서 몰랐는데 이번 기회로 알게 되었다.쉽게 말해 분기에 따라 쿼리가 달라지는 경우.1번과 비슷하다설정Copy codeplugins { id 'java' id 'org.springframework.boot' version '3.3.2' id 'io.spring.dependency-management' version '1.1.6' id 'com.ewerk.gradle.plugins.querydsl' version '1.0.10'}group = 'study'version = '0.0.1-SNAPSHOT'java { toolchain { languageVersion..

SUMMARY/Spring 2025.06.06

[졸프] 데이터 수집: 네이버 지도 크롤링 + 공공데이터 - Spring Batch 활용

Spring batch가 무엇인지 작성한 글이 아닌어떻게 활용했는지에 대한 글입니다!!상황이번 프로젝트는 AI 기반 맛집 추천 프로젝트로, 데이터 수집이 매우 중요하다.API를 사용할까 하며 이런저런 계산도 해봤지만팀원들과 여러번의 회의 끝에 결국공공데이터 + 이 정보 기반으로 검색 크롤링이 방법이 최선이라는 결론에 도달했다.그리고 방학 기간부터 개발을 시작했는데크게 문제점이 3가지 발생했다.CSV : 오류, 속도크롤링 들어가기 전부터 쉽지 않았다.첫번째로 오류가 많이 발생했다.파일마다 컬럼 이름도 다르고,정보가 들쭉날쭉 했다.중요한건 어떤 레코드가 실패했는지 알수가 없었고, 안정적으로 모든 데이터를 db에 추가하기 힘들었다.두번째로 속도가 많이 느렸다.하나의 레코드를 읽고 처리해서 쓰는데 약 0.01초..

PROJECT 2025.06.06