Node.js Node.js® is a JavaScript runtime built on Chrome's V8 JavaScript engine. nodejs.org Mongoose ODM ▶ Mongoose ODM 이란? MongDB의 Collection에 집중하여 관리하도록 도와주는 패키지 → MongoDB의 Collection을 JavaScript의 model로써 만들어놓고 이 model을 통해 MongoDB의 데이터들에 쉽게 접근하고 관련 기능들을 쉽게 사용할 수 있도록 도와줌 * ODM (Object Data Modeling) : Data를 Object로 Model화하여 관리 ▶ Mongoose를 사용하는 이유 1) 연결관리 : MongoDB에서 기본 제공하는 Node.js 드라이버는 연결상태를 ..
Node.js Node.js® is a JavaScript runtime built on Chrome's V8 JavaScript engine. nodejs.org MongoDB ▶ MongoDB 란? 대표적인 NoSQL, Document DB. Mongo는 Humongous 에서 따온 말로, 엄청나게 큰 DB 라는 의미 → 대용량 데이터를 처리하기 좋게 만들어짐 ▶ NoSQL vs. RDB RDB (Relational Database) - 관계형 데이터베이스. - 자료들의 관계를 주요하게 다룸 - SQL 질의어를 사용하기 위해 데이터를 구조화해야 함 // MySQL CREATE DATABASE simple_board CREATE TABLE posts ( id NOT NULL AUTO INCREAMENT..
Node.js Node.js® is a JavaScript runtime built on Chrome's V8 JavaScript engine. nodejs.org REST API ▶ REST API 란? REST + API : REST 아키텍쳐를 준수하는 웹 API (RESTful API라고 부르기도 함) - API (Application Programming Interface) : 서비스나 프로그램 간에 미리 정해진 기능을 실행할 수 있도록 하는 규약 - REST (REpresentational State Transfer) : 웹에서 자료를 전송하기 위한 표현 방법에 대한 아키텍쳐. ▶ REST API 기본 가이드 REST를 정확하게 구현하기 위해서는 많은 제한조건이 있지만, 'URL을 통한 자원의 ..
Node.js Node.js® is a JavaScript runtime built on Chrome's V8 JavaScript engine. nodejs.org Middleware ▶ 미들웨어(Middleware) 란? HTTP 요청과 응답 사이에서 단계별 동작을 수행해주는 함수 - HTTP 요청이 들어온 순간부터 시작됨 - 미들웨어는 HTTP 요청과 응답 객체를 처리하거나 다음 미들웨어를 실행 - HTTP 응답이 마무리될 때까지 미들웨어 동작 사이클이 실행 ▶ Middleware 작성법 req, res, next 를 인자로 갖는 함수를 작성하면 해당 함수는 미들웨어로 동작할 수 있음 - req : HTTP 요청을 처리하는 객체 - res : HTTP 응답을 처리하는 객체 - next : 다음 미들웨..
Node.js Node.js® is a JavaScript runtime built on Chrome's V8 JavaScript engine. nodejs.org 웹 ( WEB ) ▶ 웹 이란? 사전적 의미 : World Wide Web, 인터넷 상에서 동작하는 모든 서비스 일반적 의미 : 웹 브라우저로 접속해서 이요하는 서비스 ≫ 웹 사이트 웹 서비스 동작 방식 웹서비스는 기본적으로 HTTP요청과 응답의 반복으로 이루어짐 1) 웹브라우저가 인터넷을 통해 HTTP 요청을 서버에 전달 2) 서버는 다시 인터넷을 통해 사용자의 HTTP 응답을 웹브라우저로 전송 3) 웹브라우저는 HTTP 응답을 시각화하여 사용자에게 보여줌 HTTP 요청 : 사용자가 어떤 데이터가 필요한지 서버에게 알리는 역할 → HTTP ..
Node.js Node.js® is a JavaScript runtime built on Chrome's V8 JavaScript engine. nodejs.org NPM ▶ NPM 이란? Node Package Manager → Node.js 프로젝트를 관리하는 필수적인 도구 → 온라인 저장소 + 커맨드라인 도구 - 온라인 저장소 : 수많은 오픈소스 라이브러이와 도구들이 업로드되는 저장소 필요한 라이브러리나 도구를 손쉽게 검색, 다운로드 가능 거대한 생태계 보유 - 커맨드라인 : 프로젝트 관리를 위한 다양한 명령어를 제공하는 도구 저장소에서 라이브러리, 도구 설치 프로젝트 설정/관리 프로젝트 의존성 관리 NPM 사용해보기 ▶ 프로젝트 생성하기 npm init 프로젝트 디렉터리 생성 → 생성한 디렉터리 ..
Node.js Node.js® is a JavaScript runtime built on Chrome's V8 JavaScript engine. nodejs.org Node.js의 등장 배경 WEB 1.0 : 단방향 통신 위주 → WEB 2.0 : 사용자와 상호작용 → 웹페이지의 자바스크립트 동작이 복잡해지면서 고성능의 자바스크립트 실행기가 필요 구글에서 크롬을 위한 V8엔진 개발 → 자바스크립트의 실행속도가 대폭 향상됨 V8엔진은 오픈소스 프로젝트로 이를 이용해 자바스크립트를 웹브라우저에서 뿐만 아니라 어느 환경에서나 동작할 수 있게 만든 것이 Node.js ≫ Node.js는 자바스크립트를 어느 환경에서나 실행할 수 있게 해주는 실행기 브라우저의 JavaScript vs. Node.js 브라우저에서 ..