본문 바로가기

node

(7)
Node.js 파라미터 전달 (Param, Path, Body, Header) NodeJS에서 파라미터를 받아볼게요. http 통신에 대한 기초적인 개념이 있으셔야 하구요. 1. 파라미터 받기 (Parameter) http://localhost:3000/users?userId=gofnrk&password=1234 요런식으로 파라미터를 전송해볼게요. router.get('/', function(req, res, next) { let { userId, password } = req.query; console.log(userId); console.log(password); res.send('respond with a resource'); }); 2. 경로를 변수로 받기 (Path Variable) http://localhost:3000/users/gofnrk 요렇게 호출했을 때 gofn..
Node.js 재시작 없이 반영, 자동 재시작 (Supervisor) 바로 본론으로 들어갈게요. Supervisor(슈퍼바이저) 설치 npm install supervisor -g 원래 node app.js 요렇게 실행을 시켰죠. Supervisor를 설치해서 사용할 때는 supervisor app.js 요렇게 Node를 실행해주면 됩니다. supervisor app.js npm start로 실행하고 계신다면 package.json을 열어보세요. node 실행 명령어가 있을겁니다. 그걸 supervisor로 수정해주면 끝! 저는 express-generator로 프로젝트를 만들어서 node ./bin/www로 되어있었네요. 수정하고 실행하겠습니다. "start": "supervisor ./bin/www" 소스 코드를 수정하고 저장할 때마다 요런 문구가 뜰거에요. crash..
Node.js 코딩 패턴 (Routes-Controllers-Services 구조) 서버 개발을 하다보면 코드의 특성별로 소스 파일을 나누게 되어있어요. Node도 마찬가지에요. 처음에 잘 구조를 잡아두면 유지보수할 때 큰 이득을 볼 수 있어요. 구조만 잘 잡아줘도 Node에서도 충분히 복잡한 비즈니스를 말끔하게 볼 수 있습니다. 반대로 매우 간단한 로직을 나눠버리면 비효율적인 작업이 될 수도 있으니 잘 판단해서 디자인해야되요. 우선, 기본으로 사용할 수 있는 Routes-Controllers-Services 구조로 게시판 CRUD 예제를 구현해볼게요. board-route var express = require('express') var router = express.Router() const BoardController = require('../controllers/board-con..
Node.js MySQL Transaction(트랜잭션) 노드에서 mysql 모듈을 사용할 때 트랜잭션 처리하는 방법에 대해서 알아볼게요. 아직 mysql을 연동하지 않았다면 이 글을 먼저 참고해주세요. https://gofnrk.tistory.com/61 Node MySQL 연동 (Express) Node.js에서 MySQL을 연동해볼게요. 연동하고 select, insert, update, delete 쿼리까지 실행시켜 볼거에요. 연동하고 사용하는 것 자체는 매우 간단해요. 우선, mysql2 모듈을 설치해줍니다. npm i mysql2 pool.j.. gofnrk.tistory.com 트랜잭션 예제는 게시글 댓글(board_comment)에 INSERT 하고, 게시글(board)에 댓글 수를 +1 UPDATE 해줄거에요. board와 board_comme..
Node.js MySQL 연동 (Express) Node.js에서 MySQL을 연동해볼게요. 연동하고 select, insert, update, delete 쿼리까지 실행시켜 볼거에요. 연동하고 사용하는 것 자체는 매우 간단해요. 우선, mysql2 모듈을 설치해줍니다. npm i mysql2 pool.js const mysql = require('mysql2/promise') const pool = mysql.createPool({ host: 'localhost', port: 3306, user: 'demouser', password: 'demo12#$', database: 'demo_db', connectionLimit: 10 }) module.exports = pool router 쿼리를 어떻게 사용하는지 볼 수 있도록 아주 간단하게 CRUD 기..
Node.js Express 설치 (express-generator) Express.js는 Node.js를 기반으로 하는 웹 프레임워크에요. 해외는 잘 모르겠지만 국내에서는 Node로 개발했다고 하면, 대부분 Express 구조로 짜여있다고 봐도 무방해요. 많이들 Spring Framework와 Node를 비교하는데 사실 Spring은 Express와 비교하는게 맞아요. Node는 프레임워크가 아니라 소프트웨어 플랫폼이라고 봐야하기 때문이죠. 이 글에서는 Express를 설치하고 제대로 동작하는지 테스트까지 해보려고 해요. 기본적으로 Node.js가 설치되어야 하기 때문에 설치되어있지 않다면 먼저 노드를 설치해주세요. https://gofnrk.tistory.com/32 NVM 설치, Node 버전 관리 (Windows / Mac) NVM이란? (Node Version M..
NVM 설치, Node 버전 관리 (Windows / Mac) NVM이란? (Node Version Manager) 말그대로 노드 버전 관리자에요. 마땅히 설명할게 없네요. 어떠한 도구로 개발하다보면 버전을 교체하거나 여러 버전을 관리해야 하는 경우가 생겨요. node도 마찬가지에요. nvm을 활용하여 node를 버전 별로 설치하고 관리하는 방법을 알아보겠습니다. for Windows ...더보기 https://github.com/coreybutler/nvm-windows/releases coreybutler/nvm-windows A node.js version management utility for Windows. Ironically written in Go. - coreybutler/nvm-windows github.com 1. 위의 URL로 접속하면 아래의 ..