본문 바로가기

Node.js

(5)
Module System 읽어보기: https://mong-blog.tistory.com/entry/JSModule-CommonJS%EC%99%80-ES-Modules%EB%8A%94-%EB%AC%B4%EC%97%87%EC%9D%BC%EA%B9%8C Javascript Module System 1. Native Modules(&module pattern): ES6 import&export 2. External Modules : AMD , CommonJS https://d2.naver.com/helloworld/12864 *CommonJS -Node.js 환경에서만 실행된다 (브라우저 환경에서는 실행되지 않음!) -export 객체는 노드 환경에서 존재하는 자바스크립트 객체이다 export.addToCart = function (..
[Web Server] Express 개요 -Node.js의 프레임워크인 Express를 이용하여 이전에 node.js로 작성한 서버를 리팩토링한다. -Express는 Node.js 환경에서 웹 서버 및 API를 조금 더 편리하게 구축하기 위해서 사용된다. -Express의 핵심 기능은 MiddleWare와 Router이다. 1. Express -Basic structure (https://expressjs.com/en/starter/hello-world.html) const express = require('express'); const app = express(); // express의 인스턴스인 app은 서버를 시작하고 포트 3000번을 연결한다. const port = 3000; app.get('/', (req, res) => {..
[Web Server] CORS 1. SOP -동일한 출처의 리소스만 서로 공유가 가능하다는 정책(Same Origin Policy)이다. -여기서 Origin(출처)이란 URL에서 리소스(end point) 이전까지 부분, 즉 protocol+host+port의 조합을 말한다. -이 셋 중에서 하나라도 일치하지 않으면 해당 리소스는 서로 다른 출처를 갖는다고 말할 수 있다. -SOP는 보안상의 이유로 만들어졌으며 모든 브라우저에서는 기본적으로 SOP를 통해 안전하게 인터넷을 사용할 수 있게 한다. -하지만 SOP는 다른 사이트의 컨텐츠에 접근할 수 없게 되는 제약을 야기한다. -그런데 현재 많은 웹 사이트에서는 다른 사이트의 컨텐츠를 사용하고, 공유하고 있다. 이를 가능하게 해주는 것이 바로 CORS이다. 2. CORS -출처가 다른..
-Node.js- Node.js는 1. built on Chrome's V8 JS engine 2. Asynchronous event-driven 3. Designed to build scalable network applications 4. -서버 사이드 개발에 사용되는 소프트웨어 플랫폼이다. -자바스크립트 엔진 V8으로 빌드된 자바스크립트 런타임이다. -Non blocking I/O, 단일 스레드, 이벤트 기반(이벤트 루프) -내장 HTTP 서버 라이브러리를 포함한다 JavaScript Runtime이다. https://nodejs.org/ko/about/ A software platform that is used to build scalable network applications. Node.js uses JavaS..
[Web Server] HTTP Transaction 개요 -다음 node.js 공식 문서에서 제공하는 http 통신 처리에 관한 작성 가이드를 따라 직접 서버를 만들어본다. https://nodejs.org/ko/docs/guides/anatomy-of-an-http-transaction/ -Web Server 개발에 사용되는 Node.js 소프트웨어 플랫폼에는 HTTP 모듈이 포함되어 있다. - node.js와 HTTP 모듈을 이용하여 웹 서버와 API를 직접 빌드해본다. 1. HTTP Module -http 클래스로는 아래 그림과 같이 http.client, http.server, http.ClientRequest, http.IncomingMessage 등이 존재한다. -HTTP 서버의 주요 이벤트 server.on('request', fn) 클라이언..