항해14기 본과정/항해14기 개발일지 55

[항해 14기] 개발일지 56 (실전프로젝트 - 중간 발표)

실전프로젝트 4주차 1. 발표자료 - 노션 : https://team-spirits.oopy.io/dawhisky [Da-Whisky] 위스키 체험을 위한 온라인 플랫폼 배포 주소 team-spirits.oopy.io - 유저 UI 영상 : - 점주 UI 영상 : 2. 실전프로젝트 시작 이후 작업 내역 - 코드/깃 컨벤션 , api/기술/라이브러리 선정 등 - ERD/아키택쳐/스트럭쳐 설계 - EC2 배포+서버관리 - CI/CD환경 (github actions + aws codedeploy) - HTTPS (aws Route53+ certificate manager + elastic load balancer) - node.js+express(기본crud) - swagger, sentry, socket.i..

[항해 14기] 개발일지 55 (실전프로젝트 - Socket.io)

실전프로젝트 - 3주차 1. Socket.io 1) 개요 - 실시간 웹 응용 프로그램을 구축하기 위한 JavaScript 라이브러리. 웹 소켓(WebSocket)을 기반으로 클라이언트와 서버 간의 양방향 통신을 지원 - 실시간 데이터 전송을 위한 다양한 기능과 추상화된 인터페이스를 제공. 이벤트 기반 아키텍처를 사용하여 클라이언트와 서버 간의 상호 작용을 간단하게 처리할 가능 - 푸시 알림, 실시간 채팅, 다중 작업 등에 이용 가능 2) 기본 로직 - 설치 : npm install socket.io - 기본 로직 //수신 로직 // 소켓에 접속한 모든 클라이언트에게 전송 io.emit('event', data); // 이벤트 명을 지정하고 데이터 송신 socket.emit('event', data) //..

[항해 14기] 개발일지 54 (실전프로젝트 - Comparisons Sorting Algorithm)

실전프로젝트 - 3주차 1. Comparisons Sorting Algorithm 1) 개요 - sorting algorithm 중 하나 - 원소들 간의 상대적인 크기를 비교하여 정렬 2) Buuble Sort - 인접한 원소들끼리 서로를 비교하며 자리를 맞바꾸며 정렬을 수행 - 버블 정렬은 중간에 이미 정렬되어 있는 부분이 있더라도 끝까지 비교를 행하며 루프 동작을 수행 - Mechanism - Pseudo Code function bubbleSort(arr) { const n = arr.length; // 배열 길이만큼 반복 for (let i = 0; i < n - 1; i++) { // 현재 패스에서 원소의 교환이 일어났는지를 체크하는 플래그 let swapped = false; // 현재 패스에..

[항해 14기] 개발일지 52 (실전프로젝트 - HTTPS)

실전프로젝트 - 3주차 1. 회의 내역(BE안건) 1) 스웨거 - 사용법 공유 2) 센트리 - 내용 공유 3) 토큰/userid 이슈 - 기존 cookie에 담아주던 user id등은 페이지 넘어가는 경우 증발 - 모든 요청마다 토큰 전송으로 변경, 토큰값 디코드하여 BE에서 사용 4) 점주/유저 params - 위스키바 상세 조회 시 받는 params로 보유 위스키, 좌석 현황에 반영 가능(FE에서 같은탭) - 위스키바 상세 조회 유저/점주 api 분리 2. 작업 내역(HTTPS) *가비아/aws certificate manager/ec2/router53 이용 1) EC2 보안그룹 설정 - HTTP 80 및 HTTPS 443 포트 오픈 2) Route 53에 도메인 등록 - 도메인 구매(가비아) - R..

[항해 14기] 개발일지 51 (실전프로젝트 - Swagger, 멘토링)

실전프로젝트 - 3주차 1. 회의 내역(BE 안건) 1) 로그인 이슈 - req.cookies/headers 이슈 2) 스웨거 - 추가하기로 결정 2. 작업 내역 1) FE-BE 로그인 연결 - headers/소문자 이슈 2) swagger 세팅/작성 - swagger-autogen으로 틀 생성 후 parameter/response 하드 코딩 진행 - 기존 세팅방법 이용 : 본과정 개발일지 27번 (https://jujiprogram.tistory.com/57) 3. 멘토링/회고 1) swagger 관련 (1) 방법1 swagger-autogen : api별로 path자동 생성, 이후 parameter/response 수동입력 필요 (2) 방법2 swagger-jsdocs : api마다 전용 문법으로 s..

[항해 14기] 개발일지 50 (실전프로젝트 - AWS)

실전프로젝트 - 3주차 1. 회의 내역(BE 안건) 1) 비로그인 유저 좋아요 표시 - 메인페이지에서 위스키 하트 삭제 2) 상세조회 들어갔을때 하트 on/off - 상세조회요청 시 FE에서 페이로드 전송 - BE에서 해당 userid 이용하여 DB조회 하여 T/F로 res전송 3) 회원가입 이메일 중복확인 - 이메일 인증 버튼으로 변경하고, 중복된 이메일 기능과 이메일 인증번호 발송 로직 합치기 4) 위스키바 검색(지도api) - 지도 api 이용하는것과 위스키바 공공api제작중에 고민 - 위스키바 api 제작은 스코프가 너무 커져서 지도api에 커스텀하기로 결정 - 지도api에서 칵테일바라고 검색시 모든 위스키바 나오는것 확인, 의도하지 않은 데이터(위스키피시방 등)의 경우 거의 나오지 않는 것 확인..

