11
Node.js 웹웹웹웹웹웹웹 웹웹웹웹 웹웹웹 웹웹웹 웹웹 웹웹웹웹웹 STG 웹웹웹 웹웹

Node js 웹어플리케이션 아키텍처 구축에 관련한 연구 - 정병헌

Embed Size (px)

DESCRIPTION

2014-07-25 Node.js 웹어플리케이션 아키텍처 구축에 관련한 연구 - 정병헌

Citation preview

Page 1: Node js 웹어플리케이션 아키텍처 구축에 관련한 연구 -  정병헌

Node.js 웹어플리케이션 아키텍처 구축에 관련한 연구

이트라이브 STG 정병헌 대리

Page 2: Node js 웹어플리케이션 아키텍처 구축에 관련한 연구 -  정병헌

무엇을 해 나아갈 것인가 ?!

1. Node.js 알아보자 !

1. Node.js 가 뭔데 ?

2. Node.js 가 뭐가 좋은데 ?

3. Node.js 는 어떻게 하는데 ?

4. Node.js… 근데 말이지 이거 참 ..;;

2. Node.js 로 만들어보자 !

3. Node.js 로 구축해보자 !

4. Node.js 로 적용해보자 !

• 연말까지 바라본 Long-term 계획일 뿐 일정은 아닙니다 . ( 결코 아니라고 !!) 오해 없으시길 바랍니다 .

• 이번 시간에는 Node.js 라는 녀석에 대해 두리뭉실하게 알아보는 취지로 얘기해보도록 하죠 .

Page 3: Node js 웹어플리케이션 아키텍처 구축에 관련한 연구 -  정병헌

1. Node.js 알아보자 !

Page 4: Node js 웹어플리케이션 아키텍처 구축에 관련한 연구 -  정병헌

Javascript 를 서버 사이드로…

“ 브라우저에 살고 있던 자바스크립트를 서버사이드에서 알아먹게끔…그리하여 우린 서버단 코딩을 자바스크립트 언어로 짜는 거야 !!”

1. Node.js 가 뭔데 ?

“Node.js” 물론 이 또한 옛날옛적 얘기입니다 !!

제가 풍문으로만 들었던 node.js 기원도 어언 ~~ 몇 년 쯤 전 이야기 같은데…혹시나 실무는 뭐 더욱 더 아니더라도 , 그저 호기심만으로 한 번 쯤 발을 담가보면 어떨까요 ?

Page 5: Node js 웹어플리케이션 아키텍처 구축에 관련한 연구 -  정병헌

2. Node.js 가 뭐가 좋은데 ?

1. Single Thread!!

2. Event Driven!!

사실상 1 번 , 2 번 등의 다소 고리타분한 얘기를 꺼내지 않더라도…(1 번은 왠지 느낌상으로도 단점일거라고 생각되지 않나요 ?;;)

자 !! 웹개발 어느 정도껏 해먹은 짬에서

자바스크립트 다들 아주 징그럽게 많이들 짜보셨지 않습니까 ??!!( 다들 자바스크립트 코딩으로 거의 소설 한 두 편 씩은 쓰신 분들이시라 믿고… 또는 앞으로 반드시 !! 그리하게 되실 분들이기에… )

어플리케이션 성능 상의 장점을 고려하지 않더라도 웹개발자 입장에서는 데이터 파일 I/O 를 만들건 네트워크 통신 모듈을 만들건 자바스크립트 코딩만으로 만들어 본다는 것… 퍼포먼스 측면은 물론이고 왠지 엄청난 호기심이 생기지 않으십니까 ??

Page 6: Node js 웹어플리케이션 아키텍처 구축에 관련한 연구 -  정병헌

3. Node.js 는 어떻게 하는데 ?

자 !! 웹개발을 하기로 했습니다 . 물론 Node.js 를 써서 말입니다 .

뭔가 도구가 ( 연장 ?) 필요하겠죠 ?

개발환경도 필요하고 (IDE.. 일단 이 부분은 키핑해두시고 ;;;)웹서버도 필요하고 .. 등등입니다 !!

