Retrospect 119

[TIL] 2020-10-27

💪 Today I Learned Brunch API 현황 홈 화면 조회 API path-variable 삭제 홈 화면에서 보여질 게시글 수를 {count}로 전달 -> php 내에서 배열에 저장해 랜덤으로 쿼리에 전달 API 출력 결과 변경 아래 사진처럼 리스트 형태로 뜨는 값들 묶어줬다. 회원가입 API 구현 사실 Brunch 어플은 카카오 계정으로 로그인 기능만 가능하다. 그래서 임의로 이메일과 패스워드를 통해 회원가입 가능하도록 작성했다. 이메일 / 패스워드 / 핸드폰 번호 각각 정규표현식 적용해 validation 처리 Transaction 적용 COMMIT : 게시글 조회 성공 시 최근 본 글 과 최근 본 작품 목록에 각각 들어가도록 ROLLBACK : 게시글 조회 실패 시 🏃‍♂️ 한마디 오늘..

[TIL] 2020-10-26

💪 Today I Learned Brunch API JWT 적용 홈 화면 조회 API를 제외한 모든 API에 올바르지 못한 토큰으로 요청이 올 경우 전부 막아줬다. 그리고 기존 코드에서 나에 해당하는 userId 를 쿼리문에 직접 대입시켜 작성한 것을 JWT를 복호화하여 로그인한 사용자의 userId 로 수정했다. 이해하기 어렵게 설명한 것 같아 예시를 더하겠다. 로그인한 사용자(나)의 userId 가 1이라고 가정해보자. 기존에는 특정한 게시글에 좋아요 눌렀는지의 여부를 보여줄 때 쿼리에 나를 명시적으로 넣어줬다. SELECT likeStatus FROM LikePost WHERE userId = 1; 이 userId 를 JWT payload 부분에 넣어 토큰을 발급했고, 이것을 다시 복호화하여 사용했..

[TIL] 2020-10-24

💪 Today I Learned 경진대회 보고서 작성 6개 모델 성능 비교 kNN Suport Vector Machine Decision Tree Random Forest LightGBM Xgboost 결국 LightGBM 정확도 0.925로 마무리했다. 🏃‍♂️ 한마디 생각보다 GridSearchCV로 하이퍼 파라미터 튜닝하는 데 시간이 너무 오래 걸렸다. 왜 전문가들이 성능 좋은 데스크탑에서 모델을 학습시키는지 뼈저리게 느낄 수 있었다. 심지어 튜닝하는 동안 다른 작업을 하지 못해 시간이 아깝게만 느껴졌다.

[TIL] 2020-10-23

💪 Today I Learned SMOTE Synthetic Minority Oversampling TEchnique 데이터 개수가 적은 클래스의 표본을 가져와 임의의 값을 더하여 데이터에 추가 결국 데이터 전처리부터 다시 진행했다. 클래스가 많이 불균형하지는 않지만 최대한 균형을 맞추고 싶었다. 데이터 불균형을 처리하는 방법은 크게 Undersampling Oversampling CSL (Cost Sensitive Learning) 가 있다. 찾아보니 분석을 위해서는 많은 데이터 확보가 효과적이기 때문에 오버샘플링 기법을 적용하는 것이 좋다고 한다. 그래서 가장 많이 사용하는 SMOTE 알고리즘을 이용했다. 하지만 데이터를 복제해 많은 양의 데이터를 만드는 만큼 오버피팅 가능성이 높다. 🏃‍♂️ 한마디..