node 7

<Node.js> express.urlencoded가 필요한 이유

🎯 { express.urlencoded } 언제 사용하나요? express 서버로 POST 요청을 할 때 input 태그의 value를 전달하기 위해 사용합니다. 무엇인가요? 요청의 본문에 있는 데이터를 해석해서 req.body 객체로 만들어주는 미들웨어입니다. 왜 사용하나요? 요청의 본문에 있는 데이터가 URL-encoded 형식의 문자열로 넘어오기 때문에 객체로의 변환이 필요합니다. cf) JSON 문자열로 넘어오는 경우 express.json() 미들웨어를 사용합니다. 어떻게 사용하나요? 예전에는 body-parser 패키지를 별도로 설치해야 했지만 express v4.16.0 부터 내장 라이브러리가 되었습니다. 1. POST 요청으로 input 태그의 값을 전달합니다(서버에서 name 속성으로 ..

<책> Node.js 교과서

🏅 노드의 A-Z를 압축적으로 배울 수 있음 (분량: 756쪽, 난이도: ★★☆☆☆) http모듈로 서버 만들기부터 배포까지 node의 전 과정을 담고 있다고 생각합니다. 특정 기능을 구현하기 위해 여러 기술이 존재하는 경우에 각각의 지면을 할애한 부분이 좋았습니다. 가령 퍼그와 넌적스, MySQL과 몽고DB를 같이 다루고 있습니다. 예제들을 따라하며 익숙해지도록 노력해야 겠습니다. 02/16 ~ 02/28 http://www.yes24.com/Product/Goods/91213376 Node.js 교과서 - YES24 Node.js 베스트셀러 1위! 전면 개정판!Node.js 14로, 노드의 기본부터 실무까지 전 과정 총망라! 다양한 서비스를 직접 만드는, 실무에 가장 가까운 강의!노드와 패키지를 최신..

<Book> 한 권으로 끝내는 Node & Express

🏅 개요 - 저자: 이선 브라운 - 역자: 한선용 - 출판사: 한빛미디어 - 가격: 25,200원 (예스24 기준) - 목차: 익스프레스 소개, 노드 시작하기, 요청과 응답 객체, 핸들바를 이용한 템플릿, 미들웨어 등등 - 난이도: ★★☆☆☆ - 추천대상: Node와 Express를 활용한 웹 개발에 입문하고자 하시는 분 요약 1. 노드, 익스프레스 뿐만 아니라 웹개발 전반을 다루고 있습니다. 2. 디버깅, 유지보수 파트까지 있습니다. 총평 노드와 익스프레스에 대한 이해를 높이기 위해 구입하였습니다. 설명이 잘 풀어져 있어서 이해하기 좋았습니다. 중반부부터 익스프레스에서 점점 멀어지는 것 같더니 웹개발 전반을 다루고 있다는것을 알게 되었습니다. 오히려 좋았습니다. 저와 같은 입문자 분들은 깊이 보다 넓이..

<Node.js> __dirname 이해하고 가기

🚀 { __dirname } 무엇인가요? "__"는 자바스크립트에서 기본적으로 정의된 변수에 붙습니다. "dirname"은 directory와 name의 합성어입니다. 현재의 파일(file)이 위치한 폴더(directory)의 절대경로(absolute path)를 알려줍니다. cf) process.cwd()는 항상 프로젝트 폴더(directory)를 반환합니다. cf) __filename은 현재 파일명을 알려줍니다. 어떻게 사용하나요? __dirname는 환경 변수(environment variable)로써 따로 정의할 필요없이 사용할 수 있습니다. // index.js console.log(`process.cwd(): ${process.cwd()}`); console.log(`__dirname: ${_..

<Node.js> TypeError: expressHandlebars is not a function

⚔️ 노드의 뷰 엔진으로 handlebars를 적용하다가 아래와 같은 에러가 발생하였습니다. TypeError: expressHandlebars is not a function const expressHandlebars = require("express-handlebars"); app.engine( "handlebars", expressHandlebars({ defaultLayout: "main", }) ); 아래 둘 중 하나로 고치면 해결됩니다. const expressHandlebars = require("express-handlebars"); app.engine( "handlebars", expressHandlebars.engine({ defaultLayout: "main"..

<Node.js> multer middleware

🐣 미들웨어란? 라우터와 컨트롤러 사이에 필요한 처리를 한다. multer란? 파일을 업로드하게 해준다. 왜 사용하는지? 파일을 업로드하기 위해서 사용한다. 어떻게 사용하는지? https://www.npmjs.com/package/multer 1. 설치 $ npm install --save multer 2. HTML form 요소 설정 (enctype 설정 중요) 3. 컨트롤러 파일 작성 const express = require('express'); const multer = require('multer'); const upload = multer({ dest: 'uploads/' }); const app = express(); app.post('/profile', upload.single('avata..

<Node.js> npm run dev 실행 속도 문제

1. 윈도우 폴더(디렉토리)에서 실행시 속도 느림 1-1. 터미널을 통해 프로젝트 폴더를 우분투 폴더로 이동 $ mv 폴더명 ~/ *mv => move(이동) *폴더명 => 해당 폴더를 *~/ => 우분투 root>home>사용자명 폴더 아래로 2. address already in use :::5000 - 이미 실행 중이라는 에러 발생 2-1. 터미널에서 프로세스 리스트 탐색을 통해 해당 포트를 사용하는 node의 PID를 찾아 강제 종료 $ lsof -i TCP:5000 *lsof -i => 활성화 중인 프로세스 리스트 탐색 $ kill -9 [PID] *kill -9 => 강제종료 *[PID] => 해당 프로세스를 ※ 참고자료 - https://jootc.com/p/201912253249 3. 사이..