5주차 위스콘신

이번 주에 배운 것

쿠키 및 세션

쿠키: Set-Cookie를 사용하여 서버에서 브라우저로 쿠키를 보낼 때 브라우저에서 데이터를 저장했다가 서버에 요청할 때 쿠키 데이터와 함께 보냅니다. 쿠키는 웹사이트 간에 데이터를 공유할 수 있도록 허용하고 일반적으로 상태를 저장하는 데 사용되므로 덜 안전합니다.

세션: 쿠키 기반 기술이지만 클라이언트가 임의로 데이터를 검사할 수 있는 쿠키와 달리 클라이언트가 고유한 세션 ID를 사용하여 세션 데이터에 액세스할 수 있으므로 쿠키의 단점을 상쇄합니다.

JWT

데이터를 교환하고 관리하는 데 사용되는 쿠키/세션과 달리 JWT는 단순히 데이터를 표시하는 방법입니다. JWT는 사용자를 인증하고 식별하는 데 사용되는 토큰 기반 인증입니다. 세션과 달리 JWT는 서버가 아닌 클라이언트에 저장되므로 서버 부담이 줄어듭니다.

JWT에는 header.payload.signature 형식의 세 가지 유형의 데이터가 포함되어 있습니다. 개발자가 요청한 데이터는 paload에 포함 서명을 사용하여 토큰이 변조되지 않았는지 확인할 수 있습니다. 서명이 다르면 페이로드의 데이터를 검색할 수 있지만(누구나 해독할 수 있음) 콘텐츠를 변조할 수는 없습니다.

다음주 목표

  • 트랜잭션이 무엇인지 설명하고 언제 사용해야 하는지 이해할 수 있습니다.
  • 객체 지향 프로그래밍 및 SOLID 원칙을 이해합니다.
  • 3계층 구조의 개념과 각 계층의 구성요소를 이해할 수 있다.
  • 빠르게 Lv 4 과제를 완료하고 Lv 5 과제를 완료하세요!
  • Lv5 할당을 실행하는 동안 암호 암호화, 오류 처리 미들웨어 및 오류 로깅 적용

지난주 목표 달성하셨나요

  • Lv 2 과제를 빠르게 완료하고 Lv 3 과제를 완료하십시오!!! : 완벽한
  • Git을 사용하면서 프로젝트 버전 관리하기: 아직은 조금 어리둥절하지만 열심히 하고 있어요
  • JWT가 무엇인지 이해하고 쿠키 및 세션을 구현할 수 있습니다.

JWT, 쿠키 및 세션의 개념적 부분을 이해하지만 직접 구현하려고 할 때 약간 비틀거렸습니다. 어떤 경우에는 JWT를 사용해야 하고 어떤 경우에는 Session을 사용해야 하는지 좀 더 알아보고 새로고침 토큰과 엑시트 토큰을 함께 공부해야겠습니다.

  • MySQL의 테이블 간의 관계를 이해하고 설계합니다.

테이블간 관계 설정 방법은 ERD로 설계가 가능하지만 마이그레이션 파일과 모델 파일을 바꿀 때 조금 아픕니다… 더 해보면 익숙해지겠죠…

  • 마이그레이션 및 모델 파일의 역할을 이해할 수 있습니다.

마이그레이션 파일은 데이터베이스에 테이블을 생성하는 역할을 하고, 모델 파일은 테이블 간의 관계를 기반으로 데이터와 테이블을 연결하는 역할을 합니다!!

  • Sequelize로 CRUD를 구현할 때 적절한 방법을 사용하여 코드로 구현할 수 있습니다.

CRUD를 적절하게 사용하고 구현하는 데 익숙해진 것 같습니다!