Node JS 튜토리얼 심심풀이 번역

http://www.tutorialspoint.com/nodejs/nodejs_tutorial.pdf

(단순히 제가 제 자신의 이해를 돕기 위해 정리한겁니다)

6. Callback Concept

콜백은 비동기 (asynchronous) 함수
no wait for File I/O : 비동기 프로그래밍의 좋은 예시.

예)
var fs = require("fs");
fs.readFile('input.txt', function (err, data) {
if (err) return console.error(err);
console.log(data.toString());
});
console.log("Program Ended");

출력 :
Program Ended
Tutorials Point is giving self learning content
to teach the world in simple and easy way!!!!!

콜백을 사용하게 되면 프로그램의 가장 아래부분까지 호출 된후에 파일읽기가 진행된다.

7. Event Loop

Node.Js는 싱글 스레드 어플리케이션 이지만, event와 callback 컵셉통해 동시성을 보장한다. 이 event와 callback은 async function calls로 동시성을 유지함.


Node쓰레드는 하나의 테스크가 끝나도 이벤트루프를 유지하고 상응하는 이벤트가 event-listener를 호출하도록 신호를 보낸다.

Event-Drive Programming
Node.Js는 이벤트를 많이 사용하고 이건 Node.js가 다른 비슷한 테크닉보다 엄청 빠른 이유이기도 하다. Node 서버가 시작하자마자 단순히 변수 함수들을 선언되면 이벤트가 발생하기를 기다린다.

event-driven 응용프로그램에는 메인루프가 대체적으로 이벤트들을 듣고(기다리고) 그 이벤트 리스너중 하나가 발견되면(detected) callback function를 트리거 한다.


비록 이 이벤트 호출 방식이 callback이랑 아주 비슷해보이더라도 콜백 함수 비동기 함수가 결과를 리턴할때 호출되고, 이벤트 핸들링은 observer pattern을 이용해서 동작한다. 이벤트 감지 (LIsten to events )같은 function은 Observers같이 행동한다. event가 발생하면 언제라도 그 리스너는 함수를 실행한다. node.js는 많은 in-built 이벤트가 이벤트 모듈과 EventEmitter 클래스를 사용가능하다.

디자인 패턴 정리

Deconrator - 객체에 동적으로 기능을 추가하고 삭제할때 유용하다.

Facade - 클라이언트가 많은 서브시스템으로 결합도가 높을때 의존관계를 간소화 시킴.
(이것도 디자인 패턴?)

Proxy - Client와 기존 클래스 사이에 중간 매개체로 Proxy클래스를 정의하고 기존클래스의 기능이나 역활을 대행.
(Decorator나 Adapter와 비슷)

Adapter - 이미 구현된 모듈이 있지만 원하는 다른 인터페이스로 변경하고자 할때 유용함.

Flyweight - 객체 공유를 통해 자원 사용량을 줄여주기 위한 설계.

식은밥 먹는것 처럼 맛없는 소금기 하나없는 구운 닭가슴살을 우격다짐으로 입안 가득 쑤셔넣는다.
이게 다 내 근육이 되려니하고 자기위로를 해보지만 맛없는건 맛없는다.

2007년 10월 한달동안 다름대로 열심히 다녔으나 운동한날은 열손가락과 왼쪽발가락으로 충분히 셀 정도 밖에 안되고, 쓰라린 근육통도 제대로된 단백질이 없어서 근육이 울부짖는거라는 걸 알게 된지 얼마 안됐다.

한마디로

'한달동안 헛수고만 했다."

아 졸리지만 자는건 아깝다..

왜냐하면 내일부터 꿀맛같은 휴가이기때문이다!

내생애 휴가다운 첫휴가를 보내길 기원했건만, 올해도 어김없이 시골내려가서 잠만 자다 올듯 싶다.

아마 아직 방학인 초중학교 동창들을 길가다가 마주쳐 술 한잔 기울이는 행운도 찾아오길 바란다.

오랫만에 어머니한테 살갑게 잘해드려야지!

Don't look back in anger - Oasis



어쿠스틱버젼.. 아름답다!!