본문 바로가기

전체 글

(120)
인증 인가 방식 비교 📌 서버기반 인증(session) 서버에 세션을 만들어 사용자에 대한 정보를 저장, 관리 한다. 사용자 브라우저(클라이언트)에는 세션ID 를 저장하는 쿠키가 생성된다. 서버는 이 세션ID를 통해 사용자를 식별한다. 클라이언트가 어떤 요청을 보낼 때마다 헤더에 cookie에 대한 세션 id를 담아 전송 서버는 클라이언트 에서 보낸 세션id를 대조해 인증 상태를 확인함. 장점 쿠키가 노출되더라도 쿠키 자체(세션ID)는 유의미한 값을 가지고있지 않다. 사용자들은 각각 고유의 세션ID값을 발급받게 되어, 서버에서 쿠키 값을 받았을 때 회원정보를 하나하나 확인할 필요없다. 단점 쿠키가 탈취되어 서버에 요청을 보낸다면 서버는 인증된 사용자인지, 해커인지 구별할 방법이 없다. 📌 토큰기반 인증(JWT) JSON We..
Nestjs & Docker & Github Action 활용 자동 배포 구축하기 📌 CICD 란 ? CI (Continuous Integration) : 지속적 통합. 생성 및 수정 코드들이 자동으로 Test → Build 하는 과정을 자동화 CD (Continuous Deploy) : 지속적 배포. CI 이후 배포 환경까지 전달해 자동 배포하는 과정을 자동화 목적 : Test하여 정상적인 코드가 Deploy 되는 것인지 확인하는 절차를 거치고 → Build하고 → ghcr 에 Deploy 된 이미지를 Github Action Runner를 적용해 자동 배포되도록 구성하시오. 📌 Dockerfile 만들고 테스트해보기 Dockerfile 작성 # Match with my local Node Version FROM node:16-alpine # RUN mkdir -p /app WORK..
[AL&DS] 팩토리얼 func fact(n int) int { if n == 0 { return 1 } return n * fact(n-1) }
[AL&DS] 피보나치 func fibonacciNumbers(n int) int { //기저조건 if n