본문 바로가기

728x90
반응형

Back-end & Server

(52)
[Node.js] Express.js Node.js로 웹 서버에 필요한 기능을 하나하나 다 짜면, 귀찮은것들(Routing, Session, ...)이 많다. Node.js 웹 프레임워크(Express, Koa, Hapi)를 사용하면 간편하게 웹 서버를 구축 할 수 있다. Express는 npm으로 설치할 수 있다. npm install express Express 서버 생성 서버를 만드는 코드를 살펴보자. const express = require('express'); const app = express(); // 루트 URL에 대한 라우트 정의 app.get('/', (req, res) => { res.send('안녕하세요!'); }); // 서버를 3000번 포트로 시작 const port = 3000; app.listen(port, ..
[Node.js] 클라이언트 클라이언트 서버 일반적인 웹의 통신 구조는 다음과 같은 형태이다. 클라이언트(Frontend)와 서버(Backend)가 요청과 응답을 주고 받으면서 서로 통신을 한다. 이때 1:1, 1:N , N:N 형태로 클라이언트와 서버를 구성할 수 있다. 서버 Node.js로 웹 서버를 작성해보자. ex. 웹 서버는 클라이언트가 접속 시 html 파일을 응답으로 전달한다. const http = require("http"); const fs = require("fs"); const server = http.createServer((req, res) => { if (req.url === "/") { // 클라이언트가 루트 페이지에 접속할 때 index.html 파일을 읽어서 응답으로 전송 fs.readFile("./..
[Node.js] Event Loop Node.js에서는 Event를 많이 사용한다. 이 Event 덕분에 다른 비슷한 기술에 비해 빠른 속도를 가진다. 이벤트 위주 (Event-Driven) 어플리케이션의 동작을 살펴보면 다음과 같다. 여기서 Event가 Callback과 비슷해 보일 수 있지만 Callback은 비동기식 함수에서 결과를 반환할 때 호출되지만, 이벤트핸들링은 옵저버 패턴(Observer Pattern)에 의해 작동된다. 옵서버 패턴 - 위키백과, 우리 모두의 백과사전 위키백과, 우리 모두의 백과사전. 옵서버 패턴(observer pattern)은 객체의 상태 변화를 관찰하는 관찰자들, 즉 옵저버들의 목록을 객체에 등록하여 상태 변화가 있을 때마다 메서드 등을 통해 객체 ko.wikipedia.org 이벤트를 대기 하는 함수..
[Node.js] Callback Function JavaScript에서 함수는 일급 객체로 Object 타입이며 다른 일급객체(String, Array, Number, ...)와 동일하게 사용할 수 있다. 이 중 Callback Function은, 특정 함수에 매개변수로서 전달된 함수를 지칭한다. 그리고 Callback Function은 함수를 전달받은 함수 안에서 호출되게 된다. 예시 server.listen(port, hostname, ()=>{ console.log("나는 콜백 함수"); }); 여기서 매개변수로 전달된 () => {console.log("나는 콜백 함수")} 가 Callback Function이다. 콜백 함수 사용의 이유 Node.js에서는 Callback 함수가 매우 많이 사용된다. 그 이유는 Non-Blocking I/O 때..
[Node.js] index.js 파해쳐보기 Index.js Node.js 프로젝트를 생성하고 Backend Server를 구동 시킬 때 예시 코드이다. 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"); }); server.listen(port, hostname, () => { console.log(`Server running at http://${hostname}:${port}/`); }); 이 코드를 하나하나..

728x90
반응형