본문 바로가기

나의 개발일지/node.js5

nodejs(expressjs) 환경변수 validation NestJS의 ConfigModule을 접하고 expressjs로 만들었던 프로젝트에도 환경변수 유효성 검사와 기본값 설정을 추가해 봐야겠다고 생각하고 실행해 보았다. 왠지 라이브러리가 있을 것 같아 찾아보니 환경변수 유효성 검사와 기본값 설정 등을 할 수 있는 envalid라는 라이브러리가 있었지만 추가로 라이브러리를 깔고 싶지는 않아서 기존에 데이터 검증을 위해 설치했던 joi 라이브러리를 사용하였다. [npm envalid] https://www.npmjs.com/package/envalid envalidValidation for your environment variables. Latest version: 8.0.0, last published: 5 months ago. Start using en.. 2024. 2. 14.
NestJS 환경변수 관리 - process.env보단 ConfigModule을 Express.js를 사용할 땐 Node.js 내장 객체인 process 객체로 환경 변수를 관리했어서 NestJS의 ConfigModule을 접했을 땐 왜 process.env를 두고 ConfigModule을 사용하는 건지 아리송했다. 왜 굳이..? 하지만 굳이 ConfigModule이란 걸 만든 데에는 이유가 있지 않을까 싶어서 개인 블로그 만들기 프로젝트를 하며 이것저것 시도해 보았다. Configuration namespaces(app, db, secret 등으로 세분화해서 관리)까지 적용했다가 현재는 후퇴한 상태다. class에 주입해서 사용하는 거 말고 일반 함수에서는 어떻게 해야 좋을까 고민하다가 일단 process.env로 접근하는 걸로 수정했다. redis 연결 부분을 함수로 export.. 2024. 2. 7.
[nodejs | 노드js] package.json ▼ package.json npm에서 핵심적인 역할을 하며, 패키지에 관한 정보와 의존 중인 버전에 관한 정보를 담고 있다. 패키지 내의 의존성 관리를 위해 프로젝트마다 생성하여 패키지 목록과 버전을 관리한다. 프로젝트명, 버전, 만든 사람, GitHub 레포지토리 등 설치된 모듈의 정보가 담겨 있으며, 해당 프로젝트가 의존하고 있는 모듈이 무엇인지 파악할 수 있다. 누군가의 프로젝트를 클론할 때에도 유용하게 쓰인다. npm install 명령어만 이용하면 package.json 파일의 정보를 읽어 필요한 라이브러리를 모두 설치할 수 있다. { "name": "zerocho-blog", "version": "2.8.1", "description": "blog of ZeroCho", "private": t.. 2022. 7. 31.
[nodejs | 노드js] 모듈(module), 내장 객체 ▼ 모듈 특정한 기능을 하는 함수나 변수들의 집합 자바스크립트에서 코드를 재사용하기 위해 함수로 만드는 것처럼 모듈을 만들어 여러 프로그램에서 해당 모듈을 재사용 할 수 있다. 여러 파일에 걸쳐 재사용 되는 함수나 변수를 모듈로 만들어 두어 편리하게 관리할 수 있지만, 모듈이 많아지고 모듈 간의 관계가 얽히게 되면 구조를 파악하기 어렵다는 단점도 있다. require 함수나 module 객체는 따로 선언하지 않아도 사용할 수 있는 이유 : 노드에서 기본적으로 제공하는 내장객체이기 때문. cf) 자바스크립트 자체 모듈 시스템 문법 : 2015년 자바스크립트에서도 import/export라는 모듈 개념이 도입 되었지만, 브라우저에서는 구현 되지 않아 사용할 수 없었다가 크롬 60 버전부터 사용할 수 있게 되.. 2022. 7. 27.
[nodejs | 노드js] node.js란? node.js 공식문서를 보자! 영어지만.. 우리에겐 파파고가 있다! Node.js is an open-source and cross-platform JavaScript runtime environment. It is a popular tool for almost any kind of project! 그렇다 node.js는 서버가 아니다. 자바스크립트 런타임이다! Node.js runs the V8 JavaScript engine, the core of Google Chrome, outside of the browser. This allows Node.js to be very performant. 구글 크롬의 V8 자바스크립트 엔진을 사용해 그 위에서 돌아가는 JS 런타임(실행기라 보면 됨) -> V8 .. 2022. 6. 28.