[Hello world]nodejs helloworld chaesuwon

9,751 views

Published on

0 Comments
7 Likes
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total views
9,751
On SlideShare
0
From Embeds
0
Number of Embeds
8,191
Actions
Shares
0
Downloads
74
Comments
0
Likes
7
Embeds 0
No embeds

No notes for slide

[Hello world]nodejs helloworld chaesuwon

  1. 1. Server
  2. 2.  Side
  3. 3.  Javascript
  4. 4.  
  5. 5.  node.js
  6. 6.  채수원
  7. 7.  기술혁신센터/오픈퍼블리싱팀
  8. 8.  NHN
  9. 9.   ⓒ 2012
  10. 10.  
  11. 11.  
  12. 12.  NHN
  13. 13.  CORPORATION
  14. 14. About
  15. 15.  me
  16. 16.   -  오픈
  17. 17.  퍼블리싱
  18. 18.  팀/
  19. 19.  nForge
  20. 20.  개발
  21. 21.   -  OctoberSkyJs
  22. 22.  (aka
  23. 23.  nodejskr.org)
  24. 24.  운영자
  25. 25.   -  blog.doortts.com
  26. 26.  node.js를
  27. 27.  하게
  28. 28.  된
  29. 29.  계기
  30. 30.   -  ???
  31. 31.  (...?)
  32. 32.  
  33. 33. 발표에서
  34. 34.  주고
  35. 35.  싶은
  36. 36.  것
  37. 37.   -  node.js
  38. 38.  가
  39. 39.  뭔가?
  40. 40.   -  쓸만한가?
  41. 41.   -  경험담
  42. 42.   -  논란과
  43. 43.  사례들
  44. 44.  
  45. 45. Node.js
  46. 46. Node.js
  47. 47.  Ryah
  48. 48.  Dahl
  49. 49.   5
  50. 50.  /
  51. 51.  Node.js
  52. 52.  
  53. 53. Node.js
  54. 54.     2009.1 http://four.livejournal.com/943068.html
  55. 55.   6
  56. 56.  /
  57. 57.  Node.js
  58. 58.  
  59. 59. Node.js
  60. 60.     2009.2 7
  61. 61.  /
  62. 62.  Node.js
  63. 63.  
  64. 64. Node.js
  65. 65.     2009.5 8
  66. 66.  /
  67. 67.  Node.js
  68. 68.  
  69. 69. Node.js
  70. 70.     2009.6 9
  71. 71.  /
  72. 72.  Node.js
  73. 73.  
  74. 74. Node.js
  75. 75.   3년 뒤… 10
  76. 76.  /
  77. 77.  Node.js
  78. 78.  
  79. 79. Node.js
  80. 80.     10000개! 11
  81. 81.  /
  82. 82.  Node.js
  83. 83.  
  84. 84. node.js
  85. 85.  학습에
  86. 86.  대해
  87. 87.     node.js   concepts   modules   core module, file modules npm javascript   v8 12
  88. 88.  /
  89. 89.  Node.js
  90. 90.  
  91. 91. Node.js
  92. 92.   그래서,
  93. 93.  Node.js는
  94. 94.  무엇인가?
  95. 95.   http://blog.doortts.com/214
  96. 96.   13
  97. 97.  /
  98. 98.  Node.js
  99. 99.  
  100. 100. Node.js
  101. 101.   14
  102. 102.  /
  103. 103.  Node.js
  104. 104.  
  105. 105. Node.js
  106. 106.     특징   Single Threaded   Event Loop   Non blocking I/O 15
  107. 107.  /
  108. 108.  Node.js
  109. 109.  
  110. 110. Benchmark
  111. 111.   16
  112. 112.  /
  113. 113.  Node.js
  114. 114.  
  115. 115. Event
  116. 116.  Loop
  117. 117.  vs
  118. 118.  Thread
  119. 119.   17
  120. 120.  /
  121. 121.  Node.js
  122. 122.  
  123. 123. Node.js
  124. 124.     Simple Server var
  125. 125.  http
  126. 126.  =
  127. 127.  require(http);
  128. 128.   var
  129. 129.  PORT
  130. 130.  =
  131. 131.  3000;
  132. 132.  
  133. 133.   var
  134. 134.  server
  135. 135.  =
  136. 136.  http.createServer(function
  137. 137.  (req,
  138. 138.  res)
  139. 139.  {
  140. 140.  
  141. 141.  
  142. 142.  res.writeHead(200,
  143. 143.  {Content-Type:
  144. 144.  text/plain});
  145. 145.  
  146. 146.  
  147. 147.  res.end(Hello
  148. 148.  Worldn);
  149. 149.   })
  150. 150.  
  151. 151.   server.listen(PORT,
  152. 152.  127.0.0.1);
  153. 153.   console.log(Server
  154. 154.  running
  155. 155.  at
  156. 156.  http://127.0.0.1:+PORT);
  157. 157.   18
  158. 158.  /
  159. 159.  Node.js
  160. 160.  
  161. 161. Node.js
  162. 162.    Programming Style = blocking = Non-blocking 19
  163. 163.  /
  164. 164.  Node.js
  165. 165.  
  166. 166. Node.js
  167. 167.     Design Goal   어떤 함수도 I/O를 직접 수행해선 안 된다.   디스크나 네트워크, 혹은 다른 프로세스로부터 정보를 받으려면 반드시 callback이 있어야 한다.   예) b = a(); = non I/O a( function(b) { … }); 20
  168. 168.  /
  169. 169.  Node.js
  170. 170.  
  171. 171. Node.js
  172. 172.     Design Goal   단순한 라이선스   MIT/BSD, openssl 만 apache alike 자체 라이선스   플랫폼 독립적이다   의존성이 적음 21
  173. 173.  /
  174. 174.  Node.js
  175. 175.  
  176. 176. Node.js
  177. 177.     Architecture 해설
  178. 178.  문서
  179. 179.  보기
  180. 180.  -
  181. 181.  http://blog.doortts.com/253
  182. 182.   22
  183. 183.  /
  184. 184.  Node.js
  185. 185.  
  186. 186. 배운 점들 23
  187. 187.  /
  188. 188.  Node.js
  189. 189.  
  190. 190. 장점
  191. 191.     One unified Language javascript   극단적인 코드 재활용   Server-side / front-end   다양한 모듈들이 이미 존재 24
  192. 192.  /
  193. 193.  Node.js
  194. 194.  
  195. 195. 오해
  196. 196.     접근이 쉬운 쪽은?   서버사이드 개발자? 프론트앤드 개발자?   개발 생산성? 25
  197. 197.  /
  198. 198.  Node.js
  199. 199.  
  200. 200. 어려운 점들
  201. 201.   Javascript   Language Spec   ECMA Script 3, 5   Language defects   (0.1 + 0.2) == 0.3   var n = [4, 8, 15, 16, 23, 42] n.sort()   Closure와 scope처리 26
  202. 202.  /
  203. 203.  Node.js
  204. 204.  
  205. 205. 어려운 점들
  206. 206.     Node.js   v 0.6.18   계속 변경 중 윈도우즈 환경 지원 부족   모듈의 춘추전국시대   어느 라인을 잡아야 하나.. 27
  207. 207.  /
  208. 208.  Node.js
  209. 209.  
  210. 210. 그럼에도
  211. 211.  쓰는
  212. 212.  이유는?
  213. 213.     극단적인 성능   다양한 모듈을 통한 손쉬운(?) 개발   많은 개발자들이 (미친듯이) 뛰어들고 있음   미래에 대한 준비   안드로이드/아이폰의 교훈 28
  214. 214.  /
  215. 215.  Node.js
  216. 216.  
  217. 217. Usage
  218. 218.     언제 쓸까?   오픈소스를 이용할 수 있는 경우   수레바퀴 재발명을 안하겠다   어디에 쓰면 좋을까?   CPU 집중적이지 않고 I/O 집중적인 업무 29
  219. 219.  /
  220. 220.  Node.js
  221. 221.  
  222. 222. 논란
  223. 223.     Single Thread   Multi-core CPU   CPU 집중적인 업무   출신이 무관이라… Vert.x 30
  224. 224.  /
  225. 225.  Node.js
  226. 226.  
  227. 227. QA 31
  228. 228.  /
  229. 229.  Node.js
  230. 230.  
  231. 231. one more tip! 32
  232. 232.  /
  233. 233.  Node.js
  234. 234.  
  235. 235. Lessons
  236. 236.  Learned
  237. 237.     테스트를 반드시, 꼭 만들 것!   see demo 콜백을 잘 가려 쓸 것!   Use callback for I/O functions only   Be careful ‘Timing Problems’   Don’t use stupid ‘Blocking callback’   왜? 33
  238. 238.  /
  239. 239.  Node.js
  240. 240.  
  241. 241. 사례 소개
  242. 242.     해외   Linked-in - Mobile service   Yahoo Cocktails   eBay ql.io   Cloud9 IDE   Projects, Applications, and Companies Using Node   https://github.com/joyent/node/wiki/Projects,-Applications,-and-Companies- Using-Node   국내   ??? 34
  243. 243.  /
  244. 244.  Node.js
  245. 245.  

×