Node.js DB설정정보를 아래와 같이 config파일로 분할하여 gitignore하여 형상관리를 하지 않는 방법으로 민감정보 노출을 막아왔다. { "development": { "username": "user", "password": "12345", "database": "DADARI_DB", "host": "127.0.0.1", "dialect": "mysql", }, "test": { "username": "user", "password": "12345", "database": "DADARI_DB", "host": "127.0.0.1", "dialect": "mysql", }, } 하지만 최근 프로젝트에 GIt Actions기능을 이용하여 CI/CD환경을 구축하고자 하여 원격 git reposit..
1. Node Project 생성 CI를 진행할 노드 프로젝트를 준비함. 2. Workflow 생성 CI를 진행할 레포의 Actions클릭 후 Node.js Configure 클릭. yml 파일 작성 name: Node CI Example on: push: branches: [ "main" ] pull_request: branches: [ "main" ] jobs: build: runs-on: ubuntu-latest steps: - uses: actions/checkout@v3 - name: Use Node.js 17.x uses: actions/setup-node@v3 with: node-version: 17.x cache: 'npm' - run: npm ci - run: npm test env: D..
Error sequelize을 통해서 test시 테이블을 생성하기 위해서 app.js 에서 아래와 같이 설정함. db.sequelize .sync({ force: false }) // true : 테이블을 재생성 .then(() => { console.log('데이터베이스 연결 성공'); }) .catch((err) => { console.error(err); }); 그리고 테스트데이터를 사전에 insert하기 위해서 테스트코드(.spec.js)의 before에 아래와 같이 작성 const request = require('supertest'); const app = require('../app.js'); describe('GET /categories는', () => { const category = [..
npm이란? Node Package Manager(혹은 Node Package Module)의 줄임말로써 Node.js의 패키지를 관리할 수 있는 도구이다. 또한 npm을 사용하여 패키지를 공유하는 온라인 패키지 저장소의 이름이기도 하다. 한마디로 우리 프로그렘에 필요한 다양한(미리 만들어진) 모듈들을 관리하고 우리가 쉽게 사용할 수 있도록 도움을 주는 도구이다. npm 프로젝트 초기화 우리의 프로젝트에서 npm에서 관리되는 모듈들을 사용하기 위해서 초기화 작업이 필요함. npm init 프로젝트 루트에서 위 명령어를 실행하면 아래 그림처럼 node_modules디렉토리와 package.json이라는 파일이 생성됨. node_modules : 프로그램에 필요한 실제 모듈들이 위치함. package.jso..
익스프레스란 Express는 웹 및 모바일 애플리케이션을 위한 일련의 강력한 기능을 제공하는 간결하고 유연한 Node.js 웹 애플리케이션 프레임워크이다. 쉽게 말해 Node.js를 이용하여 웹개발을 할 때 도움을 주는 프레임워크이다. 익스프레스(ExpressJS) 설치 npm install express 익스프레스(ExpressJS)를 제대로 알기 위한 5가지 개념 어플리케이션 미들웨어 라우팅 요척객체 응답객체 어플리케이션 익스프레스 인스턴스 객체를 의미함 서버에 필요한 기능인 미들웨어를 어플리케이션에 추가할 수 있음. 라우팅 설정을 할 수 있음. 서버를 요청 대기 상태로 만들수 있음. 익스프레스 인스턴스 생성 : const express = require('express'); const app = e..
Node 서버를 이용하여 Hello world 출력하기 helloword.js const http = require('http'); const hostname = '127.0.0.1'; const port = 3000; const server = http.createServer((req, res) => { res.statusCode = 200; res.setHeader('Content-Type', 'text/plain'); res.end('Hello World!\n'); }); server.listen(port, hostname, () => { console.log(`Server running at http://${hostname}:${port}/`); }); node서버 실행 % node hellowo..
Node.js 지금까지 회사, 개인프로젝트를 진행할 때, 스프링을 항상 이용해왔었지만, 새로운 토이프로젝트에서는 Node.js를 이용해보고자 합니다. 그래서 먼저 Node.js를 공부하기 위해 인프런의 우아한형제들에서 개발하고 계신 김정환님의 강의를 수강하며 내용을 정리해 보고자 합니다. 인프런의 [테스트주도개발(TDD)로 만드는 NodeJS API 서버] 강의 https://www.inflearn.com/course/%ED%85%8C%EC%8A%A4%ED%8A%B8%EC%A3%BC%EB%8F%84%EA%B0%9C%EB%B0%9C-tdd-nodejs-api/dashboard 테스트주도개발(TDD)로 만드는 NodeJS API 서버 - 인프런 | 강의 이 강의에서는 Javascript 언어로 백엔드 개발을..