[항해 14기] 개발일지 49 (실전프로젝트 - Sentry, 면접 스터디 발제)

실전프로젝트 - 2주차 1. 회의 내역(BE 안건) 1) 특정 요청 cors 이슈 - 다른 요청 잘되는데 키워드 검색 시 cors 2) 회원가입 리마인드 - 점주 회원가입 예외처리 채우기 3) 점주 가입 방식 - 피그마 대로 간단하게 가입 - 가입 시 업장 관리 수정하기로 페이지 이동 - 해당 값들 디폴트 설정 없이 BE에서 allow true로 진행 4) 업장 크롤링 - 연구 필요 2. 작업 내역 1) FE-BE 배포 연결 2) ERD/DB 수정 - 프로젝트가 진행되며 생긴 변경사항들 반영 - sequelize migration reference : (https://crispypotato.tistory.com/156) 3) Sentry 세팅 (1) 회원 가입 후 프로젝트 생성 - 세팅/Client Ke..

[항해 14기] 개발일지 48 (실전프로젝트 - Server Swapping)

실전프로젝트 - 2주차 1. 회의 내역(BE 안건) 1) 로드밸런서 - HTTPS 구성하며 진행할 예정 2) 서비스에 추가할 BE 기술 후보 - test code(jest) + es lint(+prettier) - 동일 ip에 대한 악의적인 반복 요청에 대한 대처 - 중복코드 최적화 + DTO - 트래픽 분산처리(로드밸런서가 될듯) - 동시성 - 타입스크립트/네스트 - 그 외 기초 CS 스터디 2. 작업 내역 1) 매니저님 피드백 - CI/CD 진행 시 서비스가 멈추는 것에 대한 대처 - ubuntu prettier가 다운되는 현상 -> 서버 스와핑 2) 다른 팀의 FE-BE login/auth 이슈 - 토큰 전달 방식과 변수명 수정을 통하여 FE-BE 로직 통일시킴 - 인증 미들웨어 코드 리팩토링 3)..

[항해 14기] 개발일지47 (실전프로젝트 - HTTPS 2차 시도)

실전프로젝트 - 2주차 1. 회의 내역(BE 관련) 1) FE - BE 기능 연결 진행 2) 엘라스틱 서치 추가 3) Node반 스터디 회의 - 기초CS와 알고리즘/자료구조 중 투표 예정 2. 작업 내역 1) https 2차 시도 3. 트러블슈팅/회고 1) let's encrypt의 certbot 방식으로 다양한 레퍼런스를 참조하여 진행 - 오늘도 약 8시간의 도전이 모두 실패하였고 마지막으로 cerbot 홈페이지의 가이드를 따라 진행(https://certbot.eff.org/instructions?ws=nginx&os=ubuntufocal) - 여전히 실패하였고, 에러코드는 동일하게 well-known 챌린지의 404 이슈 - 에러 로그 ubuntu@ip-XXX-XX-XX-XXX:/etc/nginx/..

[항해 14기] 개발일지46 (실전프로젝트 - Like Router, NVM)

실전프로젝트 - 2주차 1. 회의 내역(BE 관련) 1) 위스키 데이터 크롤링 & db작업 - 위스키 카테고리 fix 이후 진행 2) 검색창 - 클릭시 검색창 페이지 get요청 3) 검색 - 추천 검색어/연관 검색어 기능 4) BE response status 컨벤션 - 유효성 검사는 백/프론트 같이 5) 점주마이페이지 수정 - 피그마대로 변경 6) FE배포 시작 - api 배포 환경으로 재정비 - 소셜 기능이 아직 완성되지 않아 local 로그인/가입 유지 7) 예약 알람 - 점주가 que를 지울 경우 카톡메세지 유저에게 전송(BE에서 진행) - 유저가 que 수정 시 점주 화면에 알람 기능 추가 8) BE 추가 스코프 선정 - 엘라스틱 서치 - 테스트 코드, ES Lint/prettier : CI b..