node js 6

빠르게 훝어 보는 node.js - #14 - Passport를 이용한 사용자 인증 구축

빠르게 훝어보는 node.js#14 - Passport를 이용한 사용자 인증 구축조대협 (http://bcho.tistory.com) Passport는 node.js용 범용 인증 모듈이다. 기본적인 HTTP Basic Auth에서 부터 HTTP digest authentication, OAuth,OpenID 등 다양한 인증 프로토콜을 지원하며, Facebook이나 Twitter,Google등과의 연계된 SSO 인증을 포함하여 약 140가지의 인증 모듈을 포함한다. 그러면Passport를 이용하여, 어떻게 사용자 인증을 구현할 수 있는지 살펴보도록 하자.이러한 다양한 인증에 대해서 미리 구현해 놓은 것을 passport에서는 Strategy라고 한다. Facebook 인증을 위해서는 facebook str..

빠르게 훝어 보는 node.js - #11 Socket.IO 3/4 (1:1 귓속말 구현)

빠르게 훝어보는 node.js#11 - Socket.IO (3/4)조대협 (http://bcho.tistory.com) 앞서 작성한 대화방 http://bcho.tistory.com/896 에 이어서 이번에는 1:1 귓속말 대화가 가능한 기능을 추가해보자 귓속말이 가능한 대화방이번에는 특정 사용자가 다른 사용자에게 귓속말을 보내는 기능을 가지는 대화방을 만들어보자. 이를 통해서 특정 클라이언트 소켓에 메세지를 어떻게 보내는지를 배울 수 있다.이 대화방의 기능은 다음과 같다.Ÿ 대화방에 입장하는 손님들은 자동으로 대화명을 부여 받는다.Ÿ 사용자는 대화명을 바꿀 수 있다.Ÿ 사용자는 대화 수신자의 대화명을 선택하여 특정 사용자에게 귓속말을 보낼 수 있다.코드를 보면서 설명하도록 하자.app.js var ex..

빠르게 훝어 보는 node.js - #5 웹개발 프레임웍 Express 2/2

빠르게 훝어보는 node.js#5 - Express 2/2조대협 (http://bcho.tistory.comFile upload 및 download 처리Express는 파일 업로드 기능을 제공한다. Express 의 경우, 파일을 tmp directory에 업로드한후, 업로드가 끝나면 이벤트를 주는 형태이다. 그래서, 파일 업로드가 끝나면 파일 저장 디렉토리로 옮겨 줘야 한다. 그러면 간단하게 코드를 살펴보자. express에서 업로드되는 file stream은 multipart 형태로 업로드가 된다. 이 multi part request stream을 인식하려면, express세팅에 bodyParser 미들웨어를 사용함을 명시해줘야 한다.var app = express();app.use(express...

빠르게 훝어 보는 node.js - #4 웹개발 프레임웍 Express 1/2

빠르게 훝어보는 node.js#3 - Express 1/2조대협 (http://bcho.tistory.comExpressnode.js는 여러 종류의 웹 개발 프레임웍을 제공한다.얼마전에 Paypal이 내부 시스템을 대규모로 node.js로 전환하면서 오픈소스화한 KarkenJS나 Meteo 등 여러가지 프레임웍이 있는데, 그중에서 가장 많이 사용되는 프레임웍 중하나인 Express에 대해서 설명하고자 한다.Express는 웹 페이지 개발 및 REST API 개발에 최적화된 프레임웍으로 매우 사용하기가 쉽다.프로젝트 생성먼저 express module을 npm을 이용해서 설치한 다음 express 프로젝트를 생성해보자.% express --session --ejs --css stylus myapp명령을 이..

빠르게 훝어 보는 node.js - #3 Event,Module,NPM

빠르게 훝어보는 node.js#3 - Event,Module,NPM조대협 (http://bcho.tistory.com비동기 이벤트 프로그래밍기존의 프로그래밍 언어들은 일반적으로 함수를 부르는 형태의 프로그래밍 구조를 가지고 있다. 이를 procedural programming model이라고 하는데, 코드가 순차적으로 실행되면서 함수를 호출하는 식의 구조를 가지고 있기 때문에 코드를 보면 코드의 수행 순서를 예측할 수 있다. node.js는 event driven programming 이라는 개념을 가지고 있는데, 이 개념은 특정 이벤트가 발생되면 미리 이벤트에 맵핑된 함수가 실행되는 형태이다. 즉 해당 함수가 언제 호출 되는지를 예측할 수 가 없다.var callback = function(data){..