다시 하자 Back-End(5)
-
[KoaJS] 4. Mongoose (1)
이번 포스팅에서는 Mongoose 모듈을 이용하여 클라이언트가 요청한 데이터를 MongoDB에 저장해보자. 지난번 Router 포스팅에서 첨부한 파일을 이용할 예정이니 참고하기 바란다. 지난 포스팅 보기 : [KoaJS] 3. Router 1. Mongoose 그림 1. Mongoose Mongoose는 MongoDB를 이용한 객체 모델링을 제공해주는 NPM 모듈로써, ODM (Object Document Modeling 혹은 Mapper)의 대표적인 모듈 중 하나다. Mongoose를 이해하기 위해서 먼저 MongoDB에 대해 간단히 알아보자. MongoDB 일반적으로 우리가 알고 있는 데이터 베이스는 SQL (구조화 질의 언어) 을 이용하여 데이터를 조작한다. SQL을 이용하는 데이터 베이스는 대부분..
2017.10.13 -
[KoaJS] 3. Router
지난 포스팅에서는 KoaJS로 개발하기 위한 환경설정과 첫번째 KoaJS 예제를 만들어보았다. (만들었다고 하기에는 부끄러운 수준이지만 ...) 이번 포스팅에서는 Koa-router에 대해서 알아보자. 지난 포스팅 보기 : [KoaJS] 2. KoaJS 개발을 위한 환경설정 1. Router 기본 웹 서비스는 다양한 자원 (HTML, JS, IMG ...) 을 가지고 있다. 이 자원들은 웹 서비스 내부의 여러 경로에 존재한다. 클라이언트는 원하는 정보를 얻기 위해 URI를 이용하여 웹 서비스에게 자원을 요청한다. 웹 서비스는 클라이언트가 요청한 URI에 따라 기능을 분기하는데, 이러한 작업을 자동으로 수행하는 모듈 또는 기능을 Router라고 한다. 이전 포스팅에 돌렸던 첫 번째 예제를 한번 실행 해보자..
2017.09.04 -
[KoaJS] 2. KoaJS 개발을 위한 환경설정
지난 포스팅에서는 KoaJS의 개념과 특징, ES6에서 새롭게 추가된 제너레이터 객체를 이용한 비동기 처리에 대해서 살펴보았다. 지난 포스팅 보기 : [KoaJS] 1. KoaJS 시작하기 이번 포스팅에서는 KoaJS를 사용하여 프로젝트를 진행하기 전에 필요한 환경설정에 대해서 알아보자. 1. Babel 설정 KoaJS는 ECMA 2017 명세의 async / await로 미들웨어의 비동기 작업을 수행한다. 따라서 이전 버전의 NodeJS를 사용할 경우 KoaJS를 사용하는데 어려움이 있다. (NodeJS 7.6.0 이하에서는 async / await 명세가 적용되어 있지 않다.) 그림 1. KoaJS 설치 시 요구사항에 대한 설명 가장 쉬운 방법은 NodeJS 버전을 업그레이드 하는 것이지만, 실제 프..
2017.08.09 -
[KoaJS] 1. KoaJS 시작하기
1. Express is dead? NodeJS 진영에서 가장 유명한 풀스택 웹 프레임워크로 알려져있는 Express가 작년부터 이상한 말들이 나오기 시작했다. 그림 1. Express is dead? 구글에서 "Express is dead" 를 검색하면 나오는 게시글 중에서 하나를 캡처해왔다. 내용을 살펴보면 Express의 Github에 마지막 커밋이 한달 전에 있었고, 이전에도 죽어있었다 (활동이 없었다) 는 것을 언급하고 있다. 하지만 17년 현재 Express의 Github를 보면 올해에도 커밋된 내용이 있음을 알 수 있다. 캡처한 글에 달린 댓글들도 "Express is dead" 라는 말을 동의하지 못하고 있는데, 소규모의 패치는 지속적으로 이루어지고 있으며 현재 진행하는 개발 작업들은 대부..
2017.08.03 -
세션과 쿠키에 대하여 알아보자
1. 세션과 쿠키 세션과 쿠키는 네트워크 망에서 서버와 클라이언트가 상호간 통신을 할 때 사용하는 수단을 말한다. 이 기술들의 목적은 "상태 유지" 에 있다. 웹 환경에서 사용되는 HTTP 프로토콜은 서버와 클라이언트가 통신을 완료하면 연결을 끊어버린다. 한번의 통신에 요청과 응답을 하나로 묶고 연결을 끊어버리는 프로토콜을 무상태 프로토콜 (Stateless Protocol) 이라고 한다. 그림 1. HTTP 프로토콜 한번의 싸이클 무상태 프로토콜의 장점은 구조가 간단하여 시스템을 구축하기 쉽고 통신을 하면서 사용되는 수많은 리소스를 절약할 수 있다는 장점이 있다. 무상태 프로토콜의 가장 대표적인 프로토콜은 HTTP이며 주 목적은 웹 상에서 HTML 문서를 서빙하는 것이다. 하지만 웹 상에서도 서버와 클..
2017.07.31