node.js

HTTP / HTTPs

HTTP (Hypertext Transfer Protocol HTTP는 요청(request)과 반응(response)으로 이루어진 프로토콜으로 볼 수 있다.1989년도부터 개발에 착수가 되었고, 1994년 즈음에는 보안이 추가된 HTTPS 프로토콜이 나왔다. HTTPS HTTP는 클라이언트와 서버가 정보를 주고받을때 암호화 처리가 되어있지...

Continue reading...

Nodejs – debugging

interective debugging editor 에서 breakpoint를 걸어서 하나하나 스텝별로 넘어가면서 디버깅 어플리케이션 레벨에서 단순한 코드 변경 후 잘 동작하는지 테스트하기 위해서는 빌드 과정이 필요할 수 있는데, 그럴때는 breakpoint 를 걸어서 내가 원하는...

Continue reading...

Nodejs – NPM (Node Package Manager)

쉽게 라이브러리들을 관리할 수 있게 도와주는 매니징 툴 팀 단위로 협업을 할때 유용하게 사용 가능 npm install 로 package.json에 정의된 필요한 라이브러리들을 다 다운로드 받을 수 있기 때문에, github에 올릴때는 package.json만...

Continue reading...

Nodejs – Module (event)

Emitter (이벤트) Emitter로 로그 출력 구현 /* main.js */ /* logger.js */ 포인트 : 이벤트 emitter는 한번 객체를 만들면 그 객체 내에서 발생하는 이벤트에 한해서 이벤트를 들을 수 있다. 여러가지 이벤트...

Continue reading...

Nodejs – Module (buffer / stream)

Buffer / Streaming Streaming 이란 ? 서버가 동영상 파일을 보내주고, 사용자가 동영상 파일을 다 받을때까지 기다렸다가 동영상을 보게되면 너무 번거롭고 오랜시간이 걸린다. 서버에서 동영상 파일을 잘게잘게 나눠서 보내주고, 사용자가 전체 동영상을...

Continue reading...

Nodejs – Module (path / file)

Path File 파일 시스템 모듈에서 Sync(동기)는 사용하지 않는 것이 좋다. 동작이 끝날때까지 다음줄로 넘어가지 않고, 에러가 발생했을때 아예 노드 어플리케이션이 죽어버리기 때문이다. 비동기식인 callback 으로 전달하던지, promises 형태로 처리하는게 가장 좋다.

Continue reading...

타이머와 콜스택의 연관

setInterval / clearInterval 콜백 함수 우선 순위 타이머와 콜스택의 연관 거의 2ms 가 걸린걸 볼 수 있는데, 여기서 setTimeout을 0초로 해도 정확하게 0초가 보장되지않는 다는 것을 알 수 있다. 왜냐하면 실제로...

Continue reading...