프로젝트 회고/저쪽 손님께서 보내신 겁니다. 🍸16 [엘리스AI트랙] 2차 프로젝트 회고 🍸저쪽 손님께서 보내신 겁니다. 칵린이를 위한 칵테일 소개 및 추천 서비스 🚩프로젝트 목표: 칵테일 입문자를 위한 인기 있는 칵테일 정보 제공 및 자신만의 레시피 공유, 재밌는 칵테일 컨텐츠를 통해 칵테일의 진입장벽을 낮추고자 합니다. https://github.com/ParkJungYoon/cocktailWebService GitHub - ParkJungYoon/cocktailWebService: 칵린이들을 위한 칵테일 소개 및 추천 서비스 🍸 칵린이들을 위한 칵테일 소개 및 추천 서비스 🍸. Contribute to ParkJungYoon/cocktailWebService development by creating an account on GitHub. github.com ⚙️ 기술 스택 Node.j.. 2022. 5. 30. [칵테일 웹 서비스 프로젝트] 15일 차 회고 📖 2022년 5월 07일 ✔️ 오늘 내가 한 일 버그 Fix 발표 자료 준비 💁♀️ 오늘 느낀 점 두번 째 프로젝트를 끝냈다! 3주라는 시간 동안 좀 더 성장하고 있고 앞으로 더 성장하기 위해서 노력하자! 처음 개발 프로젝트의 팀장을 맡았고 조금 더 잘해볼걸 하는 생각이 들었다!!! 누구에게나 처음은 있으니깐! 그 처음에서 한 발자국 걸어 나온 나는 좀 더 성장하고 있지 않을까 남은 두달도 화이팅!! 2022. 5. 8. [칵테일 웹 서비스 프로젝트] 14일 차 회고 📖 2022년 5월 06일 ✔️ 오늘 내가 한 일 board 조회수 구현 리팩토링 데이터 json 파일로 변환 (그래프용) 발표 자료 준비 💡 TIL ( Today I Learned ) 1) 트래픽 처리 https://d2.naver.com/helloworld/6070967 💁♀️ 오늘 느낀 점 조회수를 구현하면서 모듈을 추가하고 싶지 않아서 쿠키가 아닌 방식으로 구현을 했다. 조회수를 count 하는 로직은 다음과 같다. 로그인 X -> 게시글을 선택할 때마다 ++1 로그인 O -> 하루에 한번만 ++! 이 방식에 대해 오피스아워 시간에 질문을 했고 지금은 서버가 하나이고 분산처리를 하지 않아 괜찮지만 분명 문제가 될 수 있는 방식이라고 하셨다. 이 부분에 대해서 조금 더 공부를 하자! 📌 내일 할 .. 2022. 5. 6. [칵테일 웹 서비스 프로젝트] 13일 차 회고 📖 2022년 5월 05일 ✔️ 오늘 내가 한 일 board router 수정 리팩토링 버그 Fix 🪲 💡 TIL ( Today I Learned ) 1) DB 처음 프로젝트를 기획하면서 기술스택을 정할 때 지금의 MongoDB를 선택한 것은 익숙함이었다. 하지만 처음 데이터베이스를 선정할 때 고려해야할 우리 데이터의 특성에 대한 고민이 없었다. 비정형으로 수집해서 들어오는 데이터가 많고 한 테이블 내에 모든 데이터가 들어가 있는 경우는 NoSQL를 사용하는 것이 적합했을 것이다. 하지만 우리 데이터베이스는 다음과 같이 이미 8개의 테이블 (컬렉션)이 만들어졌다. 일단 우리 서비스의 메인 기능인 칵테일을 보여주는 파트에서도 '좋아요'와 같은 기능이 붙기 시작하면서 끝없이 populate 되었다. 또한 게.. 2022. 5. 5. [칵테일 웹 서비스 프로젝트] 12일 차 회고 오늘은 운수 좋은 날 ㅎㅎㅎ.........ㅠㅠ 📖 2022년 5월 04일 ✔️ 오늘 내가 한 일 test 배포 board router 수정 Board-Comment-User 정합성 유지하기 리팩토링 버그 Fix 🪲 💡 TIL ( Today I Learned ) 1) 배포할 머신에 compose 설치할 때 주의 버전 ㅎ.. 조심하자. 잘못 설치해서 꽤 시간이 소요됐다 ㅠ https://bug41.tistory.com/116 [Docker] docker-compose 에러 Version in "./docker-compose.yml" is unsupported ERROR: Version in "./docker-compose.yml" is unsupported. You might be seeing this e.. 2022. 5. 4. [칵테일 웹 서비스 프로젝트] 11일 차 회고 우리 팀의 공식 개발 일정은 화~토 사이이다. 따라서 쉬는 날 한 작업들은 화요일 회고에 같이 기록한다! ( 하지만 스크럼은 매일 진행했고 작업도 매일 했다...👍) 📖 2022년 5월 03일 ✔️ 오늘 내가 한 일 좋아요 기능 수정, 좋아요 스키마 수정 Board + Comment 전체 리팩토링 Board 이미지 수정 Board 조회수 구현중 MBTI data 자료조사 리팩토링 (로그인, 회원가입 → user MVP로 합치기) 회원 탈퇴 구현 탈퇴 시 유저가 작성한 게시글, 댓글은 writer 필드값 => null. 좋아요는 유지 그래서 프론트에서 null값일 때 '집나간 칵테일' 등 임의로 이름 랜더링 💡 TIL ( Today I Learned ) 1) 데이터베이스 트랜잭션 트랜잭션은 작업의 완전성 .. 2022. 5. 3. [칵테일 웹 서비스 프로젝트] 10일 차 회고 📖 2022년 4월 30일 ✔️ 오늘 내가 한 일 board mvp에 이미지 업로드 기능 연결 top10 칵테일 조회 API 💡 TIL ( Today I Learned ) 1) 몽구스 쿼리 현재 우리 cocktail DB 는 26위 안에 들었는 도큐먼트(칵테일)만 rank collection과 populate 되어 있다. 그래서 10위까지의 칵테일을 반환할 때 쿼리와 filter 를 주었다. [ 나의 코드 ] static getRank10Cocktail = async () => { const cocktails = await Cocktail.find({ rank: { $ne: null } }).populate({ path: "rank", match: { rank: { $lte: 10 } }, }); con.. 2022. 4. 30. [칵테일 웹 서비스 프로젝트] 9일 차 회고 📖 2022년 4월 29일 ✔️ 오늘 내가 한 일 DB 조회 최적화 ( 인덱스 ) comment CRUD 완성 유저 정보 수정 코드 리팩토링 백엔드 코드 Fix (리팩토링) 😥 어려움을 겪은 일 1. DB 조회 성능 향상 우리 서비스의 메인 기능이라고 할 수 있는 cocktail dictionary는 모든 칵테일을 조회하기 때문에 네트워크 지연이 있었다. 현재 코드에서는 rank collection 또한 populate 되어있어 더욱 지연되고 있다. Sol 1 ) populate 제거 NoSQL의 장점은 탐색 속도이다. 그런 NoSQL 데이터베이스 구조에서는 최대한 populate를 이용하지 않게, 그리고 양방향 관계가 되지 않게 짜는 것이 좋다고 한다. 이런 지연을 해결하기 위한 방법을 계속 생각해보았.. 2022. 4. 29. [칵테일 웹 서비스 프로젝트] 8일 차 회고 📖 2022년 4월 28일 ✔️ 오늘 내가 한 일 login validation ( Joi ) register validation ( Joi ) token 프론트 코드 공부 DB 데이터 수정 백엔드 코드 Fix (리팩토링) 😥 어려움을 겪은 일 1) [Node.js] EADDRINUSE 에러 해결 갑자기 추가적으로 터미널에서 포트를 열지 않았는데 아래와 같이 오류가 뜨면서 이미 5000 포트를 사용하고 있다고 나왔다. 그래서 포트를 찾아서 직접 내리는 코드를 찾아 해결했다. ✔️ 윈도우 netstat -ano | find "5000" 포트를 찾아서 끝에 있는 'PID번호'를 확인하고 taskkill /pid 1234 taskkill /f /pid 1234 나는 /f 옵션으로 강제 종료해주었다. ✔️ 리눅.. 2022. 4. 28. [칵테일 웹 서비스 프로젝트] 7일 차 회고 📖 2022년 4월 27일 ✔️ 오늘 내가 한 일 OAuth Token register validation Jest 공부 ( TDD 방법론에 필요한 ) 💡 TIL ( Today I Learned ) 1) 또 Token 6일 차에는 Refresh Token을 저장할 필요가 없다고 생각했는데 오늘 다시 내가 짠 코드를 보며 필요한 이유를 깨달았다. ( 아니 어제 내가 짠 코드를 오늘 봐서 새로운 건 뭘까 ㅎ.. ) refresh token을 유저 ID와 함께 저장하는 이유에 대해서 생각해봤는데 refresh token은 payload 없이 발급해서 우리 DB에 저장해 두지 않으면 헤더에서 요청이 들어왔을 때 요청한 유저의 refresh token이 맞는지 아니면 다른 사람의 refresh token을 가지고.. 2022. 4. 27. [칵테일 웹 서비스 프로젝트] 6일 차 회고 우리 팀의 공식 개발 일정은 화~토 사이이다. 따라서 쉬는 날 한 작업들은 화요일 회고에 같이 기록한다! 📖 2022년 4월 26일 ✔️ 오늘 내가 한 일 칵테일 정보 수집 (설명, 맛) 칵테일 조회 API 인증과 인가 공부 Refresh Token 공부 DB 구축 미들웨어 설계 😥 어려움을 겪은 일 [ 함수 단위로 코드를 분리하면서 생긴 Issue ] 1. Task Refresh Token을 구현하자. 2. Situation 1) Client에게 받은 Refresh Token이 유효한지 확인하는 유틸 함수이다. 2) /refresh 요청이 들어왔을 때 토큰을 재발급하는 미들웨어 코드를 짜고 있었다. refresh 토큰의 유효성을 검사하고 1번의 함수를 보면 return을 true나 false로 설정했기.. 2022. 4. 26. [웹 서비스 프로젝트] 5일 차 회고 📖 2022년 4월 23일 ✔️ 오늘 내가 한 일 기획서 작성 user_cocktail CRUD 구현 swagger 명세서 작성 기획 회의 😥 어려움을 겪은 일 기획은 어렵다. 어떤 서비스를 만들 때 가장 먼저 생각해보아야 할 것은 '왜?' 인 것 같다. 처음 기획 회의에서 우리는 그것을 빼고 생각했다. 어떤 기능을 넣는다면 이 기능이 왜 필요한지. 이 서비스가 왜 필요한 지. 먼저 생각해보아야 한다. 오늘 데이터 분석 오피스아워 이후 폭풍 회의를 진행했다!! 💡 TIL ( Today I Learned ) 1) Swagger swagger로 명세하는 방법은 다양하지만 우리 팀은 json 파일로 작성을 시작했다. https://velog.io/@ingyocode/nodejs-swagger%EC%9E%91%.. 2022. 4. 23. [웹 서비스 프로젝트] 4일 차 회고 📖 2022년 4월 22일 ✔️ 오늘 내가 한 일 기획서 작성 📌 내일 할 일(계획) user_cocktail CRUD 구현 refresh Token 기획서 완성 2022. 4. 22. [웹 서비스 프로젝트] 3일 차 회고 📖 2022년 4월 21일 ✔️ 오늘 내가 한 일 특정 cocktail 조회 API 😥 어려움을 겪은 일 cocktail DB를 구축하는 데 많은 시간이 걸렸다. 팀원 분이 크롤링으로 json 파일로 주셨는 데 나도 크롤링을 배웠지만 바로바로 실전에서 사용하지 못해서.. 아쉬웠다! 내일 팀원분께 배워서 마스터하자! 💡 TIL ( Today I Learned ) 1) git에 올라간 node_modules 삭제 git rm : 원격, 로컬 저장소 모두 삭제 git rm --cached : 원격 저장소에서만 삭제 만약에 node_modules가 git에 잘못 올라가 있다면 다음 코드를 사용하자. 로컬 node_modules는 남겨두고 싶기 때문에 git rm --cached -r node_modules (-.. 2022. 4. 21. [웹 서비스 프로젝트] 2일 차 회고 📖 2022년 4월 20일 ✔️ 오늘 내가 한 일 Back 폴더 초기 구성 Swagger 공부 Team Swagger 생성 😥 어려움을 겪은 일 캐글에서 받은 csv 형식의 파일을 json으로 변환하는 게 막막했다.( 팀원 분이 바로 해결해주셔서 코드 보고 많이 배워야 겠다. ) 💡 TIL ( Today I Learned ) 1) swagger API 문서를 자동으로 시각화해주는 툴이라고 한다. 오늘 현직에 계신 분이 swagger을 사용하신다는 말을 듣고 더 열심히 적용해보기 위해서 찾아봤다. Nodejs, Express 에서 적용하는 과정에서 app.js 에서 한번에 불러오는 방법과 따로 폴더를 구성하는 방법 등 다양한 방법이 있어서 갈피를 잡지 못했다. 내일 조금 더 시도해보고 백엔드 오피스아워에 .. 2022. 4. 20. 이전 1 2 다음 반응형