nodeJS (7) 썸네일형 리스트형 [Node.js] Router 객체로 라우팅 분리 Router 라우터를 만들 때는 요청 메서드와 주소 별로 분기 처리를 하느라 코드가 매우 복잡했습니다. if 문으로 분기하면서 코딩했기 때문에 보기에도 좋지 않고 확장하기도 어려웠습니다. 익스프레스를 사용하는 이유 중 하나는 바로 라우팅을 깔끔하게 관리할 수 있다는 점입니다. app.js에서 app.get 같은 메서드가 라우터 부분입니다. 라우터를 많이 연결하면 app.js 코드가 매우 길어지므로 익스프레스에서는 라우터를 분리할 수 있는 방법을 제공합니다. routes 폴더를 만들고 그 안에 index.js와 user.js를 작성합니다. // routes/index.js const express = require('express'); const router = express.Router(); // GET.. [Node.js] 예외 처리하기 노드에서는 예외처리가 정말 중요합니다. 예외란 보통 처리하지 못한 에러를 말합니다. 이러한 예외들은 실행 중인 노드 프로세스를 멈추게 만듭니다. 멀티 스레드 프로그램에서는 스레드 하나가 멈추면 그 일을 다른 스레드가 대신합니다. 하지만 노드의 메인 스레드는 하나뿐이므로 그 하나를 소중히 보호해야합니다. 메인 스레드가 에러로 인해 멈춘다는 것은 스레드를 갖고 있는 프로세스가 멈춘다는 뜻이고, 전체 서버도 멈춘다는 뜻과 같습니다. 아무리 신중을 기해 만들었다고 해도 항상 예기치 못한 에러는 발생하는 법입니다. 따라서 에러를 처리하는 방법을 익혀둬야 합니다. 에러 로그가 기록되더라도 작업은계속 진행 될 수 있도록 말입니다. 문법상의 에러는 없다고 사정하겠습니다. 실제 배포용 코두에 문법 에러가 있어서는 안 됩.. [NodeJS] express 설치 npm i express npm i -D nodemon 항상 package.json을 제일 먼저 생성해야합니다. package.json을 생성해주는 npm init 명령어를 콘솔에서 호출해 단계적으로 내용물을 입력해도 되고 npm init -y를 입력해 파일을 만든뒤 내용을 수정해도 됩니다. version, description, author, license는 원하는대로 자유롭게 수정해도 괜찬습니다. package.json { "name": "nodeexpress", "version": "1.x.x", "description": "", "main": "index.js", "scripts": { "test": "echo \"Error: no test specified\" && exit 1", "sta.. [Node.js] Net 모듈 Net 모듈 사용해보기 NodeJS에서 기본적으로 제공하는 '내장모듈' path fs net const net = require("net") console.log(net) send vs sendFile send : 매개변수에있는 내용을 그대로 body에 담아서 보내는 역할이다 sendFile : 특정파일에있는 내용을 버퍼로 읽은 다음에, 그 내용을 바디로 만들어서 보내는것 파일을 읽는 메서드 읽은 파일의 내용을 response message를 만드는 코드 readFile fs(File System) 의 약자로, fs모듈을 설치하면 PC의 파일을 읽거나 저장하는 등의 일을 할 수 있게 도와준다. node.js 에는 컴퓨터의 계산기 기능, 메모장 기능 처럼 기본적으로 세팅되어있는 내장 모듈이 있다. 자바스크.. [Node.js] 통신(네트워크) "네트워크 공부 할때는 우선 실시간 ,연동, 연결 이라는 말을 생략하고 설명 할 줄 알아야한다." 소켓이란 인터넷 소켓은 네트워크로 연결되어 있는 컴퓨터의 통신의 접점에 위치한 통신 객체다. 네트워크 통신을 위한 프로그램들은 소켓을 생성하고, 이 소켓을 통해서 서로 데이터를 교환한다. 소켓은 RFC 147에 기술사항이 정의 되어 있다. 인터넷 소켓은 다음과 같은 요소들로 수성되어 있다. 인터넷 프로토콜(TCP, UDP, raw IP) 로컬 IP주소 로컬 포트 원격 IP주소 원격 포트 맥 어드레스(Mac Address) 와 IP 주소 맥(mac)은 미디어 엑세스 컨트롤(Media Access Control) 이다. 통신할 하드웨어 장비를 식별 할 수 있는 고유 주소다. 내 PC나 노트북, 스마트폰은 어떻게.. [Node.js] 내장 모듈 , require Require 이번엔 모듈을 불러오는 require에 대해 알아봅시다. require는 함수이고, 함수는 객체이므로 require는 객체로서 속성을 몇 개 갖고 있습니다. 그중에서 require.cache 와 require.main을 알아보도록 하자 var.js가 있는곳에 require.js를 만들어보자 // require.js console.log('require가 가장 위에 오지 않아도 됩니다.'); module.exports = '저를 찾아보세요'; require("./var"); console.log('require.cache 입니다'); console.log(require.cache); console.log('require.main 입니다'); console.log(require.main); /.. NodeJS 기초 , 정의 NodeJs 공부 목표 웹서버를 만들수 있는 사람 데이터베이스를 이해할 수 있는 사람 네트워크를 어느정도 이해되는 사람 NodeJS 정의 Node.js는 Chrime V8 Javascript 엔진으로 "자바스크립트 런타임" 입니다. 즉 내 컴퓨터(로컬) 자원을 사용 하기 위함이다. ↘ 비교를 해보자면 JS 의 Import 의 처리 과정이라 할 수 있다. JS 자체가 파일을 입출력 할 수 있는 능력이 없다. 그래서 컴퓨터를 조작하는 방법중 하나가 Node.js이다. 즉 node.js는 서버만 만들수 있는 아이가 아니다. 서버 노드를 통해 다양한 자바스크립트 애플리케이션을 실행할 수 있지만, 노드는 서버 애플리케이션을 실행하는 데 제일 많이 사용합니다. 즉 서버는 네트워크를 통해 클라이언트에 정보나 서비스를.. 이전 1 다음