본문 바로가기

728x90
반응형

node.js

(12)
[Docker] 도커로 Node.js, flask 서버 이미지 만들어 사용하기 Node.js 서버 이미지 먼저 Node.js 서버 프로젝트를 만들어야한다. npm install express npm install ejs // server.js const express = require("express"); const app = express(); let router = require("./routes/main")(app); app.set("views", __dirname + "/views"); app.set("view engine", "ejs"); app.engine("html", require("ejs").renderFile); let server = app.listen(3000, () => { console.log("Server Start!!"); }); // main.js m..
[Node.js] JWT JWT(JSON Web Token) 개요 두 개체에서 JSON 객체를 사용하여 가볍고 자가수용적인(self-contained) 방식으로 정보를 안전성 있게 전달해준다. 회원인증, 정보 교류와 같은 상황에서 사용된다. JWT는 .을 구분자로 3가지 문자열로 되어있다. 헤더(Header) 헤더는 두 가지 정보를 가지고 있다. typ : 토큰의 타입을 지정한다. alg : 해싱 알고리즘을 지정한다. 일반적으로 HMAC SHA256 또는 RSA가 사용되며, 토큰 검증 시 signature 부분에서 사용된다. ex. 예제 헤더 const header = { "typ": "JWT", "alg": "HS256" }; 정보(payload) payload 부분에는 토큰에 담을 정보가 들어 있다. 여기에 담는 정보의 한 ..
[Node.js] 토큰(Token) 기반 인증 토큰(Token) 기반 인증은 모던 웹서비스에서 정말 많이 사용되고 있다. API를 사용하는 웹 서비스를 개발한다면, 토큰을 사용하여 유저들의 인증작업을 처리하는것이 가장 좋은 방법이다. 토큰 기반 인증 시스템을 선택하는 이유 Stateless 서버 Stateful 서버 - 클라이언트에게서 요청을 받을 때 마다, 클라이언트의 상태를 계속 유지하고, 이 정보를 서비스 제공에 이용한다. Stateful 서버의 예시로는 세션을 유지하는 서버가 있다. Stateless 서버는 상태를 유지하지 않고, 서버는 클라이언트측에서 들어오는 요청만으로만 작업을 처리한다. 상태가 없는 경우 클라이언트와 서버의 연결고리가 없기 때문에 서버의 확장성(Scalability)이 높아진다. 모바일 어플리케이션에 적합 모바일 APP을..
[Node.js] 자주 쓰는 의존성 패키지 EJS 템플릿 엔진 Javascript 코드를 HTML 템플릿에 삽입하여 동적으로 HTML을 생성하는 데 사용되는 템플릿 엔진이다. 이를 통해 웹 페이지를 동적으로 생성하는 데 유용하다. 설치 방법 package.json을 업데이트 한다. 터미널에서 다음과 같은 명령어를 입력하여 npm으로 설치한다. npm install ejs 기본 문법 : Javascript 코드를 실행하는 데 사용, 이 안에는 서버 측의 데이터와 로직을 작성할 수 있다. { res.render("index", { title: "MainPage", length: 5, }); }); app.get("/list", (req, res) => { fs.readFile( __dirname + "/../../data/data1.json", "u..
[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, ..

728x90
반응형