공부/내배캠 TIL(53)
-
[Node.js_4기] TIL : 뉴스피드 프로젝트 회고 (24/02/14)
목차 1. 문제 2. 결과 3. 배운점 1. 문제 [Node.js_4기] TIL : 뉴스피드 프로젝트 (24/02/07) (tistory.com) 금일 프로젝트 발표를 끝내고 간이 피드백을 받았습니다. Blue and White Minimal Professional Business Project Presentation - Presentation (canva.com) 프로젝트에서 팀원들과 제가 느낀 가장 큰 어려움은 아래와 같았습니다. 1. 모임 추천 기능 반드시 똑같은 키워드를 입력해야 해당하는 모임을 추천받을 수 있음 자연어 처리를 해보고싶었으나 실력의 한계 2. 초기 설계 대비 볼륨이 늘면서 생긴 크고 작은 오류들 프론트엔드 도입 후 변화와 볼륨 증가 프론트엔드와 백엔드 간의 통합 어려움 3. 타인의..
2024.02.15 -
[Node.js_4기] TIL : Nodemailer (24/02/13)
목차 1. 문제 2. 시도 3. 결과 4. 배운점 1. 문제 회원가입 라우터는 email, password, password_check, name, interest를 포함하는 body를 post하고, email이 db에 이미 존재하는지, password와 password_check가 같은지, password의 길이가 6 이상인지 확인한 뒤 이메일을 bcrypt를 사용해 암호화한 뒤 email, (암호화된)password, name, interest를 저장하는 것으로 구현하였다. 2. 시도 1. 설치 npm i nodemailer 2. google 계정 준비 [NodeJS] nodemailer로 이메일 보내기 (tistory.com) 해당 링크의 [2단계 인증 해결 방법] 부분을 참고하였다. 2단계 인증이..
2024.02.13 -
[Node.js_4기] TIL : Refresh Token 토막글 (24/02/08)
목차 1. 학습 내용 학습이라 보기도 애매한 토막글입니다. 1. 학습 내용 세션 = 서버에서 정보 관리, 보안성은 좋지만 데이터가 많음 쿠키 = 데이터를 브라우저에서 관리, 보안성 안좋아짐 토큰 = 발급된 토큰을 유저가 저장, 서버에서 요청하면 보여줌. payload는 암호화 되지 않기 때문에 중요 정보는 못담음. refresh token = 메모리 저장 or db저장 -> 보안! ※ 대부분의 상황에서(특히 웹개발) 세션보단 토큰이 좋다.(stateless) but 게임 (stateful) : 세션으로 관리. 토큰을 db에 저장하면? -> OKKY - jwt refreshToken을 db에서 유지하는 이유가 궁금합니다. -> JWT의 Refresh Token과 Access Token은 어디에 저장해야 할..
2024.02.08 -
[Node.js_4기] TIL : 뉴스피드 프로젝트 (24/02/07)
목차 1. 문제 2. 시도 3. 결과 4. 배운점 1. 문제 숙련주차 2 팀 프로젝트로 뉴스피드 프로젝트를 진행하게 되었습니다. 뉴스 피드 : 내 게시물을 포함한 모든 게시물을 볼 수 있는 공간 → 블로그, 커뮤니티, SNS 모두 될 수 있다. 팀원들과 팀원 카드를 확인해보면서 관심사에 대해 말하다 당근마켓의 동네생활 란을 모티브로 프로젝트를 진행해보면 어떻겠냐는 이야기를 하게 되었고, 이를 프로젝트 목표로 잡게 되었습니다. 2. 시도 프로젝트 명 : 우(리동네) 동(아리) 소개 한 줄 정리 : 관심사를 기반으로 동아리를 만들어 소통하는 프로젝트 내용 : interest를 공유하는 사람들과 community를 만들어 게시글을 작성하고, 게시글에 댓글과 좋아요로 반응하는 게시판 프로젝트 입니다. 프로젝트 ..
2024.02.08 -
[Node.js_4기] TIL - 개인과제 정렬기능 리팩토링(24/02/05)
목차 1. 문제 2. 시도 3. 결과 4. 배운점 1. 문제 개인과제가 끝나고, 과제 해설 영상을 통한 그로우업 시간을 가지고 있습니다.(주말은 쉬었습니다.) router.get('/resumes', async (req, res, next) => { try { //validation & path handler const { orderKey, orderValue } = req.query; let orderBy = { createdAt: 'desc' }; if (orderKey && orderValue) { const validOrderValues = ['asc', 'desc']; if (validOrderValues.includes(orderValue.toLowerCase())) { orderBy[orde..
2024.02.05 -
[Node.js_4기] node숙련주차 개인과제 (24/02/02)
목차 1. 문제 2. 시도 3. 결과 4. 배운점 1. 문제 더보기 웹 프레임워크 Node.js의 대표적인 웹 프레임워크인 Express를 이용합니다. 패키지 매니저 yarn을 이용합니다. ES6 부터 도입 된 모듈 시스템(ESModule, type: "module")을 이용합니다. 데이터베이스 숙련 주차 강의 후반에서 다룬 MySQL을 사용합니다. 직접 설치하지 않고, Cloud 서비스인 AWS RDS를 이용합니다. ORM(Object Relational Mapping) MySQL의 데이터를 쉽게 읽고 쓰게 해주는 Prisma를 사용합니다. 프로젝트 목표 : RDB(MySQL) 데이터 모델링(feat.prisma), JWT, Express MiddleWare를 이용한 인증 로직 구현 API 명세서를 작..
2024.02.02