node.js
-
서버 프레임워크 'Koa'node.js 2018. 6. 17. 17:31
작년까지 Nodejs로 개발할 때는 Express를 사용했는데 이번에 Koa를 써보게 되었다. Koa는 Express 개발자들이 만든 API서버개발 프레임워크로, Async Function을 적극 활용한다. (Promise와 Async 참고.) 여러 미들웨어로 구성되어 있다는 점은 Express와 동일하지만, Koa는 미들웨어의 실행순서가 스택처럼 동작한다는 게 신기하다. 예를 들어,const Router = require('koa-router'); const router = new Router(); //routers router.get('/', foo1, foo2, foo3); //controllers async function foo1(ctx, next){ try{ console.log('foo1 h..
-
Node.js의 내부구조node.js 2018. 5. 20. 15:45
Node.js는 흔히 이벤트 기반의 non-blocking 비동기(asynchronous) 구조라고 알려져있다. Node.js로 주로 개발하고 있지만 정확한 아키텍쳐와 내부동작 원리는 아직도 긴가민가 해서 이 포스팅으로 확실히 짚고 넘어가려고 한다. 내부구조를 살펴보기 전에 'blocking/non-blocking'과 '비동기/동기'가 무엇인지 먼저 알아야 한다. 1. non-blocking? 비동기? 기존에 알고있던 blocking/non-blocking 과 동기/비동기는 아래와 같다. 이미지 출처 : https://homoefficio.github.io/2017/02/19/Blocking-NonBlocking-Synchronous-Asynchronous/ 흔히 blocking은 동기방식과 묶여 쓰이고..