전체 글(116)
-
[Node.js_4기] 코드카타 : 둘만의 암호 (24/02/15)
목차 1. 문제 2. 시도 3. 결과 4. 배운점 1. 문제 코딩테스트 연습 - 둘만의 암호 | 프로그래머스 스쿨 (programmers.co.kr) 더보기 문제 설명 두 문자열 s와 skip, 그리고 자연수 index가 주어질 때, 다음 규칙에 따라 문자열을 만들려 합니다. 암호의 규칙은 다음과 같습니다. 문자열 s의 각 알파벳을 index만큼 뒤의 알파벳으로 바꿔줍니다. index만큼의 뒤의 알파벳이 z를 넘어갈 경우 다시 a로 돌아갑니다. skip에 있는 알파벳은 제외하고 건너뜁니다. 예를 들어 s = "aukks", skip = "wbqd", index = 5일 때, a에서 5만큼 뒤에 있는 알파벳은 f지만 [b, c, d, e, f]에서 'b'와 'd'는 skip에 포함되므로 세지 않습니다. 따..
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