JWT(JSON Wen Token) 백엔드 개발자라면 지구 끝까지 따라와 묻게 되는 용어 JWT 알고나면 별로 어려운 용어는 아니지만 처음에 배울 때는 많이 힘들게 하는 친구중 하나입니다. 해당 글에서는 JWT에 대한 내용을 별도로 다루고 있지 않습니다. 그러므로 JWT에 대한 내용을 공부하시고자 한다면 아래 글을 참고 해주시기 바랍니다. JWT(JSON Web Token) JWT JWT는 유저를 인증하고 식벽하기 위한 인증 방식이다. 토큰은 세션과는 달리 서버가 아닌 클라이언트에 저장되기 때문에 메모리나 스토리지 등을 통해 세션을 관리했던 서버의 부담을 덜 수 jamesblog95.tistory.com Token 발급 하기 발급을 해주기 위해서는 기본적인 jwt 설정이 필요로 합니다. /src/auth..
도커 이미지 구조 ubuntu는 layer A > layer B > layer C 순서대로 쌓여서 이미지가 생성됩니다. nginx는 ubuntu 기반으로 만들어지고 마지막에 nginx만 쌓이는 구조입니다.. web app은 nginx 이후에 쌓이는 형태를 가집니다. docker image inspect nginx:latest // 아래와 같이 layer가 쌓인 것을 배열값으로 볼 수 있습니다. "RootFS": { "Type": "layers", "Layers": [ "sha256:d310e774110ab038b30c6a5f7b7f7dd527dbe527854496bd30194b9ee6ea496e", "sha256:eb7e3384f0ab3a08dd0163ab66625d954e511e8fa112c09923e..
STDOUT / STDERR App Container에서 나오는 표준 출력과 표준 에러를 logging driver를 활용하여 표출하고 있습니다. 명령어 컨테이너를 로그를 볼 수 있는 명령어. docker log ${con-id} 마지막 로그의 5개만 보는 명령어. docker log --tail 5 ${con-id} 실시간으로 컨테이너 로그를 보는 명령어. docker log -f ${con-id} 실시간으로 보면서 타임스탬프를 찍어주는 명령어. docker logs -t -f ${con-id} 로그 용량 제한하기 컨테이너 단위로 로그 용량 제한을 할 수 있지만, 도커 엔진에서 기본 설정을 진행할 수 있습니다. 한 로그 파일당 3mb, 최대 5개의 파일로 로테이팅하는 명령어 입니다. docker run..
도커 레이어 아키텍처 Image Layer dockerfile 기준으로 이미지가 빌드 됩니다. 읽기 전용으로 가동이 됨. 총 5개의 레이어 기준으로 빌드가 됩니다. Layer 1: Ubuntu 관련된 내용을 저장 Layer 2: apt 변경된 내용을 저장 Layer 3: 파이썬 코드 관련된 내용 저장 Layer 4: 소스 코드를 저장 Layer 5: Entry Point를 저장 Container Layer 쓰기 전용 레이어를 말함. 컨테이너를 종료시 삭제가 됨. 호스트 볼륨 호스트의 디렉토리와 도커 컨테이너 디렉토리를 1:1 매칭 하여 연결하는 방법을 의미합니다. docker run -d \ --name nginx \ -v /opt/html:/usr/share/nginx/html \ nginx 볼륨 컨테..
Swagger Swagger는 서버와 상호작용이 가능한 API 들을 문서화 하여 제공하는데 사용되는 라이브러리 입니다. 해당 라이브러리를 사용하면 간단하게 서버에 요청을 보내 볼 수 있고 어떤 값을 필요로 하는지, 그리고 어떤 값이 반환이 되는지 문서를 통해 알 수 있습니다. Swagger 설치 npm install @nestjs/swagger swagger-ui-express 모듈 설정 import { SwaggerModule, DocumentBuilder } from '@nestjs/swagger'; // ... 기존 코드 ... async function bootstrap() { const app = await NestFactory.create(AppModule); // Swagger 옵션 설정 c..
Swagger Swagger 는 서버의 자원을 사용하기 위해 제공 되는 API를 문서화를 하도록 해주는 라이브러리 입니다. 해당 라이브러리를 잘 정리를 해둔 상태라면 다른 서버 또는 개발에 유용하게 사용 될 수 있습니다. 그리고 자동적으로 데이터 변경을 감지하고 문서를 변경해줌으로서 이전에 Express.js 보다 좀 더 편리하게 문서를 작성할 수 있습니다. 해당 글에서는 기본적인 Swagger 사용법은 언급하지 않고 있으니 Nest.js 의 Swagger 기본 설치 및 문법을 보시려면 다른 글을 참고해주세요. Decorator 작성 Decorator 는 자바의 Annotation 과 같은 기능을 제공하고 있습니다. 커스텀 데코레이터를 생성을 하고 해당 데코레이터를 반복적으로 사용하는 환경을 만들어 줍니..