전체 글 90

[항해 14기] 13주차 WIL (실전프로젝트 5주차 회고)

실전프로젝트 담당 기능 1. 서버 관련 1) EC2 인스턴스 세팅/관리 - ubuntu 20.04 / t2.small - NginX - PM2 - CORS/방화벽/Port Forwarding 2) HTTPS - Domain : 가비아 - AWS Route53 - AWS Certificate Manager : SSL/TLS - EC2 Elastic Load Balancer 2. CI/CD 환경 1) CI - Github Actions 2) CD - AWS S3 - AWS Codedeploy 3. Node.js 1) Express - Architecture 설계 : Layered Architecture(3 layered) - Structure Directory 설계 - 환경 세팅(nvm, env, git, ..

[항해 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기] 10주차 WIL (실전프로젝트 2주차 회고)

1. 진행한 것 1) 1차스코프 진행 및 코드리뷰/리팩토링 - 각자 코드/새로 사용한 기술 공유 및 리팩토링 진행 - status 컨벤션 - like 로직 구현, 트랜잭션 적용 2) 배포환경 추가 - nvm - sentry 3) FE-BE 연결 - cors 이슈 해결 - 로그인 로직 해결 4) https 2차시도 5) swagger 작성 6) 공부한 것 - server swapping - aws - 면접 스터디 발제 2. 회고 - 1차 스코프가 일정에 맞게 완료됨, 일정관리와 협업에 익숙해진 듯 - 서버 관리를 진행하다보니 ubuntu와 aws 시스템, 배포관련 tool(nginx, pm2, nvm, sentry 등)들에 익숙해짐 - let's encrpy의 certbot 방식에 또다시 실패, node반..

[항해 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)..