반응형
반응형
1.Intro타입스크립트 환경의 프로젝트를 개발하면서 날짜 처리를 위해 가볍고 강력한 dayjs 라이브러리를 도입했습니다.로컬에서 개발할 때는 dayjs().format()을 찍으면 한국 시간으로 아주 잘 나옵니다.console.log(dayjs().format()); // 출력: 2023-10-27T14:00:00+09:00 그런데 이 코드를 AWS나 Docker 같은 서버 환경에 배포하면 시간이 9시간 느리게(UTC 기준) 나오는 문제가 발생합니다.2.원인분석이유는 아주 간단합니다. day.js의 시간을 어떻게 가져오냐를 알면 답은 아주 쉬워집니다. day.js는 기본적으로 시스템의 시간을 가져오게 되어있습니다.내 컴퓨터 (Local): 윈도우 설정이 '서울'로 되어 있음 -> KST (+09:00)..
이전시리즈 보기https://gapal.tistory.com/71 Nest.js 라이프사이클 완전 정복 (1/3)- 모듈 초기화 단계(Initialization Phase)Nest.JS를 사용하다보면 서비스나 모듈이 언제 생성되고 언제 실행되는지 모를때가 있습니다. 그런 경험이 있다면 Nest.js의 라이프 사이클을 잘 모르기 때문일거라 생각합니다.그렇다면 과연 Nest.jgapal.tistory.comhttps://gapal.tistory.com/84 NestJS 라이프사이클 (2/3): 가드, 파이프, 인터셉터! 요청이 Controller를 통과하는 7단계이전 포스팅에서 onModuleInit()으로 초기 설정이 끝났으며 Nest.js에서 모듈 초기화가 끝났으면 다음 단계로 넘어가게 됩니다!(모듈 초..
※"esModuleInterop"와 "allowSyntheticDefaultImports" 란?"esModuleInterop": true와 "allowSyntheticDefaultImports": true는 모두 CommonJS 모듈을 ESM import 문법으로 가져오는 과정에서 발생하는 호환성 문제를 해결하기 위해 사용되지만, 각각 하는 역할과 범위가 다릅니다.간단히 말해, esModuleInterop이 실제 코드(JavaScript)에 개입하여 문제를 해결한다면, allowSyntheticDefaultImports는 타입 검사(TypeScript) 단계에서만 개입하여 오류를 숨겨줍니다.1. allowSyntheticDefaultImports이 옵션은 TypeScript가 타입 검사를 수행하는 방식에..
node.js nest.js 의 환경에는 commonJs, ESM이라는 모듈 참조방식 2가지가 있습니다.이는 Node.js 환경에서 개발을 하려면 알아야하는 방식인데 해당 내역들을 자세히 알아보겠습니다.CommonJSCommonJS는 JavaScript를 서버 사이드(Node.js)나 데스크톱 환경 등 브라우저 외의 환경에서 사용할 수 있도록 모듈 시스템을 표준화하려는 프로젝트 및 사양입니다. CJS의 핵심은 모듈을 동기적(Synchronous)으로 로드하여, 파일에서 필요한 모듈을 즉시 가져와 사용할 수 있도록 하는 것입니다.등장 배경 및 시기등장 시기: 2009년경 (원래 이름은 ServerJS였음)목표: 당시 웹 브라우저 외의 환경(서버, 명령줄 도구)에서 JavaScript를 사용할 때 표준화된 ..
Nest.js에서 스웨거를 사용할 때 JWT토큰을 사용하여 인증 인가를 구현하고 테스트하고 싶을 때가 있습니다.다른 프레임워크나 언어에서도 되는것 처럼 Nest.js 환경에서도 해당 기능을 지원하고 있습니다.아래와 같이 공식문서에도 나와 있는데 이 토큰을 어떻게 스웨거 문서에서도 전달하고 테스트하는지 같이 설정해보도록 하겠습니다.https://docs.nestjs.com/openapi/security?utm_source=chatgpt.com Documentation | NestJS - A progressive Node.js frameworkNest is a framework for building efficient, scalable Node.js server-side applications. It use..