Node.js 를 처음 접하는 우리 웹개발자들에게 아 ~~ 주 아주 유용한 문서 페이지가 있더랍니다 .

http://www.nodebeginner.org/index-kr.html#javascript-and-nodejs

번역문서이지만 깨나 잘 되어 있는 듯해요 . 읽어 내려가기만 해도 왠지 재미가 쏙쏙 !!

어디서 뭐 받아서 설치하나 ??

읽다보면 똮 !!! 하고 튀어 나옵니다 !!

https://github.com/joyent/node/wiki/Installation#installing-without-building

문서에 나오네요 . 친절하게도 깃허브 다운로드 링크가…

( 과연 친절할까요 ? To be continue!!)

Page 7: Node js 웹어플리케이션 아키텍처 구축에 관련한 연구 -  정병헌

3. Node.js 는 어떻게 하는데 ?

node.exe 파일 실행하면 쭈르르륵 ~ 설치가 되겠죠 .전 여기다 깔았네요…

자 이제 뭘 할까요 ?

뭔가 새로운 (?) 프로그래밍 환경이 만들어졌습니다 !!

뭐 할까요 ?

“Hello World” 를 찍어야 하지 않겠습니까 ???!!!!

Page 8: Node js 웹어플리케이션 아키텍처 구축에 관련한 연구 -  정병헌

3. Node.js 는 어떻게 하는데 ?

전 앞으로 이 디렉토리를 내 app root 로 삼겠습니다 .

var http = require("http");

http.createServer(function(request, response) { response.writeHead(200, {"Content-Type": "text/plain"}); response.write("Hello World"); response.end();}).listen(8888);

server.js 라고 제가 서버로 사용할 자바스크립트 파일을 하나 만들었고요 ..

생소해 하실 것 없습니다 . 이건 분명 자바스크립트 언어라구요 !!제발 그렇다고 믿어줘요 !!!

Page 9: Node js 웹어플리케이션 아키텍처 구축에 관련한 연구 -  정병헌

3. Node.js 는 어떻게 하는데 ?

코드를 딱 보면 왠지 웹브라우저에http://localhost:8888/ 을 때려보고 싶어지시죠 ??

한 번 때려봅시다 !!

서버에게 일을 하라고 오다 (order!!) 를 줘야 일을 하겠죠 ?

자 서버 구동을 시작해봅시다 !!

Page 10: Node js 웹어플리케이션 아키텍처 구축에 관련한 연구 -  정병헌

3. Node.js 는 어떻게 하는데 ?

음 .. 아주 적은 노력으로 우린 node.js 라는 뭔가 센세이셔널한 뉴타입 프로그래밍 렝귀지 (?) 로 인사말을 뽑아냈습니다 .!

전 앞으로 이 자바스크립트 코드를 좀 더 멋지게 !!! 변형을 시킬 계획입니다 !!

과연 이 한낮 js 코드가 어떤 그림을 그려줄 것인지 적당히만 기대해주시면 좋겠네요…

그럼 오늘은 여기서 이만…

Page 11: Node js 웹어플리케이션 아키텍처 구축에 관련한 연구 -  정병헌

4. Node.js… 근데 말이지 이거 참 ..;;

안 끝났습니다…

오늘 얘기 안하고 넘어가면 나중에 후회하실 것 같아서…

오픈소스라는 것들은 참 아쉽게도 말이죠… node.js 라는 녀석을 손 대는 초기부터 저 같은 그저 그런 개발자에게 좌절을 줄 수 있을 만한 요인을 찾아보니…

1. Window 환경과 안 친하다 ;;

2. 한글과 안 친하다 ;;

아까 알려드렸던 번역문서 기준으로 나름 연구 진행을 해보고 체험한 결과 ( + 구글링 결과 )

위와 같은 좀 .. 안 그랬으면 하는 문제들이 벌써부터 막 겁을 주고 있습니다 .

일단 그러하다는 것만 참고해주시구요…

진짜로 오늘은 이만… !