SlideShare a Scribd company logo
1 of 95
Download to read offline
one years agoโ€ฆ

somewhereโ€ฆ
My personal dev era...

PHP ๊ฐœ๋ฐœ
(in my opinion)
- Easy to learn and use

- First 5 pages for 5 hours
  (exclude design works)
My personal dev era...

Java๊ธฐ๋ฐ˜ ์›น ๊ฐœ๋ฐœ๋กœ ์ „ํ™˜...
My personal dev era...

I need...
์—ฌ๊ธฐ์—๋Š” ์‚ฌ์‹ค...
Front-end ๊ธฐ์ˆ ๋“ค์€ ์ œ์™ธํ•˜๊ณ !
์šฐ๋ฆฌ์˜ ๊ด€์‹ฌ์„ ๋ถ„์‚ฐ์‹œํ‚ค๋Š”

์ด๋Ÿฐ์ €๋Ÿฐ ๊ธฐ์ˆ ๋“ค๋„ ์ œ์™ธํ•˜๊ณ !
???         ???         ???         ???

  ???             ???           ???       ???


       ๊ทธ๋ฆฌ๊ณ ๋„ VVMM (...)
???                     ???                 ???
            ???                     ???
                        ???                 ???
 ???
We are
 here




         IT Universe
My personal dev era...

Java ๊ธฐ๋ฐ˜ ์›น ๊ฐœ๋ฐœ
(in my opinion)

- NOT easy to learn and use
- First 5 pages for 50 hours !!
Someone saysโ€ฆ


    No Pain,
    No Gains !
No!!! No More
 Pain!!
์ž ๊น! ๊ทธ๋Ÿฐ๋ฐ,
์šฐ๋ฆฌ๊ฐ€ ์ง€๊ธˆ
๋ญ˜ ํ•˜๊ณ  ์‹ถ์€ ๊ฑฐ์ฃ 
?
Developing WEB
one tool dummy!
๋ฐœํ‘œ์ž์†Œ๊ฐœ

 ์ฑ„์ˆ˜์›          SUWON, CHAE

 - NHN Open Publishing Team, nFORGE Dev.
 - node.js community octoberskyjs leader
 - blog.doortts.com
 - twitter.com/doortts
- ๊ฐœ๋ฐœ์ž ๋…ธํŠธ๋ž€ ๋ฌด์—‡์ธ๊ฐ€?
- ๊ฐœ๋ฐœ์ž ๋…ธํŠธ์˜ ์•„ํ‚คํ…์ฒ˜
- ์™œ node.js๋ฅผ ์„ ํƒํ–ˆ๋Š”๊ฐ€?
- ์ƒ์‚ฐ์„ฑ๊ณผ ํšจ์šฉ์€?
- ๋ฌธ์ œ์™€ ์„ ํƒ๋“ค!
- node.js๋ฅผ ์ด์šฉํ•œ ์›น ๊ฐœ๋ฐœ์— ๋Œ€ํ•œ Lessons Learned
- Tips
- Q&A
helloworld ์„ธ๋ฏธ๋‚˜์—์„œ ๋‹ค๋ฃฌ ๋‚ด์šฉ์€ ์กฐ๊ธˆ ์ƒ๋žตํ•ฉ๋‹ˆ๋‹ค.
^^;
- node.js ์ฐฝ๋ฐœ์˜ ์ˆœ๊ฐ„
- node.js๋Š” ๋ฌด์—‡์ธ๊ฐ€?
- node.js์„ ์‹œ์ž‘ํ•˜๊ฒŒ ๋œ ๊ณ„๊ธฐ
- node.js ๊ธฐ๋ณธ ๋ฌธ๋ฒ•
- ์™ธ๊ตญ ์‚ฌ๋ก€
- ์„ฑ๋Šฅ (Benchmarks)


๋“ฑ๋“ฑ..
์™œ๋ƒํ•˜๋ฉด
์ด๊ฒƒ ๋ง๊ณ ๋„ ์ด์•ผ๊ธฐ ํ•ด๋ณด๊ณ  ์‹ถ์€ ๋‚ด์šฉ์ด ๋งŽ์Šต๋‹ˆ๋‹ค!
๏‚ง Node.js๋Š” ์‹ค์งˆ์ ์œผ๋กœ ์„œ๋ฒ„์‚ฌ์ด๋“œ ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ ์‹คํ–‰ํ™˜๊ฒฝ๊ณผ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ,
 ์ด๋ ‡๊ฒŒ ๋‘ ๊ฐ€์ง€๋กœ ์ด๋ฃจ์–ด์ ธ ์žˆ์Šต๋‹ˆ๋‹ค.
๏‚ง ๊ณ ์„ฑ๋Šฅ ๋„คํŠธ์›Œํฌ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ
๏‚ง ์ €์ˆ˜์ค€ Event-loop๋ฅผ ์ด์šฉํ•œ callback์„ ์ด์šฉํ•ด
                                        ๊ทธ๋ž˜์„œ, Node.js๋Š” ๋ฌด์—‡์ธ๊ฐ€?
๋‹ค์–‘ํ•œ I/O ์ž‘์—…์„ non-blocking ๋ฐฉ์‹์œผ๋กœ ์ฒ˜๋ฆฌ        http://blog.doortts.com/214
๏‚ง Project N4(nFORGE 4)์˜ Sub Project
๏‚ง wiki์™€ ๋งค๋‰ด์–ผ ์ž‘์„ฑ
๏‚ง open source
๏‚ง Simple, Distributive & Collective merge
๏‚ง node.js ๋กœ ๊ฐœ๋ฐœ
๏‚ง git๊ณผ ํ˜ธํ™˜๋˜๋Š” ํŒŒ์ผ์‹œ์Šคํ…œ
https://github.com/nforge/devnote
๏‚ง nFORGE ์„œ๋ธŒ ํ”„๋กœ์ ํŠธ๋กœ ๊ฐœ๋ฐœ
๏‚ง ์˜คํ”ˆ์†Œ์Šค๋กœ ๊ณต๊ฐœ




๏‚ง ์‚ฝ์งˆ ๋น„์šฉ์„ ๋จผ์ € ์น˜๋ฃจ๊ณ  ๊ทธ ๊ฒฐ๊ณผ๋ฅผ ๊ณต์œ /๊ณต๊ฐœํ•œ๋‹ค.
๏‚ง node.js ๊ธฐ์ˆ  ํ™•์‚ฐ์— ๊ธฐ์—ฌํ•œ๋‹ค.
๏‚ง ์šฐ๋ฆฌ๋‚˜๋ผ์—์„œ๋„ ์›น ๊ฐœ๋ฐœ์— spring ๋ง๊ณ  ๋‹ค๋ฅธ ๊ฑธ ์‚ฌ์šฉํ•ด ๋ณด์ž.
๋‚ด๋ถ€ ๋ชจ๋“ˆ ์•„ํ‚คํ…์ฒ˜๋ฅผ ์ž ๊น ๋ณผ๊ฒŒ์š”..
v2012.4.20
                                                Template Engine    Automation Test
         App Server                                    Jade
User                                                                       Mocha
                                      Route
                     ExpressJS        module
                                                  CSS foundation
                     app.coffee                       Twitter
                                                     Bootstrap
                                                                     Browser Emulation
                                                                          Zombie.js

                                                                       Controller Test
           Wiki System                                                    Expresso


                                                                          Unit Test
                 -   Markdown         wiki.js                              Assert
        Renderer
                 -   Preview
                 -   Syntax highlighter
                 -   diff




        Storage - Git compatible
                                                                     Project Builder
                                                        Disk
                       gitfs.js                                             Jake
v2012.6.25
                                                              Template Engine             Automation Test
                       App Server                                     Jade
User                                                                                                Mocha
                                                    Route
                                   ExpressJS        module
                                                                CSS foundation
                                   app.coffee                        Twitter
                                                                    Bootstrap
                                                                                              Browser Emulation
                                                                                                   Zombie.js


                                                              Real-Time Feedback                Controller Test
             i18n
                         Wiki System                                                                Expresso
             Node-                                                   Socket.io                        (TBD)
              i18n
                                                                                                   Unit Test
                               -   Markdown         wiki.js                                          Assert
                      Renderer
                               -   Preview                          Flow control
          Mailing              -   Syntax highlighter
        nodemailer             -   diff                                 step

                                                                                         Dependency Management
                                                                        async
                                                                                         / installer
                                                                                                      NPM
 Crypto
                      Storage - Git compatible                           *Git tools
  jshashes
                                                                                             Project Builder
                                                                       Disk
                                     gitfs.js                                                         Jake
  Logger

  winston


                                                                                      *Git official command line tools
๏‚ง AppServer                       ๏‚ง Test Framework
    Express, Restify, Meteor          Mocha, Vows, Nodeunit
๏‚ง Template Engine                 ๏‚ง Browser Emulation Test
    Jade, EJS                         Zombie.js, Phantom.js + Casper.js
๏‚ง CSS Foundation
    Bootstrap, ZURA Foundation
๏‚ง Code Editor
    CodeMirror, Plain TextArea
๏‚ง View MVC
    backbone.js, ember.js        ๏ƒง ์“ฐ๊ณ  ์‹ถ์—ˆ์ง€๋งŒ ์ง€๋‚˜์น˜๊ฒŒ ๋ณต์žกํ•ด
                                 ์งˆ ์šฐ๋ ค๊ฐ€ ์žˆ์–ด ์ž์ œํ•จ!
๏‚ง AppServer            ๏‚ง Sugar Language           ๏‚ง Project Builder
    Express                coffeescript               jake
๏‚ง Template Engine      ๏‚ง i18n                     ๏‚ง Logger
    Jade                   node-i18n                  winston
๏‚ง CSS Foundation       ๏‚ง Email Sender
    Bootstrap              nodemailer
๏‚ง Code Editor          ๏‚ง Browser Emulation Test
    CodeMirror             Zombie.js
๏‚ง Real-time feedback   ๏‚ง Test Framework
    socket.io              Mocha
๏‚ง ๊ฐ€๋งŒํžˆ ๋†”๋‘ฌ๋„ ์„ฑ์žฅํ•œ๋‹ค.
๏‚ง ๋น ๋ฅด๊ฒŒ ๋งŒ๋“ค ์ˆ˜ ์žˆ๋‹ค. ๋‚˜๋จธ์ง€ ๋ถ€๋ถ„์„ ๊ฐœ๋ฐœํ•˜๋ฉด ๋˜๋‹ˆ๊นŒ.




๏‚ง ๋น„์Šทํ•œ ๋ชจ๋“ˆ๋“ค์ด ์žˆ์„๋•Œ๋Š” ๋ญ๊ฐ€ ์ข‹์€์ง€ ํŒ๋‹จ์ด ์–ด๋ ต๋‹ค.
๏‚ง ํƒ€์ธ์˜ ์ทจํ–ฅ์— ํœ˜๋‘˜๋ฆด ์ˆ˜ ์žˆ๋‹ค.
๏‚ง ์ •ํ™•ํžˆ ์›ํ•˜๋Š” ๊ธฐ๋Šฅ์€ ์—†๋Š” ๊ฒฝ์šฐ๊ฐ€ ์ข…์ข… ์žˆ๋‹ค.
๏‚ง ๋ผ์ธ์„ ์ž˜ ๋ชป ํƒ€๋ฉด ์˜ค๋žซ๋™์•ˆ ํ”ผ๊ณคํ•ด ์ง„๋‹ค.
  -> ๋ฐœ์ „์„ ๊ธฐ๋Œ€ํ•˜๊ธฐ ๋ณด๋‹ค ํ˜„์žฌ ๊ธฐ๋Šฅ์ด ํ˜„์žฌ ์šฐ๋ฆฌ์—๊ฒŒ ๋งž๋Š”๊ฐ€์— ์ง‘์ค‘ํ•œ๋‹ค.
  -> ์ตœ์•…์„ ๊ฐ€์ •
๊ธฐ๋ณธ์ ์œผ๋กœ๋Š” ์•„ํ‚คํ…์ฒ˜ ๊ตฌ์„ฑ๋„์˜ ๋ชจ๋“ˆ๋“ค์„
์‚ฌ์šฉํ•˜์…”์„œ ๊ฐœ๋ฐœํ•˜์‹œ๋ฉด ์ถฉ๋ถ„ํ•ฉ๋‹ˆ๋‹ค.




              ์‚ฝ์งˆ์€ ์ €ํฌ๊ฐ€ ์ด๋ฏธโ€ฆ
nodejs.org



- NHN ๊ธฐ์ˆ ํˆฌ์ž
- ๋‹ค์ˆ˜ ํ”Œ๋žซํผ์„ ์ง€์›ํ•˜๋Š” ๊ฐœ๋ฐœํ™˜๊ฒฝ ํ•„์š”
- ๊ฐœ๋ฐœํŒ€ ๋ฉค๋ฒ„๋“ค์ด Spring Framework์„ ์ž˜ ๋ชฐ๋ผ์„œ
 PHP๊ฐœ๋ฐœ์ž, Java ํด๋ผ์ด์–ธํŠธ ๊ฐœ๋ฐœ์ž
- ๋ฉค๋ฒ„ ์ค‘ ํ•œ ๋ช…์ด node.js ์ปค๋ฎค๋‹ˆํ‹ฐ ๋ฆฌ๋”๋ผ์„œโ€ฆ
๏‚ง ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ! ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ! ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ!
๏‚ง ๋ ˆํผ๋Ÿฐ์Šค๊ฐ€ ์—†์–ด์„œ ๊ณ ์ƒ์„ ํ•  ๊ฐ€๋Šฅ์„ฑ์ด ๋†’์Œ
๏‚ง ๊ฐœ๋ฐœํ•˜๋ฉด์„œ ์Šคํƒ€์ผ์ด ๋ณ€ํ•ด๊ฐ. ํ˜น์€ ์–ด๋Š์ชฝ์ด ์ข‹์€์ง€์— ๋Œ€ํ•œ ํŒ๋‹จ์ด ์–ด๋ ค์›€
 function export ๏ƒ  function object ๏ƒ  prototype์œผ๋กœ ํ•จ์ˆ˜๋ฅผ ์ง€์ •ํ•จ


see codesโ€ฆ
expressjs.com


- ์›น ์•ฑ์„œ๋ฒ„๊ฐ€ ํ•„์š”ํ•จ
- node.js๋กœ ์›น ๊ฐœ๋ฐœํ•˜๋Š” ์‚ฌ๋žŒ๋“ค์ด ๊ฐ€์žฅ ๋Œ€์ค‘์ ์œผ๋กœ ์‚ฌ์šฉ
๏‚ง ๋‚˜๋ฆ„ ์˜ค๋ž˜ ๋˜์—ˆ๊ณ  2.0 ์ด์ƒ๋ถ€ํ„ฐ๋Š” ๊ธฐ๋ณธ์ ์œผ๋กœ ์›น์„œ๋ฒ„๊ฐ€ ๊ฐ€์ ธ์•ผ ํ•˜๋Š” ๊ธฐ๋Šฅ๋“ค์ด
์ž˜ ๋“ค์–ด ์žˆ์Œ
๏‚ง ๋ฌธ์„œํ™”๊ฐ€ ๋ถ€์กฑ (๊ณ„์† ๋ฐœ์ „์ค‘. ์ฝ”๋“œ๋ฅผ ๋ณด๊ณ  ์ดํ•ดํ•ด์•ผ ํ•จ)
๏‚ง ๊ฐœ์ธ์˜ ์ทจํ–ฅ์ด ๋ฐ˜์˜๋˜์–ด ๊ฐœ๋ฐœ๋˜๋Š” ๊ฒฝํ–ฅ์ด ์žˆ์Œ
Tj Holowaychuk์ด๋ผ๋Š” ์ข…ํ•ฉ์˜ˆ์ˆ ๊ฐ€๊ฐ€ ๋Œ€๋ถ€๋ถ„์˜ ์ฝ”๋“œ๋ฅผ ๊ฐœ๋ฐœํ•จ
์ž๊ธฐ ๋งˆ์Œ๋Œ€๋กœ ๋ชจ๋“ˆ์„ ์—†์• ๋ฒ„๋ฆฌ๊ฑฐ๋‚˜ ์‚ฌ์šฉ๋ฒ•์„ ๋ฐ”๊พธ๊ฑฐ๋‚˜ ํ•จ
๏‚ง Windows Azure๋ฅผ ์ง€์›ํ•˜๋Š” MS WebMatrix์˜ ๊ธฐ๋ณธ ์›น ์•ฑ์„œ๋ฒ„๋กœ ํƒ‘์žฌ๋˜์–ด ์žˆ์Œ
๏‚ง ํ•˜์ง€๋งŒ ํ˜„์‹ค์ ์œผ๋กœ ๊ฐ€์žฅ ๋งŽ์€ ์‚ฌ๋ก€๊ฐ€ ์žˆ๊ธฐ ๋•Œ๋ฌธ์— ๋Œ€์•ˆ์ด ๋งŽ์ง€ ์•Š์Œ
๏‚ง Meteor์— ๊ธฐ๋Œ€๋ฅผ ํ•ด๋ด„
 ๏ƒ  Spring Framework Creator โ€˜Rod Johnsonโ€™ ํ•ฉ๋ฅ˜
jade-lang.com


- express์™€ ํ•จ๊ป˜ ์“ธ view template์ด ํ•„์š”ํ•จ
-์„ ํƒ์ง€๊ฐ€ ๋ณ„๋กœ ์—†์Œ. jade / ejs
๏‚ง Express์™€ ๊ถํ•ฉ์ด ์ข‹์Œ
๏‚ง JSP๋ณด๋‹ค๋Š” ๋‚˜์Œ
๏‚ง view ์ฝ”๋“œ๋Ÿ‰์ด ์ค„์–ด๋“ฌ (์•ฝ๊ฐ„ zen coding ๋Š๋‚Œ๋„)




But..


๏‚ง ์‚ด์ง ๋…ํŠนํ•œ ๋ฌธ๋ฒ•์„ ๋ฐฐ์›Œ์•ผ ํ•จ
๏‚ง ๋งˆํฌ์—… ๊ฐœ๋ฐœ์ž์™€ ํ˜‘์—…์— ๋‚œํ•ญ์ด ์žˆ์Œ
coffeescript.org


- ์–ด์ฐจํ”ผ ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ๋„ ์ž˜ ๋ชจ๋ฅด๋‹ˆ๊นŒโ€ฆ
- Best Practice๋“ค์˜ ์ž์—ฐ์Šค๋Ÿฌ์šด ์ ์šฉ
- ๊ฐ„๊ฒฐํ•œ ์ฝ”๋“œ
๏‚ง ์ž‘์„ฑ ์ฝ”๋“œ๋Ÿ‰ ๊ฐ์†Œ ๏ƒ  ์ฝ”๋“œ ๋ณต์žก๋„ ๊ฐ์†Œ ๏ƒ  ๊ฐ€๋…์„ฑ ์ฆ๊ฐ€
๏‚ง ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ์˜ best practice๋“ค๊ณผ defects ๋ฅผ ๋ฐฐ์šธ ์ˆ˜ ์žˆ์Œ


ํ•œํŽธ์œผ๋ก โ€ฆ


๏‚ง์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ๋„ ์ž˜ ๋ชจ๋ฅด๋ฉด์„œ!
๏‚ง ๋””๋ฒ„๊น…
   ๏‚ง javascript source maps์ด ๋นจ๋ฆฌ ์™„์„ฑ๋˜๊ธฐ๋ฅผ! ?
   ๏‚ง but โ€ฆ it's a browser technique!
   ๏‚ง http://www.html5rocks.com/en/tutorials/developertools/sourcemaps/
http://visionmedia.github.com/mocha/


- ๊ธฐ๋ณธ assert๋งŒ์œผ๋กœ๋Š” ๋ถ€์กฑ
- async ๋ฐ callback์— ๋Œ€ํ•œ ํ…Œ์ŠคํŠธ๊ฐ€ ํ•„์š”
๏‚ง ๋‹ค์–‘ํ•œ Report์™€ ์Šคํƒ€์ผ ์ง€์›
 โ€ฆ ํ˜•ํƒœ, ๋ณด๊ณ ์„œ ํ˜•ํƒœ, html, json ๋“ฑ. see page..
 โ€ฆ BDD, TDD,
๏‚ง Coffeescript์ง€์›
๏‚ง ๋‹ค๋ฅธ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ์™€ ํ•จ๊ป˜ ์“ธ ์ˆ˜ ์žˆ์Œ
 should.js, expect.js, chai
๏‚ง async test ์ง€์›
๏‚ง๊ฐ„๋‹จํ•œ global leak์„ ์žก์•„์ค€๋‹ค.

             for(idx in files){
               console.log(files[idx])
               โ€ฆ                          No๊ณ ๋ฏผ!
             }
                                          ๊ทธ๋ƒฅ์“ฐ๋ฉด ๋œ๋‹ค!
https://github.com/mde/jake


- Build Script๋„ Javascript๋กœ!
- sh, make, cake, ant ๋“ฑ๋“ฑ์„ ๋Œ€์ฒด
๏‚ง Ant์™€ ๋น„์Šท
๏‚ง ์“ธ๋งŒํ•จ
๏‚ง ๋‹จ, ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ๋กœ ์ž‘์„ฑ๋˜๊ธฐ๋•Œ๋ฌธ์— ๊น”๋”ํ•จ์€ ์กฐ๊ธˆ ์ ์Œ.
๏ƒŸ ์ปคํ”ผ์Šคํฌ๋ฆฝํŠธ๋„ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ์Œ
๏‚ง Jake๋ฅผ ์ปค๋งจ๋“œ ๋ผ์ธ์—์„œ ์“ฐ๋ ค๋ฉด global๋กœ ๋ฏธ๋ฆฌ ์ธ์Šคํ†จ ํ•ด ๋†“์•„์•ผ ํ•จ
๊ทธ๋ ‡์ง€ ์•Š์œผ๋ฉด ์šฐํšŒ๋ฐฉ๋ฒ•์œผ๋กœ
 node node_modules/jake/bin/cli.js build
https://github.com/assaf/zombie


- controller ๋Œ€์‹  ์›น ๋ธŒ๋ผ์šฐ์ € ํ…Œ์ŠคํŠธ๋ฅผ ํ•˜๊ธฐ๋กœ ์ •ํ•จ



- ์ผ์ข…์˜ ์›น ๋ธŒ๋ผ์šฐ์ € ์—๋ฎฌ๋ ˆ์ด์…˜
๏‚ง ๋ธŒ๋ผ์šฐ์ €๋ฅผ ์‹ค์ œ๋กœ ๋„์›Œ์„œ ํ…Œ์ŠคํŠธ ํ•˜์ง€ ์•Š์•„๋„ ๋จ
๏‚ง ํ…Œ์ŠคํŠธ ์Šคํฌ๋ฆฝํŠธ ์ž‘์„ฑ์ด ๊ฐ„๋‹จํ•จ
๏‚ง client side ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ ํ…Œ์ŠคํŠธ๋„ ๊ฐ€๋Šฅํ•จ


Butโ€ฆ
๏‚ง ๊ธฐ๋™์— ์กฐ๊ธˆ ์‹œ๊ฐ„์ด ๊ฑธ๋ ค์„œ ํ…Œ์ŠคํŠธ ํƒ€์ž„์•„์›ƒ์„ ์กฐ๊ธˆ ์—ฌ์œ ์žˆ๊ฒŒ ์žก์•„์•ผ ํ•จ
๏‚ง ์ •๊ตํ•œ ํ…Œ์ŠคํŠธ๋Š” ์ž‘์„ฑ์— ์‹œ๊ฐ„์ด ๋งŽ์ด ๊ฑธ๋ฆฌ๊ฑฐ๋‚˜ ์–ด๋ ค์›€
๏‚ง ๊ฐœ๋ฐœ์ž์˜ ์ •์‹ ์„ธ๊ณ„๊ฐ€ ์กฐ๊ธˆโ€ฆ
https://github.com/mashpie/i18n-node


- i18n ์ฒ˜๋ฆฌ
๏‚ง ์ตœ์ดˆ ๋‹จ์–ด ๋“ฑ๋ก์‹œ message file์— ์ถ”๊ฐ€ํ•  ํ•„์š” ์—†์ด ๋ฉ”์‹œ์ง€๋ฅผ ๋ฐ”๋กœ ์‚ฌ์šฉํ•˜๋ฉด
ํŒŒ์ผ์— ์•Œ์•„์„œ ์ €์žฅ์ด ๋จ.
๏‚ง ๋‹จ์–ด๋ฅผ ๋ฐ”๊ฟ”๋Œ€๋ฉด ๊ธฐ์กด ๋‹จ์–ด๋ฅผ ์ง€์›Œ์ฃผ์ง€๋Š” ์•Š๊ธฐ ๋•Œ๋ฌธ์— ์–ธ์–ด ํŒŒ์ผ์ด ์ง€์ €๋ถ„ ํ•ด ์ง
๏‚ง ํ•œ ๋ฒˆ ๋‹จ์–ด๋ฅผ ์ฝ์–ด ๋“ค์ธ ์ƒํƒœ์—์„œ ๋ฒˆ์—ญ์„ ๋ณ€๊ฒฝํ•˜๋ฉด, ์„œ๋ฒ„๋ฅผ ์žฌ์‹œ์ž‘ ํ•ด์•ผ ํ•จ
step: https://github.com/creationix/step
async: https://github.com/caolan/async


- continuation style์—์„œ์˜ ์ฝ”๋“œ ๊ฐ€๋…์„ฑ ์ฆ๊ฐ€
๏‚ง step์ด ํ›จ์”ฌ ๊น”๋”ํ•˜๊ฒŒ ๋‚˜์˜ค์ง€๋งŒ, ๊ธฐ๋Šฅ์€ ๋‹จ์ˆœ
๏‚ง async๋Š” ์„ธ๊ณ„์ •๋ณต์„ ๊ฟˆ๊พธ๋Š” ์ˆ˜์ค€์œผ๋กœ ๊ธฐ๋Šฅ์ด ๋งŽ์Œ.
<= ์ž์นซํ•˜๋ฉด ์ดํ•ดํ•˜๊ธฐ ๋” ์–ด๋ ต๊ฒŒ ๋ณ€ํ•  ๊ฐ€๋Šฅ์„ฑ๋„ ์žˆ์Œ




                                  ๋‘˜ ๋‹ค ์ถ”์ฒœ!
node.js         Java
 windows   4M    88M
 mac os    8M    144M
 linux     5M    120M
๏‚ง vi
๏‚ง sublime text 2




๏‚ง web storm / IntelliJ
๏‚ง eclipse
๏‚ง Aptana
๏‚ง console.log
   donโ€™t use console.log(โ€˜>>>โ€™ + abc ) style
   see the cases..
๏‚ง debugger
    node debug app.js
๏‚ง node-inspector
    https://github.com/dannycoates/node-inspector
lessons & Learned + ๊ณ ์ƒ์˜ ๊ฒฐ๊ณผ๋“ค
getDecoratedUser('doortts', function(err, user) {
          if (err) throw err;
          console.log(user.name);
    });


var getDecoratedUser= function(username, callback){
     var err;
     if(username === undefined ) err = new Error(โ€˜โ€ฆโ€™);
     callback(err, โ€™[โ€˜ + username + โ€˜]โ€™);
}
๏‚ง๋ธ”๋Ÿญํ‚น ์ฝœ๋ฐฑ(blocking callback)
   ํ˜ธ์ถœํ•œ ๋‹ค์Œ ์‹คํ–‰ ๊ฒฐ๊ณผ๋ฅผ ๋Œ€๊ธฐ
 ๏‚ง์ง€์—ฐ ์ฝœ๋ฐฑ(deffered callback)
   ํ˜ธ์ถœํ•œ ๋‹ค์Œ ์‹คํ–‰ ๊ฒฐ๊ณผ๋Š” ๋‚˜์ค‘์— ๋ฐ›๋Š”๋‹ค.




์šฐ๋ฆฌ๊ฐ€ ์จ์•ผ ํ•˜๋Š”๊ฑด
์ง€์—ฐ ์ฝœ๋ฐฑ!!
(ํ˜น์€ async callback์ด๋ผ๊ณ ๋„ ๋ถˆ๋ฆผ)
diagonal sequence
   var result, isUserExist;
   getUser ('doortts', function (err, user) {
        if (err) throw err;
        isExist(user, function(err, isExist){
              isUserExist = isExist;
           }
           if (isUserExist)
              console.log(result.name + ":" + result.email);
    });
diagonal sequence
   var result, isUserExist;
   getUser ('doortts', function (err, user) {
        if (err) throw err;
        isExist(user, function(err, isExist){
              isUserExist = isExist;
           }
           if (isUserExist)
              console.log(result.name + ":" + result.email);
    });
diagonal sequence
   var result, isUserExist;
   getUser ('doortts', function (err, user) {
        if (err) throw err;
        isExist(user, function(err, isExist){
              isUserExist = isExist;
           }
           if (isUserExist)
              console.log(result.name + ":" + result.email);
    });
๏‚งECMA Script 3, 5



๏‚ง (0.1 + 0.2) == 0.3
๏‚ง sortโ€ฆ
 see the codes
๏‚ง ์„œ๋ฒ„์‚ฌ์ด๋“œ ๊ฐœ๋ฐœ์ž? ํ”„๋ก ํŠธ์•ค๋“œ ๊ฐœ๋ฐœ์ž?
๏‚ง ํฐ ๊ณ ๋ฏผ์—†์ด ์‚ฌ์šฉํ•ด๋„ ๊ดœ์ฐฎ์€ ์„ฑ๋Šฅ
๏‚ง ๋‹ค์–‘ํ•œ ๋ชจ๋“ˆ์„ ํ†ตํ•œ ์†์‰ฌ์šด(?) ๊ฐœ๋ฐœ
๏‚ง ๋งŽ์€ ๊ฐœ๋ฐœ์ž๋“ค์ด (๋ฏธ์นœ๋“ฏ์ด) ๋›ฐ์–ด๋“ค๊ณ  ์žˆ์Œ
 ํฌ๋ฝํฌ๋“œ ์•„์ €์”จ๋งˆ์ €..
๏‚ง ๋ฏธ๋ž˜์— ๋Œ€ํ•œ ์ค€๋น„
 ์•ˆ๋“œ๋กœ์ด๋“œ/์•„์ดํฐ์˜ ๊ตํ›ˆ
๏‚ง ์‚ฌ์‹ค ๋‹จ์ผ ์–ธ์–ด๋ผ๊ณ  ํ•˜๊ธฐ์—” ์‚ด์ง ๋ฌด๋ฆฌ๊ฐ€ ์žˆ์ง€๋งŒ ๋งค์šฐ ๋งค๋ ฅ์ ์ž„
๏‚ง ์›น ๊ฐœ๋ฐœ ํ•˜๋ ค๋ฉด ์–ด์ฐจํ”ผ ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ ๋ฐฐ์›Œ์•ผ ํ•จ
๏‚ง ๊ทน๋‹จ์ ์ธ ์ฝ”๋“œ ์žฌํ™œ์šฉ
 Server-side / front-end ์–‘์ชฝ์—์„œ ์‚ฌ์šฉ๊ฐ€๋Šฅํ•œ ์ฝ”๋“œ ์ž‘์„ฑ๊ฐ€๋Šฅ
๏‚ง ์ƒ๊ฐ๋ณด๋‹ค๋Š” ์–ด๋ ต์ง€๋งŒ, ํ•œํŽธ์œผ๋กœ๋Š” ์ƒ๊ฐ๋ณด๋‹ค๋Š” ๊ฐ„๊ฒฐํ•œ ์–ธ์–ด์ธ ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ
๏‚ง ์ฒ˜์Œ์—” ์™„์ „ ์žฌ๋ฐŒ์Œ!
๏‚ง ํ•˜์ง€๋งŒโ€ฆ
๏‚ง ์„ฑ๋Šฅ์ด ์ •๋ง ์ข‹์€๊ฐ€?
๏‚ง Single Thread ๋ผ๋ฉฐ?
๏‚ง Multicore CPU ํ™œ์šฉ์€?
 CPU ์ง‘์ค‘์ ์ธ ์ผ์€ ์ข€โ€ฆ
๏‚ง ์šฐ๋ฆฌ๋‚˜๋ผ์—์„œ๋Š” ์ซŒโ€ฆ
๏‚ง socket.io ์“ฐ๋ ค๊ณ  node.js ๋ฐฐ์›Œ์š”!




                       ์ปค๋ฎค๋‹ˆํ‹ฐ์—์„œ ๋” ๋งŽ์€ ์ด์•ผ๊ธฐ ๋‚˜๋ˆ ์š”~ ^^;
                       facebook.com/octoberskyjs
Thread Pool
๏‚ง concepts
๏‚ง modules
  core module, file modules
๏‚ง npm



๏‚ง ECMA 3, ECMA 5
 ์˜ˆ) JSON.parse(text [, reviver])


๏‚ง Profiling, ArrayBuffer


                                   ์ฐธ๊ณ 
                                   ์ด์œ ์ž์‹ ๋งค ํ•˜๋‚˜ ๋” ์ค€๋‹ค๋Š” ์‹ฌ์ •์œผ๋กœ ์“ฐ๋Š” node.js ์ด์•ผ๊ธฐ
                                   http://blog.doortts.com/262
๏‚ง node.js mailling list
๏‚ง Scoop-it - http://www.scoop.it/t/nodejs-code
๏‚ง facebook.com/octoberskyj, nodejskr.org
๏‚ง Mozilla Developer Network โ€“ Javascript
  https://developer.mozilla.org/en-US/docs/JavaScript


๏‚ง ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ ์ฝ”๋”ฉ ๊ธฐ๋ฒ•๊ณผ ํ•ต์‹ฌ ํŒจํ„ด
๏‚ง ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ ํ•ต์‹ฌ ๊ฐ€์ด๋“œ
๏‚ง ํƒ€์ž…์ฒดํฌ๋„ ์•ˆ๋˜๊ณ  ๋’ท ๊ฐ๋‹น ์•ˆ๋ฉ๋‹ˆ๋‹ค!
๏‚ง ๊ฐ€๋…์„ฑ๋„ ์—ฌ์ฐจํ•˜๋ฉด ๋ฌด๋„ˆ์ง€๋Š”๋ฐ ํ…Œ์ŠคํŠธ ์—†์œผ๋ฉด ํž˜๋“ค๋•Œ ๋งŽ์Šต๋‹ˆ๋‹ค.
๏‚ง ์‚ฌ์‹ค ์žˆ์–ด๋„ ํž˜๋“ญ๋‹ˆ๋‹ค.



๏‚ง ์›น ๊ฐœ๋ฐœ์ด ์Šคํ”„๋ง์€ ์•„๋‹ˆ์ž–์•„์š”!




๏‚ง์—ด์‹ฌํžˆ ํ• ๊ฒŒ์š”!
๋ฐ˜๋Œ€๋กœ ๋ชจ๋ฅด๋ฉด ํ”ผ๊ณคํ•œ..
๏‚ง ํ•œ๋ฒˆ๋งŒ ๋กœ๋“œ๋œ๋‹ค.
๏‚ง ๋”ฐ๋ผ์„œ ์žฌ๊ธฐ๋™์„ ํ•ด์•ผ ๋ชจ๋“ˆ์ด ์ƒˆ๋กœ ๋ฐ˜์˜๋œ๋‹ค.
๏‚ง ์บ์‹œ๋ฅผ ์ง€์šฐ๋ฉด ๋˜์ง€๋งŒ ๊ฐœ๋ฐœ๋•Œ ์ด์™ธ์—๋Š” ์‚ฌ์šฉ๊ธˆ์ง€



๏‚ง event-loop clock time์œผ๋กœ ํ•œ ํƒ€์ž„ ๋’ค๋กœ ์ž‘์—…์„ ๋ฏธ๋ฃฌ๋‹ค.
๏‚ง heavyํ•œ ์ผ์„ ์ฒ˜๋ฆฌํ•  ๋•Œ ์ „์ฒด ์ž‘์—…์ด ๋ฉˆ์ถ”๋Š” ์ผ์ด ์—†๊ฒŒ ํ•˜๋ ค๋ฉด ๊ผญ ์จ์•ผํ•จ
๏‚ง setTimeout( callback, 0 )๋ณด๋‹ค ํšจ์œจ์ด ์ข‹์Œ!
var name = o && o.getName();
var name = otherName || "default";




switch(a) {
    case 1: // fallthrough
    case 2:
      eatit();
      break;
    default:
      donothing();
}
for (var i = 0; i < a.length; i++) {
    ...
}
console.log(i);



- ๋งŒ์•ฝ debugger ๋ช…๋ น์–ด๋กœ debug๊ฐ€ ์ž˜ ์•ˆ๋ ๋•Œ๋Š” --debug-brk ์˜ต์…˜์„ ์‚ฌ์šฉํ•œ๋‹ค.



- ๋ฉ”๋ชจ๋ฆฌ Leak์˜ ์œ„ํ—˜์ด ํฌ๋‹ค. ์ด๋ฒคํŠธ ๋“ฑ๋ก/ํ•ด์ œ๋ฅผ ์ž˜ ํ•ด์ฃผ์–ด์•ผ ํ•œ๋‹ค.
if (typeof module !== 'undefined' && module.exports) {
    module.exports = _;
}




var exports = module.exports = Emailer




- ํฌ๋กฌ์€ favicon์„ ์ฐพ๊ธฐ์œ„ํ•ด ๋”ฐ๋กœ request๋ฅผ ๋ณด๋‚ธ๋‹ค.
-local variable, cached
- module.exports === exports
- Core modules
- File modules
 .js, .json, .node




- async๋ฅผ ์“ธ๊ฑฐ๋ฉด node.js๋ฅผ ์™œ์“ฐ๋‹ˆ? ๋ผ๊ณ  ๋ง ํ•  ์ˆ˜๋„ ์žˆ์ง€๋งŒ,
์ƒ๊ฐ๋ณด๋‹ค ๋งŽ์€ ๊ฒฝ์šฐ sync ๋ฉ”์†Œ๋“œ๊ฐ€ ์œ ๋ฆฌํ• ๋•Œ๊ฐ€ ์žˆ๋‹ค.
ํŠนํžˆ timming ๋ฌธ์ œ์˜ ๊ฒฝ์šฐ.
- getter/setter
 see codes


- Object.preventExtentions(object)
- Object.seal(object): configurable bits off
- Object.freeze(object): writeable bits off, ๊ฒฐ๊ณผ์ ์œผ๋กœ immutable์„ ๋งŒ๋“ค์ˆ˜ ์žˆ๋‹ค.
node -e 'console.log(require("fs").watch+"")'




var getUser = function( name, callback) {
    โ€ฆ
    callback(err, data );
}


                            ์ด ์™ธ ๋” ๋งŽ์€ ๋‚ด์šฉ์€ ์‹œ๊ฐ„๊ด€๊ณ„์ƒโ€ฆ ์ด๋ผ๋Š” ๋ง๋กœ
                            ์–ผ๋ฒ„๋ฌด๋ฆด ์˜ˆ์ •์ž…โ€ฆ
                            helloworld ๋ธ”๋กœ๊ทธ, ์ฑ… ๋“ฑ์„ ํ†ตํ•ด ๋” ์ด์•ผ๊ธฐ ๋“œ๋ฆด๊ฒŒ์š”
๊ด‘๊ณ  โ€“ ๋ฐœํ‘œ์ž๊ฐ€ ๋˜์–ด์ฃผ์„ธ์š”!

 nodejs korea conference
 11์›” 20์ผ (ํ™”)
 node committer ๋ฐ core contributor ์ฐธ์„ ์˜ˆ์ •
 facebook.com/octoberskyjs ์—์„œ ์†Œ์‹์„ ๊ท€ ๊ธฐ์šธ์—ฌ ์ฃผ์„ธ์š”! ^,^)/
[C5]deview 2012 nodejs

More Related Content

What's hot

Javascript everywhere - Node.js | Devon 2012
Javascript everywhere - Node.js | Devon 2012Javascript everywhere - Node.js | Devon 2012
Javascript everywhere - Node.js | Devon 2012Daum DNA
ย 
์•„๊ฟˆ์‚ฌ ๋ฐœํ‘œ Node JS ํ”„๋กœ๊ทธ๋ž˜๋ฐ 8์žฅ
์•„๊ฟˆ์‚ฌ ๋ฐœํ‘œ Node JS ํ”„๋กœ๊ทธ๋ž˜๋ฐ 8์žฅ์•„๊ฟˆ์‚ฌ ๋ฐœํ‘œ Node JS ํ”„๋กœ๊ทธ๋ž˜๋ฐ 8์žฅ
์•„๊ฟˆ์‚ฌ ๋ฐœํ‘œ Node JS ํ”„๋กœ๊ทธ๋ž˜๋ฐ 8์žฅWoo Yeong Choi
ย 
Node.js + Websocket ์‚ฝ์งˆ๊ธฐ
Node.js + Websocket ์‚ฝ์งˆ๊ธฐNode.js + Websocket ์‚ฝ์งˆ๊ธฐ
Node.js + Websocket ์‚ฝ์งˆ๊ธฐPaprikhan
ย 
[NDC17] Unreal.js - ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ๋กœ ์‰ฝ๊ณ  ๋น ๋ฅธ UE4 ๊ฐœ๋ฐœํ•˜๊ธฐ
[NDC17] Unreal.js - ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ๋กœ ์‰ฝ๊ณ  ๋น ๋ฅธ UE4 ๊ฐœ๋ฐœํ•˜๊ธฐ[NDC17] Unreal.js - ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ๋กœ ์‰ฝ๊ณ  ๋น ๋ฅธ UE4 ๊ฐœ๋ฐœํ•˜๊ธฐ
[NDC17] Unreal.js - ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ๋กœ ์‰ฝ๊ณ  ๋น ๋ฅธ UE4 ๊ฐœ๋ฐœํ•˜๊ธฐํ˜„์ฒ  ์กฐ
ย 
Node.js ํ˜„์žฌ์™€ ๋ฏธ๋ž˜
Node.js ํ˜„์žฌ์™€ ๋ฏธ๋ž˜Node.js ํ˜„์žฌ์™€ ๋ฏธ๋ž˜
Node.js ํ˜„์žฌ์™€ ๋ฏธ๋ž˜JeongHun Byeon
ย 
Python server-101
Python server-101Python server-101
Python server-101Huey Park
ย 
[แ„‡แ…กแ†ฏแ„‘แ…ญ] แ„†แ…ฆแ†ฏแ„แ…ตแ†ผแ„‘แ…กแ†บ แ„‰แ…ฅแ„‡แ…ฅ แ„‰แ…กแ„‹แ…ตแ„ƒแ…ณ แ„…แ…ฆแ„‡แ…ฆแ†ฏแ„‹แ…ฆแ„‰แ…ฅ แ„Œแ…กแ„‡แ…ก แ„‰แ…ณแ„แ…ณแ„…แ…ตแ†ธแ„แ…ณ แ„‹แ…ฆแ†ซแ„Œแ…ตแ†ซ Node.jsแ„‹แ…ด แ„€แ…กแ„‚แ…ณแ†ผ...
[แ„‡แ…กแ†ฏแ„‘แ…ญ] แ„†แ…ฆแ†ฏแ„แ…ตแ†ผแ„‘แ…กแ†บ แ„‰แ…ฅแ„‡แ…ฅ แ„‰แ…กแ„‹แ…ตแ„ƒแ…ณ แ„…แ…ฆแ„‡แ…ฆแ†ฏแ„‹แ…ฆแ„‰แ…ฅ แ„Œแ…กแ„‡แ…ก แ„‰แ…ณแ„แ…ณแ„…แ…ตแ†ธแ„แ…ณ แ„‹แ…ฆแ†ซแ„Œแ…ตแ†ซ Node.jsแ„‹แ…ด แ„€แ…กแ„‚แ…ณแ†ผ...[แ„‡แ…กแ†ฏแ„‘แ…ญ] แ„†แ…ฆแ†ฏแ„แ…ตแ†ผแ„‘แ…กแ†บ แ„‰แ…ฅแ„‡แ…ฅ แ„‰แ…กแ„‹แ…ตแ„ƒแ…ณ แ„…แ…ฆแ„‡แ…ฆแ†ฏแ„‹แ…ฆแ„‰แ…ฅ แ„Œแ…กแ„‡แ…ก แ„‰แ…ณแ„แ…ณแ„…แ…ตแ†ธแ„แ…ณ แ„‹แ…ฆแ†ซแ„Œแ…ตแ†ซ Node.jsแ„‹แ…ด แ„€แ…กแ„‚แ…ณแ†ผ...
[แ„‡แ…กแ†ฏแ„‘แ…ญ] แ„†แ…ฆแ†ฏแ„แ…ตแ†ผแ„‘แ…กแ†บ แ„‰แ…ฅแ„‡แ…ฅ แ„‰แ…กแ„‹แ…ตแ„ƒแ…ณ แ„…แ…ฆแ„‡แ…ฆแ†ฏแ„‹แ…ฆแ„‰แ…ฅ แ„Œแ…กแ„‡แ…ก แ„‰แ…ณแ„แ…ณแ„…แ…ตแ†ธแ„แ…ณ แ„‹แ…ฆแ†ซแ„Œแ…ตแ†ซ Node.jsแ„‹แ…ด แ„€แ…กแ„‚แ…ณแ†ผ...Dennis Kim
ย 
์Šค๋งˆํŠธํฐ ์•ฑ ๋ฐฑ-์—”๋“œ ์†”๋ฃจ์…˜ ๊ฐœ๋ฐœ์„ ์œ„ํ•œ Node.js ์‹ค์ „ ๊ฐ€์ด๋“œ
์Šค๋งˆํŠธํฐ ์•ฑ ๋ฐฑ-์—”๋“œ ์†”๋ฃจ์…˜ ๊ฐœ๋ฐœ์„ ์œ„ํ•œ Node.js ์‹ค์ „ ๊ฐ€์ด๋“œ์Šค๋งˆํŠธํฐ ์•ฑ ๋ฐฑ-์—”๋“œ ์†”๋ฃจ์…˜ ๊ฐœ๋ฐœ์„ ์œ„ํ•œ Node.js ์‹ค์ „ ๊ฐ€์ด๋“œ
์Šค๋งˆํŠธํฐ ์•ฑ ๋ฐฑ-์—”๋“œ ์†”๋ฃจ์…˜ ๊ฐœ๋ฐœ์„ ์œ„ํ•œ Node.js ์‹ค์ „ ๊ฐ€์ด๋“œJeongsang Baek
ย 
Jenkins๋ฅผ ํ™œ์šฉํ•œ javascript ๊ฐœ๋ฐœ
Jenkins๋ฅผ ํ™œ์šฉํ•œ javascript ๊ฐœ๋ฐœJenkins๋ฅผ ํ™œ์šฉํ•œ javascript ๊ฐœ๋ฐœ
Jenkins๋ฅผ ํ™œ์šฉํ•œ javascript ๊ฐœ๋ฐœ์ง€์ˆ˜ ์œค
ย 
Front-end Development Process - ์–ด๋””๊นŒ์ง€ ๊ฐœ์„ ํ•  ์ˆ˜ ์žˆ๋‚˜
Front-end Development Process - ์–ด๋””๊นŒ์ง€ ๊ฐœ์„ ํ•  ์ˆ˜ ์žˆ๋‚˜Front-end Development Process - ์–ด๋””๊นŒ์ง€ ๊ฐœ์„ ํ•  ์ˆ˜ ์žˆ๋‚˜
Front-end Development Process - ์–ด๋””๊นŒ์ง€ ๊ฐœ์„ ํ•  ์ˆ˜ ์žˆ๋‚˜JeongHun Byeon
ย 
์‹ค์‹œ๊ฐ„์œผ๋กœ ์•ˆ๋“œ๋กœ์ด๋“œ ํ”„๋ก ํŠธ์—”๋“œ ์ž‘์—…ํ•˜๊ธฐ
์‹ค์‹œ๊ฐ„์œผ๋กœ ์•ˆ๋“œ๋กœ์ด๋“œ ํ”„๋ก ํŠธ์—”๋“œ ์ž‘์—…ํ•˜๊ธฐ์‹ค์‹œ๊ฐ„์œผ๋กœ ์•ˆ๋“œ๋กœ์ด๋“œ ํ”„๋ก ํŠธ์—”๋“œ ์ž‘์—…ํ•˜๊ธฐ
์‹ค์‹œ๊ฐ„์œผ๋กœ ์•ˆ๋“œ๋กœ์ด๋“œ ํ”„๋ก ํŠธ์—”๋“œ ์ž‘์—…ํ•˜๊ธฐHaze Lee
ย 
Node.js
Node.jsNode.js
Node.jsymtech
ย 
[123] electron แ„€แ…ตแ†ทแ„‰แ…ฅแ†ผแ„’แ…ฎแ†ซ
[123] electron แ„€แ…ตแ†ทแ„‰แ…ฅแ†ผแ„’แ…ฎแ†ซ[123] electron แ„€แ…ตแ†ทแ„‰แ…ฅแ†ผแ„’แ…ฎแ†ซ
[123] electron แ„€แ…ตแ†ทแ„‰แ…ฅแ†ผแ„’แ…ฎแ†ซNAVER D2
ย 
Node.js in Flitto
Node.js in FlittoNode.js in Flitto
Node.js in FlittoSeungWoo Lee
ย 
์‘๋‹ตํ•˜๋ผ ๋ฐ˜์‘ํ˜•์›น - 4. angular
์‘๋‹ตํ•˜๋ผ ๋ฐ˜์‘ํ˜•์›น - 4. angular์‘๋‹ตํ•˜๋ผ ๋ฐ˜์‘ํ˜•์›น - 4. angular
์‘๋‹ตํ•˜๋ผ ๋ฐ˜์‘ํ˜•์›น - 4. angularredribbon1307
ย 
แ„‹แ…ฐแ†ธ Front-End แ„‰แ…ตแ†ฏแ„†แ…ฎ แ„‹แ…ตแ„‹แ…ฃแ„€แ…ต
แ„‹แ…ฐแ†ธ Front-End แ„‰แ…ตแ†ฏแ„†แ…ฎ แ„‹แ…ตแ„‹แ…ฃแ„€แ…ตแ„‹แ…ฐแ†ธ Front-End แ„‰แ…ตแ†ฏแ„†แ…ฎ แ„‹แ…ตแ„‹แ…ฃแ„€แ…ต
แ„‹แ…ฐแ†ธ Front-End แ„‰แ…ตแ†ฏแ„†แ…ฎ แ„‹แ…ตแ„‹แ…ฃแ„€แ…ตJinKwon Lee
ย 
์ด์Šน์žฌ, ์‹ค๋ฒ„๋ฐ”์ธ ์„œ๋ฒ„์—”์ง„ 2 ์„ค๊ณ„ ๋ฆฌ๋ทฐ, NDC2018
์ด์Šน์žฌ, ์‹ค๋ฒ„๋ฐ”์ธ ์„œ๋ฒ„์—”์ง„ 2 ์„ค๊ณ„ ๋ฆฌ๋ทฐ, NDC2018์ด์Šน์žฌ, ์‹ค๋ฒ„๋ฐ”์ธ ์„œ๋ฒ„์—”์ง„ 2 ์„ค๊ณ„ ๋ฆฌ๋ทฐ, NDC2018
์ด์Šน์žฌ, ์‹ค๋ฒ„๋ฐ”์ธ ์„œ๋ฒ„์—”์ง„ 2 ์„ค๊ณ„ ๋ฆฌ๋ทฐ, NDC2018devCAT Studio, NEXON
ย 
[NDC17] ์™“ ์ŠคํŠœ๋””์˜ค ์„œ๋น„์ŠคํŒŒํŠธ
[NDC17] ์™“ ์ŠคํŠœ๋””์˜ค ์„œ๋น„์ŠคํŒŒํŠธ[NDC17] ์™“ ์ŠคํŠœ๋””์˜ค ์„œ๋น„์ŠคํŒŒํŠธ
[NDC17] ์™“ ์ŠคํŠœ๋””์˜ค ์„œ๋น„์ŠคํŒŒํŠธChanwoong Kim
ย 
๊ณต์„ฑ๋Œ€์ „ C# ์‚ฌ์šฉ๊ธฐ
๊ณต์„ฑ๋Œ€์ „ C# ์‚ฌ์šฉ๊ธฐ๊ณต์„ฑ๋Œ€์ „ C# ์‚ฌ์šฉ๊ธฐ
๊ณต์„ฑ๋Œ€์ „ C# ์‚ฌ์šฉ๊ธฐMyoung-gyu Gang
ย 
์†ก์ฐฝ๊ทœ, unity build๋กœ ๋นŒ๋“œํƒ€์ž„ ๋ฐ˜ํ† ๋ง‰๋‚ด๊ธฐ, NDC2010
์†ก์ฐฝ๊ทœ, unity build๋กœ ๋นŒ๋“œํƒ€์ž„ ๋ฐ˜ํ† ๋ง‰๋‚ด๊ธฐ, NDC2010์†ก์ฐฝ๊ทœ, unity build๋กœ ๋นŒ๋“œํƒ€์ž„ ๋ฐ˜ํ† ๋ง‰๋‚ด๊ธฐ, NDC2010
์†ก์ฐฝ๊ทœ, unity build๋กœ ๋นŒ๋“œํƒ€์ž„ ๋ฐ˜ํ† ๋ง‰๋‚ด๊ธฐ, NDC2010devCAT Studio, NEXON
ย 

What's hot (20)

Javascript everywhere - Node.js | Devon 2012
Javascript everywhere - Node.js | Devon 2012Javascript everywhere - Node.js | Devon 2012
Javascript everywhere - Node.js | Devon 2012
ย 
์•„๊ฟˆ์‚ฌ ๋ฐœํ‘œ Node JS ํ”„๋กœ๊ทธ๋ž˜๋ฐ 8์žฅ
์•„๊ฟˆ์‚ฌ ๋ฐœํ‘œ Node JS ํ”„๋กœ๊ทธ๋ž˜๋ฐ 8์žฅ์•„๊ฟˆ์‚ฌ ๋ฐœํ‘œ Node JS ํ”„๋กœ๊ทธ๋ž˜๋ฐ 8์žฅ
์•„๊ฟˆ์‚ฌ ๋ฐœํ‘œ Node JS ํ”„๋กœ๊ทธ๋ž˜๋ฐ 8์žฅ
ย 
Node.js + Websocket ์‚ฝ์งˆ๊ธฐ
Node.js + Websocket ์‚ฝ์งˆ๊ธฐNode.js + Websocket ์‚ฝ์งˆ๊ธฐ
Node.js + Websocket ์‚ฝ์งˆ๊ธฐ
ย 
[NDC17] Unreal.js - ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ๋กœ ์‰ฝ๊ณ  ๋น ๋ฅธ UE4 ๊ฐœ๋ฐœํ•˜๊ธฐ
[NDC17] Unreal.js - ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ๋กœ ์‰ฝ๊ณ  ๋น ๋ฅธ UE4 ๊ฐœ๋ฐœํ•˜๊ธฐ[NDC17] Unreal.js - ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ๋กœ ์‰ฝ๊ณ  ๋น ๋ฅธ UE4 ๊ฐœ๋ฐœํ•˜๊ธฐ
[NDC17] Unreal.js - ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ๋กœ ์‰ฝ๊ณ  ๋น ๋ฅธ UE4 ๊ฐœ๋ฐœํ•˜๊ธฐ
ย 
Node.js ํ˜„์žฌ์™€ ๋ฏธ๋ž˜
Node.js ํ˜„์žฌ์™€ ๋ฏธ๋ž˜Node.js ํ˜„์žฌ์™€ ๋ฏธ๋ž˜
Node.js ํ˜„์žฌ์™€ ๋ฏธ๋ž˜
ย 
Python server-101
Python server-101Python server-101
Python server-101
ย 
[แ„‡แ…กแ†ฏแ„‘แ…ญ] แ„†แ…ฆแ†ฏแ„แ…ตแ†ผแ„‘แ…กแ†บ แ„‰แ…ฅแ„‡แ…ฅ แ„‰แ…กแ„‹แ…ตแ„ƒแ…ณ แ„…แ…ฆแ„‡แ…ฆแ†ฏแ„‹แ…ฆแ„‰แ…ฅ แ„Œแ…กแ„‡แ…ก แ„‰แ…ณแ„แ…ณแ„…แ…ตแ†ธแ„แ…ณ แ„‹แ…ฆแ†ซแ„Œแ…ตแ†ซ Node.jsแ„‹แ…ด แ„€แ…กแ„‚แ…ณแ†ผ...
[แ„‡แ…กแ†ฏแ„‘แ…ญ] แ„†แ…ฆแ†ฏแ„แ…ตแ†ผแ„‘แ…กแ†บ แ„‰แ…ฅแ„‡แ…ฅ แ„‰แ…กแ„‹แ…ตแ„ƒแ…ณ แ„…แ…ฆแ„‡แ…ฆแ†ฏแ„‹แ…ฆแ„‰แ…ฅ แ„Œแ…กแ„‡แ…ก แ„‰แ…ณแ„แ…ณแ„…แ…ตแ†ธแ„แ…ณ แ„‹แ…ฆแ†ซแ„Œแ…ตแ†ซ Node.jsแ„‹แ…ด แ„€แ…กแ„‚แ…ณแ†ผ...[แ„‡แ…กแ†ฏแ„‘แ…ญ] แ„†แ…ฆแ†ฏแ„แ…ตแ†ผแ„‘แ…กแ†บ แ„‰แ…ฅแ„‡แ…ฅ แ„‰แ…กแ„‹แ…ตแ„ƒแ…ณ แ„…แ…ฆแ„‡แ…ฆแ†ฏแ„‹แ…ฆแ„‰แ…ฅ แ„Œแ…กแ„‡แ…ก แ„‰แ…ณแ„แ…ณแ„…แ…ตแ†ธแ„แ…ณ แ„‹แ…ฆแ†ซแ„Œแ…ตแ†ซ Node.jsแ„‹แ…ด แ„€แ…กแ„‚แ…ณแ†ผ...
[แ„‡แ…กแ†ฏแ„‘แ…ญ] แ„†แ…ฆแ†ฏแ„แ…ตแ†ผแ„‘แ…กแ†บ แ„‰แ…ฅแ„‡แ…ฅ แ„‰แ…กแ„‹แ…ตแ„ƒแ…ณ แ„…แ…ฆแ„‡แ…ฆแ†ฏแ„‹แ…ฆแ„‰แ…ฅ แ„Œแ…กแ„‡แ…ก แ„‰แ…ณแ„แ…ณแ„…แ…ตแ†ธแ„แ…ณ แ„‹แ…ฆแ†ซแ„Œแ…ตแ†ซ Node.jsแ„‹แ…ด แ„€แ…กแ„‚แ…ณแ†ผ...
ย 
์Šค๋งˆํŠธํฐ ์•ฑ ๋ฐฑ-์—”๋“œ ์†”๋ฃจ์…˜ ๊ฐœ๋ฐœ์„ ์œ„ํ•œ Node.js ์‹ค์ „ ๊ฐ€์ด๋“œ
์Šค๋งˆํŠธํฐ ์•ฑ ๋ฐฑ-์—”๋“œ ์†”๋ฃจ์…˜ ๊ฐœ๋ฐœ์„ ์œ„ํ•œ Node.js ์‹ค์ „ ๊ฐ€์ด๋“œ์Šค๋งˆํŠธํฐ ์•ฑ ๋ฐฑ-์—”๋“œ ์†”๋ฃจ์…˜ ๊ฐœ๋ฐœ์„ ์œ„ํ•œ Node.js ์‹ค์ „ ๊ฐ€์ด๋“œ
์Šค๋งˆํŠธํฐ ์•ฑ ๋ฐฑ-์—”๋“œ ์†”๋ฃจ์…˜ ๊ฐœ๋ฐœ์„ ์œ„ํ•œ Node.js ์‹ค์ „ ๊ฐ€์ด๋“œ
ย 
Jenkins๋ฅผ ํ™œ์šฉํ•œ javascript ๊ฐœ๋ฐœ
Jenkins๋ฅผ ํ™œ์šฉํ•œ javascript ๊ฐœ๋ฐœJenkins๋ฅผ ํ™œ์šฉํ•œ javascript ๊ฐœ๋ฐœ
Jenkins๋ฅผ ํ™œ์šฉํ•œ javascript ๊ฐœ๋ฐœ
ย 
Front-end Development Process - ์–ด๋””๊นŒ์ง€ ๊ฐœ์„ ํ•  ์ˆ˜ ์žˆ๋‚˜
Front-end Development Process - ์–ด๋””๊นŒ์ง€ ๊ฐœ์„ ํ•  ์ˆ˜ ์žˆ๋‚˜Front-end Development Process - ์–ด๋””๊นŒ์ง€ ๊ฐœ์„ ํ•  ์ˆ˜ ์žˆ๋‚˜
Front-end Development Process - ์–ด๋””๊นŒ์ง€ ๊ฐœ์„ ํ•  ์ˆ˜ ์žˆ๋‚˜
ย 
์‹ค์‹œ๊ฐ„์œผ๋กœ ์•ˆ๋“œ๋กœ์ด๋“œ ํ”„๋ก ํŠธ์—”๋“œ ์ž‘์—…ํ•˜๊ธฐ
์‹ค์‹œ๊ฐ„์œผ๋กœ ์•ˆ๋“œ๋กœ์ด๋“œ ํ”„๋ก ํŠธ์—”๋“œ ์ž‘์—…ํ•˜๊ธฐ์‹ค์‹œ๊ฐ„์œผ๋กœ ์•ˆ๋“œ๋กœ์ด๋“œ ํ”„๋ก ํŠธ์—”๋“œ ์ž‘์—…ํ•˜๊ธฐ
์‹ค์‹œ๊ฐ„์œผ๋กœ ์•ˆ๋“œ๋กœ์ด๋“œ ํ”„๋ก ํŠธ์—”๋“œ ์ž‘์—…ํ•˜๊ธฐ
ย 
Node.js
Node.jsNode.js
Node.js
ย 
[123] electron แ„€แ…ตแ†ทแ„‰แ…ฅแ†ผแ„’แ…ฎแ†ซ
[123] electron แ„€แ…ตแ†ทแ„‰แ…ฅแ†ผแ„’แ…ฎแ†ซ[123] electron แ„€แ…ตแ†ทแ„‰แ…ฅแ†ผแ„’แ…ฎแ†ซ
[123] electron แ„€แ…ตแ†ทแ„‰แ…ฅแ†ผแ„’แ…ฎแ†ซ
ย 
Node.js in Flitto
Node.js in FlittoNode.js in Flitto
Node.js in Flitto
ย 
์‘๋‹ตํ•˜๋ผ ๋ฐ˜์‘ํ˜•์›น - 4. angular
์‘๋‹ตํ•˜๋ผ ๋ฐ˜์‘ํ˜•์›น - 4. angular์‘๋‹ตํ•˜๋ผ ๋ฐ˜์‘ํ˜•์›น - 4. angular
์‘๋‹ตํ•˜๋ผ ๋ฐ˜์‘ํ˜•์›น - 4. angular
ย 
แ„‹แ…ฐแ†ธ Front-End แ„‰แ…ตแ†ฏแ„†แ…ฎ แ„‹แ…ตแ„‹แ…ฃแ„€แ…ต
แ„‹แ…ฐแ†ธ Front-End แ„‰แ…ตแ†ฏแ„†แ…ฎ แ„‹แ…ตแ„‹แ…ฃแ„€แ…ตแ„‹แ…ฐแ†ธ Front-End แ„‰แ…ตแ†ฏแ„†แ…ฎ แ„‹แ…ตแ„‹แ…ฃแ„€แ…ต
แ„‹แ…ฐแ†ธ Front-End แ„‰แ…ตแ†ฏแ„†แ…ฎ แ„‹แ…ตแ„‹แ…ฃแ„€แ…ต
ย 
์ด์Šน์žฌ, ์‹ค๋ฒ„๋ฐ”์ธ ์„œ๋ฒ„์—”์ง„ 2 ์„ค๊ณ„ ๋ฆฌ๋ทฐ, NDC2018
์ด์Šน์žฌ, ์‹ค๋ฒ„๋ฐ”์ธ ์„œ๋ฒ„์—”์ง„ 2 ์„ค๊ณ„ ๋ฆฌ๋ทฐ, NDC2018์ด์Šน์žฌ, ์‹ค๋ฒ„๋ฐ”์ธ ์„œ๋ฒ„์—”์ง„ 2 ์„ค๊ณ„ ๋ฆฌ๋ทฐ, NDC2018
์ด์Šน์žฌ, ์‹ค๋ฒ„๋ฐ”์ธ ์„œ๋ฒ„์—”์ง„ 2 ์„ค๊ณ„ ๋ฆฌ๋ทฐ, NDC2018
ย 
[NDC17] ์™“ ์ŠคํŠœ๋””์˜ค ์„œ๋น„์ŠคํŒŒํŠธ
[NDC17] ์™“ ์ŠคํŠœ๋””์˜ค ์„œ๋น„์ŠคํŒŒํŠธ[NDC17] ์™“ ์ŠคํŠœ๋””์˜ค ์„œ๋น„์ŠคํŒŒํŠธ
[NDC17] ์™“ ์ŠคํŠœ๋””์˜ค ์„œ๋น„์ŠคํŒŒํŠธ
ย 
๊ณต์„ฑ๋Œ€์ „ C# ์‚ฌ์šฉ๊ธฐ
๊ณต์„ฑ๋Œ€์ „ C# ์‚ฌ์šฉ๊ธฐ๊ณต์„ฑ๋Œ€์ „ C# ์‚ฌ์šฉ๊ธฐ
๊ณต์„ฑ๋Œ€์ „ C# ์‚ฌ์šฉ๊ธฐ
ย 
์†ก์ฐฝ๊ทœ, unity build๋กœ ๋นŒ๋“œํƒ€์ž„ ๋ฐ˜ํ† ๋ง‰๋‚ด๊ธฐ, NDC2010
์†ก์ฐฝ๊ทœ, unity build๋กœ ๋นŒ๋“œํƒ€์ž„ ๋ฐ˜ํ† ๋ง‰๋‚ด๊ธฐ, NDC2010์†ก์ฐฝ๊ทœ, unity build๋กœ ๋นŒ๋“œํƒ€์ž„ ๋ฐ˜ํ† ๋ง‰๋‚ด๊ธฐ, NDC2010
์†ก์ฐฝ๊ทœ, unity build๋กœ ๋นŒ๋“œํƒ€์ž„ ๋ฐ˜ํ† ๋ง‰๋‚ด๊ธฐ, NDC2010
ย 

Viewers also liked

Becoming Node.js ninja on Cloud Foundry
Becoming Node.js ninja on Cloud FoundryBecoming Node.js ninja on Cloud Foundry
Becoming Node.js ninja on Cloud FoundryRaja Rao DV
ย 
Testing nodejs apps
Testing nodejs appsTesting nodejs apps
Testing nodejs appsfelipefsilva
ย 
RESTful API Design, Second Edition
RESTful API Design, Second EditionRESTful API Design, Second Edition
RESTful API Design, Second EditionApigee | Google Cloud
ย 
The SPDY Protocol
The SPDY ProtocolThe SPDY Protocol
The SPDY ProtocolFabian Lange
ย 
Asynchronous Module Definition (AMD)
Asynchronous Module Definition (AMD)Asynchronous Module Definition (AMD)
Asynchronous Module Definition (AMD)xMartin12
ย 
HTML5 Real-Time and Connectivity
HTML5 Real-Time and ConnectivityHTML5 Real-Time and Connectivity
HTML5 Real-Time and ConnectivityPeter Lubbers
ย 
System webpack-jspm
System webpack-jspmSystem webpack-jspm
System webpack-jspmJesse Warden
ย 
Ionic adventures - Hybrid Mobile App Development rocks
Ionic adventures - Hybrid Mobile App Development rocksIonic adventures - Hybrid Mobile App Development rocks
Ionic adventures - Hybrid Mobile App Development rocksJuarez Filho
ย 
Mongo Web Apps: OSCON 2011
Mongo Web Apps: OSCON 2011Mongo Web Apps: OSCON 2011
Mongo Web Apps: OSCON 2011rogerbodamer
ย 
FalsyValues. Dmitry Soshnikov - ECMAScript 6
FalsyValues. Dmitry Soshnikov - ECMAScript 6FalsyValues. Dmitry Soshnikov - ECMAScript 6
FalsyValues. Dmitry Soshnikov - ECMAScript 6Dmitry Soshnikov
ย 
Compose Async with RxJS
Compose Async with RxJSCompose Async with RxJS
Compose Async with RxJSKyung Yeol Kim
ย 
The Art of AngularJS - DeRailed 2014
The Art of AngularJS - DeRailed 2014The Art of AngularJS - DeRailed 2014
The Art of AngularJS - DeRailed 2014Matt Raible
ย 
Angular2 ecosystem
Angular2 ecosystemAngular2 ecosystem
Angular2 ecosystemKamil Lelonek
ย 
AngularJS Deep Dives (NYC GDG Apr 2013)
AngularJS Deep Dives (NYC GDG Apr 2013)AngularJS Deep Dives (NYC GDG Apr 2013)
AngularJS Deep Dives (NYC GDG Apr 2013)Nitya Narasimhan
ย 
ํ˜์‹ ์ ์ธ ์›น์ปดํฌ๋„ŒํŠธ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ - Polymer
ํ˜์‹ ์ ์ธ ์›น์ปดํฌ๋„ŒํŠธ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ - Polymerํ˜์‹ ์ ์ธ ์›น์ปดํฌ๋„ŒํŠธ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ - Polymer
ํ˜์‹ ์ ์ธ ์›น์ปดํฌ๋„ŒํŠธ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ - PolymerJae Sung Park
ย 
React in Native Apps - Meetup React - 20150409
React in Native Apps - Meetup React - 20150409React in Native Apps - Meetup React - 20150409
React in Native Apps - Meetup React - 20150409Minko3D
ย 
์„œ๋น„์Šค๋””์ž์ธ, ์„œ๋น„์Šค์‚ฐ์—…์„ ๋‹ค์‹œ ๋””์ž์ธํ•˜๋‹ค (2016.4. PPT)
์„œ๋น„์Šค๋””์ž์ธ, ์„œ๋น„์Šค์‚ฐ์—…์„ ๋‹ค์‹œ ๋””์ž์ธํ•˜๋‹ค (2016.4. PPT)์„œ๋น„์Šค๋””์ž์ธ, ์„œ๋น„์Šค์‚ฐ์—…์„ ๋‹ค์‹œ ๋””์ž์ธํ•˜๋‹ค (2016.4. PPT)
์„œ๋น„์Šค๋””์ž์ธ, ์„œ๋น„์Šค์‚ฐ์—…์„ ๋‹ค์‹œ ๋””์ž์ธํ•˜๋‹ค (2016.4. PPT)USABLE ์œค
ย 
React JS and why it's awesome
React JS and why it's awesomeReact JS and why it's awesome
React JS and why it's awesomeAndrew Hull
ย 

Viewers also liked (20)

Becoming Node.js ninja on Cloud Foundry
Becoming Node.js ninja on Cloud FoundryBecoming Node.js ninja on Cloud Foundry
Becoming Node.js ninja on Cloud Foundry
ย 
Testing nodejs apps
Testing nodejs appsTesting nodejs apps
Testing nodejs apps
ย 
RESTful API Design, Second Edition
RESTful API Design, Second EditionRESTful API Design, Second Edition
RESTful API Design, Second Edition
ย 
The SPDY Protocol
The SPDY ProtocolThe SPDY Protocol
The SPDY Protocol
ย 
Module, AMD, RequireJS
Module, AMD, RequireJSModule, AMD, RequireJS
Module, AMD, RequireJS
ย 
Asynchronous Module Definition (AMD)
Asynchronous Module Definition (AMD)Asynchronous Module Definition (AMD)
Asynchronous Module Definition (AMD)
ย 
HTML5 Real-Time and Connectivity
HTML5 Real-Time and ConnectivityHTML5 Real-Time and Connectivity
HTML5 Real-Time and Connectivity
ย 
System webpack-jspm
System webpack-jspmSystem webpack-jspm
System webpack-jspm
ย 
Ionic adventures - Hybrid Mobile App Development rocks
Ionic adventures - Hybrid Mobile App Development rocksIonic adventures - Hybrid Mobile App Development rocks
Ionic adventures - Hybrid Mobile App Development rocks
ย 
Mongo Web Apps: OSCON 2011
Mongo Web Apps: OSCON 2011Mongo Web Apps: OSCON 2011
Mongo Web Apps: OSCON 2011
ย 
FalsyValues. Dmitry Soshnikov - ECMAScript 6
FalsyValues. Dmitry Soshnikov - ECMAScript 6FalsyValues. Dmitry Soshnikov - ECMAScript 6
FalsyValues. Dmitry Soshnikov - ECMAScript 6
ย 
Compose Async with RxJS
Compose Async with RxJSCompose Async with RxJS
Compose Async with RxJS
ย 
The Art of AngularJS - DeRailed 2014
The Art of AngularJS - DeRailed 2014The Art of AngularJS - DeRailed 2014
The Art of AngularJS - DeRailed 2014
ย 
Angular2 ecosystem
Angular2 ecosystemAngular2 ecosystem
Angular2 ecosystem
ย 
AngularJS Deep Dives (NYC GDG Apr 2013)
AngularJS Deep Dives (NYC GDG Apr 2013)AngularJS Deep Dives (NYC GDG Apr 2013)
AngularJS Deep Dives (NYC GDG Apr 2013)
ย 
ํ˜์‹ ์ ์ธ ์›น์ปดํฌ๋„ŒํŠธ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ - Polymer
ํ˜์‹ ์ ์ธ ์›น์ปดํฌ๋„ŒํŠธ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ - Polymerํ˜์‹ ์ ์ธ ์›น์ปดํฌ๋„ŒํŠธ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ - Polymer
ํ˜์‹ ์ ์ธ ์›น์ปดํฌ๋„ŒํŠธ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ - Polymer
ย 
React in Native Apps - Meetup React - 20150409
React in Native Apps - Meetup React - 20150409React in Native Apps - Meetup React - 20150409
React in Native Apps - Meetup React - 20150409
ย 
์„œ๋น„์Šค๋””์ž์ธ, ์„œ๋น„์Šค์‚ฐ์—…์„ ๋‹ค์‹œ ๋””์ž์ธํ•˜๋‹ค (2016.4. PPT)
์„œ๋น„์Šค๋””์ž์ธ, ์„œ๋น„์Šค์‚ฐ์—…์„ ๋‹ค์‹œ ๋””์ž์ธํ•˜๋‹ค (2016.4. PPT)์„œ๋น„์Šค๋””์ž์ธ, ์„œ๋น„์Šค์‚ฐ์—…์„ ๋‹ค์‹œ ๋””์ž์ธํ•˜๋‹ค (2016.4. PPT)
์„œ๋น„์Šค๋””์ž์ธ, ์„œ๋น„์Šค์‚ฐ์—…์„ ๋‹ค์‹œ ๋””์ž์ธํ•˜๋‹ค (2016.4. PPT)
ย 
React JS and why it's awesome
React JS and why it's awesomeReact JS and why it's awesome
React JS and why it's awesome
ย 
Grid FS
Grid FSGrid FS
Grid FS
ย 

Similar to [C5]deview 2012 nodejs

์›น ์†Œํ”„ํŠธ์›จ์–ด ์‹œ๋Œ€์˜ ์ƒˆ๋กœ์šด ๋กค(role) ๋ชจ๋ธ, ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ
์›น ์†Œํ”„ํŠธ์›จ์–ด ์‹œ๋Œ€์˜ ์ƒˆ๋กœ์šด ๋กค(role) ๋ชจ๋ธ, ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ์›น ์†Œํ”„ํŠธ์›จ์–ด ์‹œ๋Œ€์˜ ์ƒˆ๋กœ์šด ๋กค(role) ๋ชจ๋ธ, ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ
์›น ์†Œํ”„ํŠธ์›จ์–ด ์‹œ๋Œ€์˜ ์ƒˆ๋กœ์šด ๋กค(role) ๋ชจ๋ธ, ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธRhio Kim
ย 
์›นํ‘œ์ค€ ํ”„๋ ˆ์ž„์›Œํฌ ๋ฉ”ํƒ€์›์Šค3์˜ ์ ์šฉ ์‚ฌ๋ก€์™€ ์ƒ์‚ฐ์„ฑ
์›นํ‘œ์ค€ ํ”„๋ ˆ์ž„์›Œํฌ   ๋ฉ”ํƒ€์›์Šค3์˜ ์ ์šฉ ์‚ฌ๋ก€์™€ ์ƒ์‚ฐ์„ฑ์›นํ‘œ์ค€ ํ”„๋ ˆ์ž„์›Œํฌ   ๋ฉ”ํƒ€์›์Šค3์˜ ์ ์šฉ ์‚ฌ๋ก€์™€ ์ƒ์‚ฐ์„ฑ
์›นํ‘œ์ค€ ํ”„๋ ˆ์ž„์›Œํฌ ๋ฉ”ํƒ€์›์Šค3์˜ ์ ์šฉ ์‚ฌ๋ก€์™€ ์ƒ์‚ฐ์„ฑ์˜์žฌ ๊น€
ย 
NAVER TECH CONCERT_FE2019_๋น ๋ฅด๊ฒŒ ํ›‘์–ด๋ณด๋Š” ์›น ๊ฐœ๋ฐœ ํŠธ๋ Œ๋“œ
NAVER TECH CONCERT_FE2019_๋น ๋ฅด๊ฒŒ ํ›‘์–ด๋ณด๋Š” ์›น ๊ฐœ๋ฐœ ํŠธ๋ Œ๋“œNAVER TECH CONCERT_FE2019_๋น ๋ฅด๊ฒŒ ํ›‘์–ด๋ณด๋Š” ์›น ๊ฐœ๋ฐœ ํŠธ๋ Œ๋“œ
NAVER TECH CONCERT_FE2019_๋น ๋ฅด๊ฒŒ ํ›‘์–ด๋ณด๋Š” ์›น ๊ฐœ๋ฐœ ํŠธ๋ Œ๋“œNAVER Engineering
ย 
[Korea Linux Forum] Implementing web based online multiplayer tetris with Ope...
[Korea Linux Forum] Implementing web based online multiplayer tetris with Ope...[Korea Linux Forum] Implementing web based online multiplayer tetris with Ope...
[Korea Linux Forum] Implementing web based online multiplayer tetris with Ope...JinKwon Lee
ย 
์ด์ œ ์˜จ๋ผ์ธ์ด๋‹ค! ๋ธŒ๋ผ์šฐ์ € ์•ˆ์œผ๋กœ ๋“ค์–ด์˜จ Visual studio!
์ด์ œ ์˜จ๋ผ์ธ์ด๋‹ค! ๋ธŒ๋ผ์šฐ์ € ์•ˆ์œผ๋กœ ๋“ค์–ด์˜จ Visual studio!์ด์ œ ์˜จ๋ผ์ธ์ด๋‹ค! ๋ธŒ๋ผ์šฐ์ € ์•ˆ์œผ๋กœ ๋“ค์–ด์˜จ Visual studio!
์ด์ œ ์˜จ๋ผ์ธ์ด๋‹ค! ๋ธŒ๋ผ์šฐ์ € ์•ˆ์œผ๋กœ ๋“ค์–ด์˜จ Visual studio!SangHoon Han
ย 
์Šค๋งˆํŠธ TV ์•ฑ ๊ฐœ๋ฐœ ๋ง›๋ณด๊ธฐ
์Šค๋งˆํŠธ TV ์•ฑ ๊ฐœ๋ฐœ ๋ง›๋ณด๊ธฐ์Šค๋งˆํŠธ TV ์•ฑ ๊ฐœ๋ฐœ ๋ง›๋ณด๊ธฐ
์Šค๋งˆํŠธ TV ์•ฑ ๊ฐœ๋ฐœ ๋ง›๋ณด๊ธฐJae Sung Park
ย 
์Šค๋งˆํŠธ ๋ชจ๋ฐ”์ผ ์•ฑ ๊ฐœ๋ฐœ ๋ฐฉ๋ฒ•๋ก (2)
์Šค๋งˆํŠธ ๋ชจ๋ฐ”์ผ ์•ฑ ๊ฐœ๋ฐœ ๋ฐฉ๋ฒ•๋ก (2)์Šค๋งˆํŠธ ๋ชจ๋ฐ”์ผ ์•ฑ ๊ฐœ๋ฐœ ๋ฐฉ๋ฒ•๋ก (2)
์Šค๋งˆํŠธ ๋ชจ๋ฐ”์ผ ์•ฑ ๊ฐœ๋ฐœ ๋ฐฉ๋ฒ•๋ก (2)mosaicnet
ย 
๊ตฌ๊ธ€ ์•ฑ ์—”์ง„์„ ์ด์šฉํ•œ ์†Œ์…œ๋„คํŠธ์›Œํฌ๊ฒŒ์ž„(SNG) ๊ฐœ๋ฐœ(2)
๊ตฌ๊ธ€ ์•ฑ ์—”์ง„์„ ์ด์šฉํ•œ ์†Œ์…œ๋„คํŠธ์›Œํฌ๊ฒŒ์ž„(SNG) ๊ฐœ๋ฐœ(2)๊ตฌ๊ธ€ ์•ฑ ์—”์ง„์„ ์ด์šฉํ•œ ์†Œ์…œ๋„คํŠธ์›Œํฌ๊ฒŒ์ž„(SNG) ๊ฐœ๋ฐœ(2)
๊ตฌ๊ธ€ ์•ฑ ์—”์ง„์„ ์ด์šฉํ•œ ์†Œ์…œ๋„คํŠธ์›Œํฌ๊ฒŒ์ž„(SNG) ๊ฐœ๋ฐœ(2)mosaicnet
ย 
Front end dev 2016 & beyond
Front end dev 2016 & beyondFront end dev 2016 & beyond
Front end dev 2016 & beyondJae Sung Park
ย 
๋„๊ตฌ๋ฅผ ํ™œ์šฉํ•œ ๋” ๋‚˜์€ ์›น ๊ฐœ๋ฐœ: Yeoman
๋„๊ตฌ๋ฅผ ํ™œ์šฉํ•œ ๋” ๋‚˜์€ ์›น ๊ฐœ๋ฐœ: Yeoman๋„๊ตฌ๋ฅผ ํ™œ์šฉํ•œ ๋” ๋‚˜์€ ์›น ๊ฐœ๋ฐœ: Yeoman
๋„๊ตฌ๋ฅผ ํ™œ์šฉํ•œ ๋” ๋‚˜์€ ์›น ๊ฐœ๋ฐœ: YeomanJae Sung Park
ย 
๋น ๋ฅด๊ฒŒํ›“์–ด๋ณด๋Š” Node.js์™€ Vert.x
๋น ๋ฅด๊ฒŒํ›“์–ด๋ณด๋Š” Node.js์™€ Vert.x๋น ๋ฅด๊ฒŒํ›“์–ด๋ณด๋Š” Node.js์™€ Vert.x
๋น ๋ฅด๊ฒŒํ›“์–ด๋ณด๋Š” Node.js์™€ Vert.xTerry Cho
ย 
TOAST Meetup2015 - ๊ตฌ๋ฆ„ Cloud IDE (๋ฅ˜์„ฑํƒœ)
TOAST Meetup2015 - ๊ตฌ๋ฆ„ Cloud IDE (๋ฅ˜์„ฑํƒœ)TOAST Meetup2015 - ๊ตฌ๋ฆ„ Cloud IDE (๋ฅ˜์„ฑํƒœ)
TOAST Meetup2015 - ๊ตฌ๋ฆ„ Cloud IDE (๋ฅ˜์„ฑํƒœ)TOAST_NHNent
ย 
2015 oce specification
2015 oce specification2015 oce specification
2015 oce specificationuEngine Solutions
ย 
์š”์ฆ˜ ์›น ๋ฐฐํฌ
์š”์ฆ˜ ์›น ๋ฐฐํฌ์š”์ฆ˜ ์›น ๋ฐฐํฌ
์š”์ฆ˜ ์›น ๋ฐฐํฌ๋ช…ํ˜ธ ๋ฐ•
ย 
Single-page Application
Single-page ApplicationSingle-page Application
Single-page ApplicationSangmin Yoon
ย 
MEAN Stack แ„€แ…ตแ„‡แ…กแ†ซ แ„†แ…ฉแ„‡แ…กแ„‹แ…ตแ†ฏ แ„‰แ…ฅแ„‡แ…ตแ„‰แ…ณ แ„€แ…ขแ„‡แ…กแ†ฏ overview
MEAN Stack แ„€แ…ตแ„‡แ…กแ†ซ แ„†แ…ฉแ„‡แ…กแ„‹แ…ตแ†ฏ แ„‰แ…ฅแ„‡แ…ตแ„‰แ…ณ แ„€แ…ขแ„‡แ…กแ†ฏ overviewMEAN Stack แ„€แ…ตแ„‡แ…กแ†ซ แ„†แ…ฉแ„‡แ…กแ„‹แ…ตแ†ฏ แ„‰แ…ฅแ„‡แ…ตแ„‰แ…ณ แ„€แ…ขแ„‡แ…กแ†ฏ overview
MEAN Stack แ„€แ…ตแ„‡แ…กแ†ซ แ„†แ…ฉแ„‡แ…กแ„‹แ…ตแ†ฏ แ„‰แ…ฅแ„‡แ…ตแ„‰แ…ณ แ„€แ…ขแ„‡แ…กแ†ฏ overview๋ฏผํƒœ ๊น€
ย 
MSA ์ „๋žต 1: ๋งˆ์ดํฌ๋กœ์„œ๋น„์Šค, ์–ด๋–ป๊ฒŒ ๋””์ž์ธ ํ•  ๊ฒƒ์ธ๊ฐ€?
MSA ์ „๋žต 1: ๋งˆ์ดํฌ๋กœ์„œ๋น„์Šค, ์–ด๋–ป๊ฒŒ ๋””์ž์ธ ํ•  ๊ฒƒ์ธ๊ฐ€?MSA ์ „๋žต 1: ๋งˆ์ดํฌ๋กœ์„œ๋น„์Šค, ์–ด๋–ป๊ฒŒ ๋””์ž์ธ ํ•  ๊ฒƒ์ธ๊ฐ€?
MSA ์ „๋žต 1: ๋งˆ์ดํฌ๋กœ์„œ๋น„์Šค, ์–ด๋–ป๊ฒŒ ๋””์ž์ธ ํ•  ๊ฒƒ์ธ๊ฐ€?VMware Tanzu Korea
ย 
N02 gae v1.1_20110220
N02 gae v1.1_20110220N02 gae v1.1_20110220
N02 gae v1.1_20110220Software in Life
ย 
Backend Master | 3.1.1 Build - JS build tools
Backend Master | 3.1.1 Build - JS build toolsBackend Master | 3.1.1 Build - JS build tools
Backend Master | 3.1.1 Build - JS build toolsKyunghun Jeon
ย 
์‹ค ์‚ฌ๋ก€๋กœ ๋ณด๋Š” ๊ณ ๊ฐ ๋””์ง€ํ„ธ ๊ฒฝํ—˜ ์ง€ํ‚ค๊ธฐ
์‹ค ์‚ฌ๋ก€๋กœ ๋ณด๋Š” ๊ณ ๊ฐ ๋””์ง€ํ„ธ ๊ฒฝํ—˜ ์ง€ํ‚ค๊ธฐ์‹ค ์‚ฌ๋ก€๋กœ ๋ณด๋Š” ๊ณ ๊ฐ ๋””์ง€ํ„ธ ๊ฒฝํ—˜ ์ง€ํ‚ค๊ธฐ
์‹ค ์‚ฌ๋ก€๋กœ ๋ณด๋Š” ๊ณ ๊ฐ ๋””์ง€ํ„ธ ๊ฒฝํ—˜ ์ง€ํ‚ค๊ธฐIMQA
ย 

Similar to [C5]deview 2012 nodejs (20)

์›น ์†Œํ”„ํŠธ์›จ์–ด ์‹œ๋Œ€์˜ ์ƒˆ๋กœ์šด ๋กค(role) ๋ชจ๋ธ, ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ
์›น ์†Œํ”„ํŠธ์›จ์–ด ์‹œ๋Œ€์˜ ์ƒˆ๋กœ์šด ๋กค(role) ๋ชจ๋ธ, ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ์›น ์†Œํ”„ํŠธ์›จ์–ด ์‹œ๋Œ€์˜ ์ƒˆ๋กœ์šด ๋กค(role) ๋ชจ๋ธ, ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ
์›น ์†Œํ”„ํŠธ์›จ์–ด ์‹œ๋Œ€์˜ ์ƒˆ๋กœ์šด ๋กค(role) ๋ชจ๋ธ, ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ
ย 
์›นํ‘œ์ค€ ํ”„๋ ˆ์ž„์›Œํฌ ๋ฉ”ํƒ€์›์Šค3์˜ ์ ์šฉ ์‚ฌ๋ก€์™€ ์ƒ์‚ฐ์„ฑ
์›นํ‘œ์ค€ ํ”„๋ ˆ์ž„์›Œํฌ   ๋ฉ”ํƒ€์›์Šค3์˜ ์ ์šฉ ์‚ฌ๋ก€์™€ ์ƒ์‚ฐ์„ฑ์›นํ‘œ์ค€ ํ”„๋ ˆ์ž„์›Œํฌ   ๋ฉ”ํƒ€์›์Šค3์˜ ์ ์šฉ ์‚ฌ๋ก€์™€ ์ƒ์‚ฐ์„ฑ
์›นํ‘œ์ค€ ํ”„๋ ˆ์ž„์›Œํฌ ๋ฉ”ํƒ€์›์Šค3์˜ ์ ์šฉ ์‚ฌ๋ก€์™€ ์ƒ์‚ฐ์„ฑ
ย 
NAVER TECH CONCERT_FE2019_๋น ๋ฅด๊ฒŒ ํ›‘์–ด๋ณด๋Š” ์›น ๊ฐœ๋ฐœ ํŠธ๋ Œ๋“œ
NAVER TECH CONCERT_FE2019_๋น ๋ฅด๊ฒŒ ํ›‘์–ด๋ณด๋Š” ์›น ๊ฐœ๋ฐœ ํŠธ๋ Œ๋“œNAVER TECH CONCERT_FE2019_๋น ๋ฅด๊ฒŒ ํ›‘์–ด๋ณด๋Š” ์›น ๊ฐœ๋ฐœ ํŠธ๋ Œ๋“œ
NAVER TECH CONCERT_FE2019_๋น ๋ฅด๊ฒŒ ํ›‘์–ด๋ณด๋Š” ์›น ๊ฐœ๋ฐœ ํŠธ๋ Œ๋“œ
ย 
[Korea Linux Forum] Implementing web based online multiplayer tetris with Ope...
[Korea Linux Forum] Implementing web based online multiplayer tetris with Ope...[Korea Linux Forum] Implementing web based online multiplayer tetris with Ope...
[Korea Linux Forum] Implementing web based online multiplayer tetris with Ope...
ย 
์ด์ œ ์˜จ๋ผ์ธ์ด๋‹ค! ๋ธŒ๋ผ์šฐ์ € ์•ˆ์œผ๋กœ ๋“ค์–ด์˜จ Visual studio!
์ด์ œ ์˜จ๋ผ์ธ์ด๋‹ค! ๋ธŒ๋ผ์šฐ์ € ์•ˆ์œผ๋กœ ๋“ค์–ด์˜จ Visual studio!์ด์ œ ์˜จ๋ผ์ธ์ด๋‹ค! ๋ธŒ๋ผ์šฐ์ € ์•ˆ์œผ๋กœ ๋“ค์–ด์˜จ Visual studio!
์ด์ œ ์˜จ๋ผ์ธ์ด๋‹ค! ๋ธŒ๋ผ์šฐ์ € ์•ˆ์œผ๋กœ ๋“ค์–ด์˜จ Visual studio!
ย 
์Šค๋งˆํŠธ TV ์•ฑ ๊ฐœ๋ฐœ ๋ง›๋ณด๊ธฐ
์Šค๋งˆํŠธ TV ์•ฑ ๊ฐœ๋ฐœ ๋ง›๋ณด๊ธฐ์Šค๋งˆํŠธ TV ์•ฑ ๊ฐœ๋ฐœ ๋ง›๋ณด๊ธฐ
์Šค๋งˆํŠธ TV ์•ฑ ๊ฐœ๋ฐœ ๋ง›๋ณด๊ธฐ
ย 
์Šค๋งˆํŠธ ๋ชจ๋ฐ”์ผ ์•ฑ ๊ฐœ๋ฐœ ๋ฐฉ๋ฒ•๋ก (2)
์Šค๋งˆํŠธ ๋ชจ๋ฐ”์ผ ์•ฑ ๊ฐœ๋ฐœ ๋ฐฉ๋ฒ•๋ก (2)์Šค๋งˆํŠธ ๋ชจ๋ฐ”์ผ ์•ฑ ๊ฐœ๋ฐœ ๋ฐฉ๋ฒ•๋ก (2)
์Šค๋งˆํŠธ ๋ชจ๋ฐ”์ผ ์•ฑ ๊ฐœ๋ฐœ ๋ฐฉ๋ฒ•๋ก (2)
ย 
๊ตฌ๊ธ€ ์•ฑ ์—”์ง„์„ ์ด์šฉํ•œ ์†Œ์…œ๋„คํŠธ์›Œํฌ๊ฒŒ์ž„(SNG) ๊ฐœ๋ฐœ(2)
๊ตฌ๊ธ€ ์•ฑ ์—”์ง„์„ ์ด์šฉํ•œ ์†Œ์…œ๋„คํŠธ์›Œํฌ๊ฒŒ์ž„(SNG) ๊ฐœ๋ฐœ(2)๊ตฌ๊ธ€ ์•ฑ ์—”์ง„์„ ์ด์šฉํ•œ ์†Œ์…œ๋„คํŠธ์›Œํฌ๊ฒŒ์ž„(SNG) ๊ฐœ๋ฐœ(2)
๊ตฌ๊ธ€ ์•ฑ ์—”์ง„์„ ์ด์šฉํ•œ ์†Œ์…œ๋„คํŠธ์›Œํฌ๊ฒŒ์ž„(SNG) ๊ฐœ๋ฐœ(2)
ย 
Front end dev 2016 & beyond
Front end dev 2016 & beyondFront end dev 2016 & beyond
Front end dev 2016 & beyond
ย 
๋„๊ตฌ๋ฅผ ํ™œ์šฉํ•œ ๋” ๋‚˜์€ ์›น ๊ฐœ๋ฐœ: Yeoman
๋„๊ตฌ๋ฅผ ํ™œ์šฉํ•œ ๋” ๋‚˜์€ ์›น ๊ฐœ๋ฐœ: Yeoman๋„๊ตฌ๋ฅผ ํ™œ์šฉํ•œ ๋” ๋‚˜์€ ์›น ๊ฐœ๋ฐœ: Yeoman
๋„๊ตฌ๋ฅผ ํ™œ์šฉํ•œ ๋” ๋‚˜์€ ์›น ๊ฐœ๋ฐœ: Yeoman
ย 
๋น ๋ฅด๊ฒŒํ›“์–ด๋ณด๋Š” Node.js์™€ Vert.x
๋น ๋ฅด๊ฒŒํ›“์–ด๋ณด๋Š” Node.js์™€ Vert.x๋น ๋ฅด๊ฒŒํ›“์–ด๋ณด๋Š” Node.js์™€ Vert.x
๋น ๋ฅด๊ฒŒํ›“์–ด๋ณด๋Š” Node.js์™€ Vert.x
ย 
TOAST Meetup2015 - ๊ตฌ๋ฆ„ Cloud IDE (๋ฅ˜์„ฑํƒœ)
TOAST Meetup2015 - ๊ตฌ๋ฆ„ Cloud IDE (๋ฅ˜์„ฑํƒœ)TOAST Meetup2015 - ๊ตฌ๋ฆ„ Cloud IDE (๋ฅ˜์„ฑํƒœ)
TOAST Meetup2015 - ๊ตฌ๋ฆ„ Cloud IDE (๋ฅ˜์„ฑํƒœ)
ย 
2015 oce specification
2015 oce specification2015 oce specification
2015 oce specification
ย 
์š”์ฆ˜ ์›น ๋ฐฐํฌ
์š”์ฆ˜ ์›น ๋ฐฐํฌ์š”์ฆ˜ ์›น ๋ฐฐํฌ
์š”์ฆ˜ ์›น ๋ฐฐํฌ
ย 
Single-page Application
Single-page ApplicationSingle-page Application
Single-page Application
ย 
MEAN Stack แ„€แ…ตแ„‡แ…กแ†ซ แ„†แ…ฉแ„‡แ…กแ„‹แ…ตแ†ฏ แ„‰แ…ฅแ„‡แ…ตแ„‰แ…ณ แ„€แ…ขแ„‡แ…กแ†ฏ overview
MEAN Stack แ„€แ…ตแ„‡แ…กแ†ซ แ„†แ…ฉแ„‡แ…กแ„‹แ…ตแ†ฏ แ„‰แ…ฅแ„‡แ…ตแ„‰แ…ณ แ„€แ…ขแ„‡แ…กแ†ฏ overviewMEAN Stack แ„€แ…ตแ„‡แ…กแ†ซ แ„†แ…ฉแ„‡แ…กแ„‹แ…ตแ†ฏ แ„‰แ…ฅแ„‡แ…ตแ„‰แ…ณ แ„€แ…ขแ„‡แ…กแ†ฏ overview
MEAN Stack แ„€แ…ตแ„‡แ…กแ†ซ แ„†แ…ฉแ„‡แ…กแ„‹แ…ตแ†ฏ แ„‰แ…ฅแ„‡แ…ตแ„‰แ…ณ แ„€แ…ขแ„‡แ…กแ†ฏ overview
ย 
MSA ์ „๋žต 1: ๋งˆ์ดํฌ๋กœ์„œ๋น„์Šค, ์–ด๋–ป๊ฒŒ ๋””์ž์ธ ํ•  ๊ฒƒ์ธ๊ฐ€?
MSA ์ „๋žต 1: ๋งˆ์ดํฌ๋กœ์„œ๋น„์Šค, ์–ด๋–ป๊ฒŒ ๋””์ž์ธ ํ•  ๊ฒƒ์ธ๊ฐ€?MSA ์ „๋žต 1: ๋งˆ์ดํฌ๋กœ์„œ๋น„์Šค, ์–ด๋–ป๊ฒŒ ๋””์ž์ธ ํ•  ๊ฒƒ์ธ๊ฐ€?
MSA ์ „๋žต 1: ๋งˆ์ดํฌ๋กœ์„œ๋น„์Šค, ์–ด๋–ป๊ฒŒ ๋””์ž์ธ ํ•  ๊ฒƒ์ธ๊ฐ€?
ย 
N02 gae v1.1_20110220
N02 gae v1.1_20110220N02 gae v1.1_20110220
N02 gae v1.1_20110220
ย 
Backend Master | 3.1.1 Build - JS build tools
Backend Master | 3.1.1 Build - JS build toolsBackend Master | 3.1.1 Build - JS build tools
Backend Master | 3.1.1 Build - JS build tools
ย 
์‹ค ์‚ฌ๋ก€๋กœ ๋ณด๋Š” ๊ณ ๊ฐ ๋””์ง€ํ„ธ ๊ฒฝํ—˜ ์ง€ํ‚ค๊ธฐ
์‹ค ์‚ฌ๋ก€๋กœ ๋ณด๋Š” ๊ณ ๊ฐ ๋””์ง€ํ„ธ ๊ฒฝํ—˜ ์ง€ํ‚ค๊ธฐ์‹ค ์‚ฌ๋ก€๋กœ ๋ณด๋Š” ๊ณ ๊ฐ ๋””์ง€ํ„ธ ๊ฒฝํ—˜ ์ง€ํ‚ค๊ธฐ
์‹ค ์‚ฌ๋ก€๋กœ ๋ณด๋Š” ๊ณ ๊ฐ ๋””์ง€ํ„ธ ๊ฒฝํ—˜ ์ง€ํ‚ค๊ธฐ
ย 

More from NAVER D2

[211] ์ธ๊ณต์ง€๋Šฅ์ด ์ธ๊ณต์ง€๋Šฅ ์ฑ—๋ด‡์„ ๋งŒ๋“ ๋‹ค
[211] ์ธ๊ณต์ง€๋Šฅ์ด ์ธ๊ณต์ง€๋Šฅ ์ฑ—๋ด‡์„ ๋งŒ๋“ ๋‹ค[211] ์ธ๊ณต์ง€๋Šฅ์ด ์ธ๊ณต์ง€๋Šฅ ์ฑ—๋ด‡์„ ๋งŒ๋“ ๋‹ค
[211] ์ธ๊ณต์ง€๋Šฅ์ด ์ธ๊ณต์ง€๋Šฅ ์ฑ—๋ด‡์„ ๋งŒ๋“ ๋‹คNAVER D2
ย 
[233] ๋Œ€ํ˜• ์ปจํ…Œ์ด๋„ˆ ํด๋Ÿฌ์Šคํ„ฐ์—์„œ์˜ ๊ณ ๊ฐ€์šฉ์„ฑ Network Load Balancing: Maglev Hashing Scheduler i...
[233] ๋Œ€ํ˜• ์ปจํ…Œ์ด๋„ˆ ํด๋Ÿฌ์Šคํ„ฐ์—์„œ์˜ ๊ณ ๊ฐ€์šฉ์„ฑ Network Load Balancing: Maglev Hashing Scheduler i...[233] ๋Œ€ํ˜• ์ปจํ…Œ์ด๋„ˆ ํด๋Ÿฌ์Šคํ„ฐ์—์„œ์˜ ๊ณ ๊ฐ€์šฉ์„ฑ Network Load Balancing: Maglev Hashing Scheduler i...
[233] ๋Œ€ํ˜• ์ปจํ…Œ์ด๋„ˆ ํด๋Ÿฌ์Šคํ„ฐ์—์„œ์˜ ๊ณ ๊ฐ€์šฉ์„ฑ Network Load Balancing: Maglev Hashing Scheduler i...NAVER D2
ย 
[215] Druid๋กœ ์‰ฝ๊ณ  ๋น ๋ฅด๊ฒŒ ๋ฐ์ดํ„ฐ ๋ถ„์„ํ•˜๊ธฐ
[215] Druid๋กœ ์‰ฝ๊ณ  ๋น ๋ฅด๊ฒŒ ๋ฐ์ดํ„ฐ ๋ถ„์„ํ•˜๊ธฐ[215] Druid๋กœ ์‰ฝ๊ณ  ๋น ๋ฅด๊ฒŒ ๋ฐ์ดํ„ฐ ๋ถ„์„ํ•˜๊ธฐ
[215] Druid๋กœ ์‰ฝ๊ณ  ๋น ๋ฅด๊ฒŒ ๋ฐ์ดํ„ฐ ๋ถ„์„ํ•˜๊ธฐNAVER D2
ย 
[245]Papago Internals: ๋ชจ๋ธ๋ถ„์„๊ณผ ์‘์šฉ๊ธฐ์ˆ  ๊ฐœ๋ฐœ
[245]Papago Internals: ๋ชจ๋ธ๋ถ„์„๊ณผ ์‘์šฉ๊ธฐ์ˆ  ๊ฐœ๋ฐœ[245]Papago Internals: ๋ชจ๋ธ๋ถ„์„๊ณผ ์‘์šฉ๊ธฐ์ˆ  ๊ฐœ๋ฐœ
[245]Papago Internals: ๋ชจ๋ธ๋ถ„์„๊ณผ ์‘์šฉ๊ธฐ์ˆ  ๊ฐœ๋ฐœNAVER D2
ย 
[236] ์ŠคํŠธ๋ฆผ ์ €์žฅ์†Œ ์ตœ์ ํ™” ์ด์•ผ๊ธฐ: ์•„ํŒŒ์น˜ ๋“œ๋ฃจ์ด๋“œ๋กœ๋ถ€ํ„ฐ ์–ป์€ ๊ตํ›ˆ
[236] ์ŠคํŠธ๋ฆผ ์ €์žฅ์†Œ ์ตœ์ ํ™” ์ด์•ผ๊ธฐ: ์•„ํŒŒ์น˜ ๋“œ๋ฃจ์ด๋“œ๋กœ๋ถ€ํ„ฐ ์–ป์€ ๊ตํ›ˆ[236] ์ŠคํŠธ๋ฆผ ์ €์žฅ์†Œ ์ตœ์ ํ™” ์ด์•ผ๊ธฐ: ์•„ํŒŒ์น˜ ๋“œ๋ฃจ์ด๋“œ๋กœ๋ถ€ํ„ฐ ์–ป์€ ๊ตํ›ˆ
[236] ์ŠคํŠธ๋ฆผ ์ €์žฅ์†Œ ์ตœ์ ํ™” ์ด์•ผ๊ธฐ: ์•„ํŒŒ์น˜ ๋“œ๋ฃจ์ด๋“œ๋กœ๋ถ€ํ„ฐ ์–ป์€ ๊ตํ›ˆNAVER D2
ย 
[235]Wikipedia-scale Q&A
[235]Wikipedia-scale Q&A[235]Wikipedia-scale Q&A
[235]Wikipedia-scale Q&ANAVER D2
ย 
[244]๋กœ๋ด‡์ด ํ˜„์‹ค ์„ธ๊ณ„์— ๋Œ€ํ•ด ํ•™์Šตํ•˜๋„๋ก ๋งŒ๋“ค๊ธฐ
[244]๋กœ๋ด‡์ด ํ˜„์‹ค ์„ธ๊ณ„์— ๋Œ€ํ•ด ํ•™์Šตํ•˜๋„๋ก ๋งŒ๋“ค๊ธฐ[244]๋กœ๋ด‡์ด ํ˜„์‹ค ์„ธ๊ณ„์— ๋Œ€ํ•ด ํ•™์Šตํ•˜๋„๋ก ๋งŒ๋“ค๊ธฐ
[244]๋กœ๋ด‡์ด ํ˜„์‹ค ์„ธ๊ณ„์— ๋Œ€ํ•ด ํ•™์Šตํ•˜๋„๋ก ๋งŒ๋“ค๊ธฐNAVER D2
ย 
[243] Deep Learning to help studentโ€™s Deep Learning
[243] Deep Learning to help studentโ€™s Deep Learning[243] Deep Learning to help studentโ€™s Deep Learning
[243] Deep Learning to help studentโ€™s Deep LearningNAVER D2
ย 
[234]Fast & Accurate Data Annotation Pipeline for AI applications
[234]Fast & Accurate Data Annotation Pipeline for AI applications[234]Fast & Accurate Data Annotation Pipeline for AI applications
[234]Fast & Accurate Data Annotation Pipeline for AI applicationsNAVER D2
ย 
Old version: [233]๋Œ€ํ˜• ์ปจํ…Œ์ด๋„ˆ ํด๋Ÿฌ์Šคํ„ฐ์—์„œ์˜ ๊ณ ๊ฐ€์šฉ์„ฑ Network Load Balancing
Old version: [233]๋Œ€ํ˜• ์ปจํ…Œ์ด๋„ˆ ํด๋Ÿฌ์Šคํ„ฐ์—์„œ์˜ ๊ณ ๊ฐ€์šฉ์„ฑ Network Load BalancingOld version: [233]๋Œ€ํ˜• ์ปจํ…Œ์ด๋„ˆ ํด๋Ÿฌ์Šคํ„ฐ์—์„œ์˜ ๊ณ ๊ฐ€์šฉ์„ฑ Network Load Balancing
Old version: [233]๋Œ€ํ˜• ์ปจํ…Œ์ด๋„ˆ ํด๋Ÿฌ์Šคํ„ฐ์—์„œ์˜ ๊ณ ๊ฐ€์šฉ์„ฑ Network Load BalancingNAVER D2
ย 
[226]NAVER ๊ด‘๊ณ  deep click prediction: ๋ชจ๋ธ๋ง๋ถ€ํ„ฐ ์„œ๋น™๊นŒ์ง€
[226]NAVER ๊ด‘๊ณ  deep click prediction: ๋ชจ๋ธ๋ง๋ถ€ํ„ฐ ์„œ๋น™๊นŒ์ง€[226]NAVER ๊ด‘๊ณ  deep click prediction: ๋ชจ๋ธ๋ง๋ถ€ํ„ฐ ์„œ๋น™๊นŒ์ง€
[226]NAVER ๊ด‘๊ณ  deep click prediction: ๋ชจ๋ธ๋ง๋ถ€ํ„ฐ ์„œ๋น™๊นŒ์ง€NAVER D2
ย 
[225]NSML: ๋จธ์‹ ๋Ÿฌ๋‹ ํ”Œ๋žซํผ ์„œ๋น„์Šคํ•˜๊ธฐ & ๋ชจ๋ธ ํŠœ๋‹ ์ž๋™ํ™”ํ•˜๊ธฐ
[225]NSML: ๋จธ์‹ ๋Ÿฌ๋‹ ํ”Œ๋žซํผ ์„œ๋น„์Šคํ•˜๊ธฐ & ๋ชจ๋ธ ํŠœ๋‹ ์ž๋™ํ™”ํ•˜๊ธฐ[225]NSML: ๋จธ์‹ ๋Ÿฌ๋‹ ํ”Œ๋žซํผ ์„œ๋น„์Šคํ•˜๊ธฐ & ๋ชจ๋ธ ํŠœ๋‹ ์ž๋™ํ™”ํ•˜๊ธฐ
[225]NSML: ๋จธ์‹ ๋Ÿฌ๋‹ ํ”Œ๋žซํผ ์„œ๋น„์Šคํ•˜๊ธฐ & ๋ชจ๋ธ ํŠœ๋‹ ์ž๋™ํ™”ํ•˜๊ธฐNAVER D2
ย 
[224]๋„ค์ด๋ฒ„ ๊ฒ€์ƒ‰๊ณผ ๊ฐœ์ธํ™”
[224]๋„ค์ด๋ฒ„ ๊ฒ€์ƒ‰๊ณผ ๊ฐœ์ธํ™”[224]๋„ค์ด๋ฒ„ ๊ฒ€์ƒ‰๊ณผ ๊ฐœ์ธํ™”
[224]๋„ค์ด๋ฒ„ ๊ฒ€์ƒ‰๊ณผ ๊ฐœ์ธํ™”NAVER D2
ย 
[216]Search Reliability Engineering (๋ถ€์ œ: ์ง€์ง„์—๋„ ํ”๋“ค๋ฆฌ์ง€ ์•Š๋Š” ๋„ค์ด๋ฒ„ ๊ฒ€์ƒ‰์‹œ์Šคํ…œ)
[216]Search Reliability Engineering (๋ถ€์ œ: ์ง€์ง„์—๋„ ํ”๋“ค๋ฆฌ์ง€ ์•Š๋Š” ๋„ค์ด๋ฒ„ ๊ฒ€์ƒ‰์‹œ์Šคํ…œ)[216]Search Reliability Engineering (๋ถ€์ œ: ์ง€์ง„์—๋„ ํ”๋“ค๋ฆฌ์ง€ ์•Š๋Š” ๋„ค์ด๋ฒ„ ๊ฒ€์ƒ‰์‹œ์Šคํ…œ)
[216]Search Reliability Engineering (๋ถ€์ œ: ์ง€์ง„์—๋„ ํ”๋“ค๋ฆฌ์ง€ ์•Š๋Š” ๋„ค์ด๋ฒ„ ๊ฒ€์ƒ‰์‹œ์Šคํ…œ)NAVER D2
ย 
[214] Ai Serving Platform: ํ•˜๋ฃจ ์ˆ˜ ์–ต ๊ฑด์˜ ์ธํผ๋Ÿฐ์Šค๋ฅผ ์ฒ˜๋ฆฌํ•˜๊ธฐ ์œ„ํ•œ ๊ณ ๊ตฐ๋ถ„ํˆฌ๊ธฐ
[214] Ai Serving Platform: ํ•˜๋ฃจ ์ˆ˜ ์–ต ๊ฑด์˜ ์ธํผ๋Ÿฐ์Šค๋ฅผ ์ฒ˜๋ฆฌํ•˜๊ธฐ ์œ„ํ•œ ๊ณ ๊ตฐ๋ถ„ํˆฌ๊ธฐ[214] Ai Serving Platform: ํ•˜๋ฃจ ์ˆ˜ ์–ต ๊ฑด์˜ ์ธํผ๋Ÿฐ์Šค๋ฅผ ์ฒ˜๋ฆฌํ•˜๊ธฐ ์œ„ํ•œ ๊ณ ๊ตฐ๋ถ„ํˆฌ๊ธฐ
[214] Ai Serving Platform: ํ•˜๋ฃจ ์ˆ˜ ์–ต ๊ฑด์˜ ์ธํผ๋Ÿฐ์Šค๋ฅผ ์ฒ˜๋ฆฌํ•˜๊ธฐ ์œ„ํ•œ ๊ณ ๊ตฐ๋ถ„ํˆฌ๊ธฐNAVER D2
ย 
[213] Fashion Visual Search
[213] Fashion Visual Search[213] Fashion Visual Search
[213] Fashion Visual SearchNAVER D2
ย 
[232] TensorRT๋ฅผ ํ™œ์šฉํ•œ ๋”ฅ๋Ÿฌ๋‹ Inference ์ตœ์ ํ™”
[232] TensorRT๋ฅผ ํ™œ์šฉํ•œ ๋”ฅ๋Ÿฌ๋‹ Inference ์ตœ์ ํ™”[232] TensorRT๋ฅผ ํ™œ์šฉํ•œ ๋”ฅ๋Ÿฌ๋‹ Inference ์ตœ์ ํ™”
[232] TensorRT๋ฅผ ํ™œ์šฉํ•œ ๋”ฅ๋Ÿฌ๋‹ Inference ์ตœ์ ํ™”NAVER D2
ย 
[242]์ปดํ“จํ„ฐ ๋น„์ „์„ ์ด์šฉํ•œ ์‹ค๋‚ด ์ง€๋„ ์ž๋™ ์—…๋ฐ์ดํŠธ ๋ฐฉ๋ฒ•: ๋”ฅ๋Ÿฌ๋‹์„ ํ†ตํ•œ POI ๋ณ€ํ™” ํƒ์ง€
[242]์ปดํ“จํ„ฐ ๋น„์ „์„ ์ด์šฉํ•œ ์‹ค๋‚ด ์ง€๋„ ์ž๋™ ์—…๋ฐ์ดํŠธ ๋ฐฉ๋ฒ•: ๋”ฅ๋Ÿฌ๋‹์„ ํ†ตํ•œ POI ๋ณ€ํ™” ํƒ์ง€[242]์ปดํ“จํ„ฐ ๋น„์ „์„ ์ด์šฉํ•œ ์‹ค๋‚ด ์ง€๋„ ์ž๋™ ์—…๋ฐ์ดํŠธ ๋ฐฉ๋ฒ•: ๋”ฅ๋Ÿฌ๋‹์„ ํ†ตํ•œ POI ๋ณ€ํ™” ํƒ์ง€
[242]์ปดํ“จํ„ฐ ๋น„์ „์„ ์ด์šฉํ•œ ์‹ค๋‚ด ์ง€๋„ ์ž๋™ ์—…๋ฐ์ดํŠธ ๋ฐฉ๋ฒ•: ๋”ฅ๋Ÿฌ๋‹์„ ํ†ตํ•œ POI ๋ณ€ํ™” ํƒ์ง€NAVER D2
ย 
[212]C3, ๋ฐ์ดํ„ฐ ์ฒ˜๋ฆฌ์—์„œ ์„œ๋น™๊นŒ์ง€ ๊ฐ€๋Šฅํ•œ ํ•˜๋‘ก ํด๋Ÿฌ์Šคํ„ฐ
[212]C3, ๋ฐ์ดํ„ฐ ์ฒ˜๋ฆฌ์—์„œ ์„œ๋น™๊นŒ์ง€ ๊ฐ€๋Šฅํ•œ ํ•˜๋‘ก ํด๋Ÿฌ์Šคํ„ฐ[212]C3, ๋ฐ์ดํ„ฐ ์ฒ˜๋ฆฌ์—์„œ ์„œ๋น™๊นŒ์ง€ ๊ฐ€๋Šฅํ•œ ํ•˜๋‘ก ํด๋Ÿฌ์Šคํ„ฐ
[212]C3, ๋ฐ์ดํ„ฐ ์ฒ˜๋ฆฌ์—์„œ ์„œ๋น™๊นŒ์ง€ ๊ฐ€๋Šฅํ•œ ํ•˜๋‘ก ํด๋Ÿฌ์Šคํ„ฐNAVER D2
ย 
[223]๊ธฐ๊ณ„๋…ํ•ด QA: ๊ฒ€์ƒ‰์ธ๊ฐ€, NLP์ธ๊ฐ€?
[223]๊ธฐ๊ณ„๋…ํ•ด QA: ๊ฒ€์ƒ‰์ธ๊ฐ€, NLP์ธ๊ฐ€?[223]๊ธฐ๊ณ„๋…ํ•ด QA: ๊ฒ€์ƒ‰์ธ๊ฐ€, NLP์ธ๊ฐ€?
[223]๊ธฐ๊ณ„๋…ํ•ด QA: ๊ฒ€์ƒ‰์ธ๊ฐ€, NLP์ธ๊ฐ€?NAVER D2
ย 

More from NAVER D2 (20)

[211] ์ธ๊ณต์ง€๋Šฅ์ด ์ธ๊ณต์ง€๋Šฅ ์ฑ—๋ด‡์„ ๋งŒ๋“ ๋‹ค
[211] ์ธ๊ณต์ง€๋Šฅ์ด ์ธ๊ณต์ง€๋Šฅ ์ฑ—๋ด‡์„ ๋งŒ๋“ ๋‹ค[211] ์ธ๊ณต์ง€๋Šฅ์ด ์ธ๊ณต์ง€๋Šฅ ์ฑ—๋ด‡์„ ๋งŒ๋“ ๋‹ค
[211] ์ธ๊ณต์ง€๋Šฅ์ด ์ธ๊ณต์ง€๋Šฅ ์ฑ—๋ด‡์„ ๋งŒ๋“ ๋‹ค
ย 
[233] ๋Œ€ํ˜• ์ปจํ…Œ์ด๋„ˆ ํด๋Ÿฌ์Šคํ„ฐ์—์„œ์˜ ๊ณ ๊ฐ€์šฉ์„ฑ Network Load Balancing: Maglev Hashing Scheduler i...
[233] ๋Œ€ํ˜• ์ปจํ…Œ์ด๋„ˆ ํด๋Ÿฌ์Šคํ„ฐ์—์„œ์˜ ๊ณ ๊ฐ€์šฉ์„ฑ Network Load Balancing: Maglev Hashing Scheduler i...[233] ๋Œ€ํ˜• ์ปจํ…Œ์ด๋„ˆ ํด๋Ÿฌ์Šคํ„ฐ์—์„œ์˜ ๊ณ ๊ฐ€์šฉ์„ฑ Network Load Balancing: Maglev Hashing Scheduler i...
[233] ๋Œ€ํ˜• ์ปจํ…Œ์ด๋„ˆ ํด๋Ÿฌ์Šคํ„ฐ์—์„œ์˜ ๊ณ ๊ฐ€์šฉ์„ฑ Network Load Balancing: Maglev Hashing Scheduler i...
ย 
[215] Druid๋กœ ์‰ฝ๊ณ  ๋น ๋ฅด๊ฒŒ ๋ฐ์ดํ„ฐ ๋ถ„์„ํ•˜๊ธฐ
[215] Druid๋กœ ์‰ฝ๊ณ  ๋น ๋ฅด๊ฒŒ ๋ฐ์ดํ„ฐ ๋ถ„์„ํ•˜๊ธฐ[215] Druid๋กœ ์‰ฝ๊ณ  ๋น ๋ฅด๊ฒŒ ๋ฐ์ดํ„ฐ ๋ถ„์„ํ•˜๊ธฐ
[215] Druid๋กœ ์‰ฝ๊ณ  ๋น ๋ฅด๊ฒŒ ๋ฐ์ดํ„ฐ ๋ถ„์„ํ•˜๊ธฐ
ย 
[245]Papago Internals: ๋ชจ๋ธ๋ถ„์„๊ณผ ์‘์šฉ๊ธฐ์ˆ  ๊ฐœ๋ฐœ
[245]Papago Internals: ๋ชจ๋ธ๋ถ„์„๊ณผ ์‘์šฉ๊ธฐ์ˆ  ๊ฐœ๋ฐœ[245]Papago Internals: ๋ชจ๋ธ๋ถ„์„๊ณผ ์‘์šฉ๊ธฐ์ˆ  ๊ฐœ๋ฐœ
[245]Papago Internals: ๋ชจ๋ธ๋ถ„์„๊ณผ ์‘์šฉ๊ธฐ์ˆ  ๊ฐœ๋ฐœ
ย 
[236] ์ŠคํŠธ๋ฆผ ์ €์žฅ์†Œ ์ตœ์ ํ™” ์ด์•ผ๊ธฐ: ์•„ํŒŒ์น˜ ๋“œ๋ฃจ์ด๋“œ๋กœ๋ถ€ํ„ฐ ์–ป์€ ๊ตํ›ˆ
[236] ์ŠคํŠธ๋ฆผ ์ €์žฅ์†Œ ์ตœ์ ํ™” ์ด์•ผ๊ธฐ: ์•„ํŒŒ์น˜ ๋“œ๋ฃจ์ด๋“œ๋กœ๋ถ€ํ„ฐ ์–ป์€ ๊ตํ›ˆ[236] ์ŠคํŠธ๋ฆผ ์ €์žฅ์†Œ ์ตœ์ ํ™” ์ด์•ผ๊ธฐ: ์•„ํŒŒ์น˜ ๋“œ๋ฃจ์ด๋“œ๋กœ๋ถ€ํ„ฐ ์–ป์€ ๊ตํ›ˆ
[236] ์ŠคํŠธ๋ฆผ ์ €์žฅ์†Œ ์ตœ์ ํ™” ์ด์•ผ๊ธฐ: ์•„ํŒŒ์น˜ ๋“œ๋ฃจ์ด๋“œ๋กœ๋ถ€ํ„ฐ ์–ป์€ ๊ตํ›ˆ
ย 
[235]Wikipedia-scale Q&A
[235]Wikipedia-scale Q&A[235]Wikipedia-scale Q&A
[235]Wikipedia-scale Q&A
ย 
[244]๋กœ๋ด‡์ด ํ˜„์‹ค ์„ธ๊ณ„์— ๋Œ€ํ•ด ํ•™์Šตํ•˜๋„๋ก ๋งŒ๋“ค๊ธฐ
[244]๋กœ๋ด‡์ด ํ˜„์‹ค ์„ธ๊ณ„์— ๋Œ€ํ•ด ํ•™์Šตํ•˜๋„๋ก ๋งŒ๋“ค๊ธฐ[244]๋กœ๋ด‡์ด ํ˜„์‹ค ์„ธ๊ณ„์— ๋Œ€ํ•ด ํ•™์Šตํ•˜๋„๋ก ๋งŒ๋“ค๊ธฐ
[244]๋กœ๋ด‡์ด ํ˜„์‹ค ์„ธ๊ณ„์— ๋Œ€ํ•ด ํ•™์Šตํ•˜๋„๋ก ๋งŒ๋“ค๊ธฐ
ย 
[243] Deep Learning to help studentโ€™s Deep Learning
[243] Deep Learning to help studentโ€™s Deep Learning[243] Deep Learning to help studentโ€™s Deep Learning
[243] Deep Learning to help studentโ€™s Deep Learning
ย 
[234]Fast & Accurate Data Annotation Pipeline for AI applications
[234]Fast & Accurate Data Annotation Pipeline for AI applications[234]Fast & Accurate Data Annotation Pipeline for AI applications
[234]Fast & Accurate Data Annotation Pipeline for AI applications
ย 
Old version: [233]๋Œ€ํ˜• ์ปจํ…Œ์ด๋„ˆ ํด๋Ÿฌ์Šคํ„ฐ์—์„œ์˜ ๊ณ ๊ฐ€์šฉ์„ฑ Network Load Balancing
Old version: [233]๋Œ€ํ˜• ์ปจํ…Œ์ด๋„ˆ ํด๋Ÿฌ์Šคํ„ฐ์—์„œ์˜ ๊ณ ๊ฐ€์šฉ์„ฑ Network Load BalancingOld version: [233]๋Œ€ํ˜• ์ปจํ…Œ์ด๋„ˆ ํด๋Ÿฌ์Šคํ„ฐ์—์„œ์˜ ๊ณ ๊ฐ€์šฉ์„ฑ Network Load Balancing
Old version: [233]๋Œ€ํ˜• ์ปจํ…Œ์ด๋„ˆ ํด๋Ÿฌ์Šคํ„ฐ์—์„œ์˜ ๊ณ ๊ฐ€์šฉ์„ฑ Network Load Balancing
ย 
[226]NAVER ๊ด‘๊ณ  deep click prediction: ๋ชจ๋ธ๋ง๋ถ€ํ„ฐ ์„œ๋น™๊นŒ์ง€
[226]NAVER ๊ด‘๊ณ  deep click prediction: ๋ชจ๋ธ๋ง๋ถ€ํ„ฐ ์„œ๋น™๊นŒ์ง€[226]NAVER ๊ด‘๊ณ  deep click prediction: ๋ชจ๋ธ๋ง๋ถ€ํ„ฐ ์„œ๋น™๊นŒ์ง€
[226]NAVER ๊ด‘๊ณ  deep click prediction: ๋ชจ๋ธ๋ง๋ถ€ํ„ฐ ์„œ๋น™๊นŒ์ง€
ย 
[225]NSML: ๋จธ์‹ ๋Ÿฌ๋‹ ํ”Œ๋žซํผ ์„œ๋น„์Šคํ•˜๊ธฐ & ๋ชจ๋ธ ํŠœ๋‹ ์ž๋™ํ™”ํ•˜๊ธฐ
[225]NSML: ๋จธ์‹ ๋Ÿฌ๋‹ ํ”Œ๋žซํผ ์„œ๋น„์Šคํ•˜๊ธฐ & ๋ชจ๋ธ ํŠœ๋‹ ์ž๋™ํ™”ํ•˜๊ธฐ[225]NSML: ๋จธ์‹ ๋Ÿฌ๋‹ ํ”Œ๋žซํผ ์„œ๋น„์Šคํ•˜๊ธฐ & ๋ชจ๋ธ ํŠœ๋‹ ์ž๋™ํ™”ํ•˜๊ธฐ
[225]NSML: ๋จธ์‹ ๋Ÿฌ๋‹ ํ”Œ๋žซํผ ์„œ๋น„์Šคํ•˜๊ธฐ & ๋ชจ๋ธ ํŠœ๋‹ ์ž๋™ํ™”ํ•˜๊ธฐ
ย 
[224]๋„ค์ด๋ฒ„ ๊ฒ€์ƒ‰๊ณผ ๊ฐœ์ธํ™”
[224]๋„ค์ด๋ฒ„ ๊ฒ€์ƒ‰๊ณผ ๊ฐœ์ธํ™”[224]๋„ค์ด๋ฒ„ ๊ฒ€์ƒ‰๊ณผ ๊ฐœ์ธํ™”
[224]๋„ค์ด๋ฒ„ ๊ฒ€์ƒ‰๊ณผ ๊ฐœ์ธํ™”
ย 
[216]Search Reliability Engineering (๋ถ€์ œ: ์ง€์ง„์—๋„ ํ”๋“ค๋ฆฌ์ง€ ์•Š๋Š” ๋„ค์ด๋ฒ„ ๊ฒ€์ƒ‰์‹œ์Šคํ…œ)
[216]Search Reliability Engineering (๋ถ€์ œ: ์ง€์ง„์—๋„ ํ”๋“ค๋ฆฌ์ง€ ์•Š๋Š” ๋„ค์ด๋ฒ„ ๊ฒ€์ƒ‰์‹œ์Šคํ…œ)[216]Search Reliability Engineering (๋ถ€์ œ: ์ง€์ง„์—๋„ ํ”๋“ค๋ฆฌ์ง€ ์•Š๋Š” ๋„ค์ด๋ฒ„ ๊ฒ€์ƒ‰์‹œ์Šคํ…œ)
[216]Search Reliability Engineering (๋ถ€์ œ: ์ง€์ง„์—๋„ ํ”๋“ค๋ฆฌ์ง€ ์•Š๋Š” ๋„ค์ด๋ฒ„ ๊ฒ€์ƒ‰์‹œ์Šคํ…œ)
ย 
[214] Ai Serving Platform: ํ•˜๋ฃจ ์ˆ˜ ์–ต ๊ฑด์˜ ์ธํผ๋Ÿฐ์Šค๋ฅผ ์ฒ˜๋ฆฌํ•˜๊ธฐ ์œ„ํ•œ ๊ณ ๊ตฐ๋ถ„ํˆฌ๊ธฐ
[214] Ai Serving Platform: ํ•˜๋ฃจ ์ˆ˜ ์–ต ๊ฑด์˜ ์ธํผ๋Ÿฐ์Šค๋ฅผ ์ฒ˜๋ฆฌํ•˜๊ธฐ ์œ„ํ•œ ๊ณ ๊ตฐ๋ถ„ํˆฌ๊ธฐ[214] Ai Serving Platform: ํ•˜๋ฃจ ์ˆ˜ ์–ต ๊ฑด์˜ ์ธํผ๋Ÿฐ์Šค๋ฅผ ์ฒ˜๋ฆฌํ•˜๊ธฐ ์œ„ํ•œ ๊ณ ๊ตฐ๋ถ„ํˆฌ๊ธฐ
[214] Ai Serving Platform: ํ•˜๋ฃจ ์ˆ˜ ์–ต ๊ฑด์˜ ์ธํผ๋Ÿฐ์Šค๋ฅผ ์ฒ˜๋ฆฌํ•˜๊ธฐ ์œ„ํ•œ ๊ณ ๊ตฐ๋ถ„ํˆฌ๊ธฐ
ย 
[213] Fashion Visual Search
[213] Fashion Visual Search[213] Fashion Visual Search
[213] Fashion Visual Search
ย 
[232] TensorRT๋ฅผ ํ™œ์šฉํ•œ ๋”ฅ๋Ÿฌ๋‹ Inference ์ตœ์ ํ™”
[232] TensorRT๋ฅผ ํ™œ์šฉํ•œ ๋”ฅ๋Ÿฌ๋‹ Inference ์ตœ์ ํ™”[232] TensorRT๋ฅผ ํ™œ์šฉํ•œ ๋”ฅ๋Ÿฌ๋‹ Inference ์ตœ์ ํ™”
[232] TensorRT๋ฅผ ํ™œ์šฉํ•œ ๋”ฅ๋Ÿฌ๋‹ Inference ์ตœ์ ํ™”
ย 
[242]์ปดํ“จํ„ฐ ๋น„์ „์„ ์ด์šฉํ•œ ์‹ค๋‚ด ์ง€๋„ ์ž๋™ ์—…๋ฐ์ดํŠธ ๋ฐฉ๋ฒ•: ๋”ฅ๋Ÿฌ๋‹์„ ํ†ตํ•œ POI ๋ณ€ํ™” ํƒ์ง€
[242]์ปดํ“จํ„ฐ ๋น„์ „์„ ์ด์šฉํ•œ ์‹ค๋‚ด ์ง€๋„ ์ž๋™ ์—…๋ฐ์ดํŠธ ๋ฐฉ๋ฒ•: ๋”ฅ๋Ÿฌ๋‹์„ ํ†ตํ•œ POI ๋ณ€ํ™” ํƒ์ง€[242]์ปดํ“จํ„ฐ ๋น„์ „์„ ์ด์šฉํ•œ ์‹ค๋‚ด ์ง€๋„ ์ž๋™ ์—…๋ฐ์ดํŠธ ๋ฐฉ๋ฒ•: ๋”ฅ๋Ÿฌ๋‹์„ ํ†ตํ•œ POI ๋ณ€ํ™” ํƒ์ง€
[242]์ปดํ“จํ„ฐ ๋น„์ „์„ ์ด์šฉํ•œ ์‹ค๋‚ด ์ง€๋„ ์ž๋™ ์—…๋ฐ์ดํŠธ ๋ฐฉ๋ฒ•: ๋”ฅ๋Ÿฌ๋‹์„ ํ†ตํ•œ POI ๋ณ€ํ™” ํƒ์ง€
ย 
[212]C3, ๋ฐ์ดํ„ฐ ์ฒ˜๋ฆฌ์—์„œ ์„œ๋น™๊นŒ์ง€ ๊ฐ€๋Šฅํ•œ ํ•˜๋‘ก ํด๋Ÿฌ์Šคํ„ฐ
[212]C3, ๋ฐ์ดํ„ฐ ์ฒ˜๋ฆฌ์—์„œ ์„œ๋น™๊นŒ์ง€ ๊ฐ€๋Šฅํ•œ ํ•˜๋‘ก ํด๋Ÿฌ์Šคํ„ฐ[212]C3, ๋ฐ์ดํ„ฐ ์ฒ˜๋ฆฌ์—์„œ ์„œ๋น™๊นŒ์ง€ ๊ฐ€๋Šฅํ•œ ํ•˜๋‘ก ํด๋Ÿฌ์Šคํ„ฐ
[212]C3, ๋ฐ์ดํ„ฐ ์ฒ˜๋ฆฌ์—์„œ ์„œ๋น™๊นŒ์ง€ ๊ฐ€๋Šฅํ•œ ํ•˜๋‘ก ํด๋Ÿฌ์Šคํ„ฐ
ย 
[223]๊ธฐ๊ณ„๋…ํ•ด QA: ๊ฒ€์ƒ‰์ธ๊ฐ€, NLP์ธ๊ฐ€?
[223]๊ธฐ๊ณ„๋…ํ•ด QA: ๊ฒ€์ƒ‰์ธ๊ฐ€, NLP์ธ๊ฐ€?[223]๊ธฐ๊ณ„๋…ํ•ด QA: ๊ฒ€์ƒ‰์ธ๊ฐ€, NLP์ธ๊ฐ€?
[223]๊ธฐ๊ณ„๋…ํ•ด QA: ๊ฒ€์ƒ‰์ธ๊ฐ€, NLP์ธ๊ฐ€?
ย 

[C5]deview 2012 nodejs

  • 1.
  • 3. My personal dev era... PHP ๊ฐœ๋ฐœ (in my opinion) - Easy to learn and use - First 5 pages for 5 hours (exclude design works)
  • 4. My personal dev era... Java๊ธฐ๋ฐ˜ ์›น ๊ฐœ๋ฐœ๋กœ ์ „ํ™˜...
  • 5. My personal dev era... I need...
  • 9. ??? ??? ??? ??? ??? ??? ??? ??? ๊ทธ๋ฆฌ๊ณ ๋„ VVMM (...) ??? ??? ??? ??? ??? ??? ??? ???
  • 10. We are here IT Universe
  • 11. My personal dev era... Java ๊ธฐ๋ฐ˜ ์›น ๊ฐœ๋ฐœ (in my opinion) - NOT easy to learn and use - First 5 pages for 50 hours !!
  • 12. Someone saysโ€ฆ No Pain, No Gains !
  • 13. No!!! No More Pain!!
  • 16.
  • 18. ๋ฐœํ‘œ์ž์†Œ๊ฐœ ์ฑ„์ˆ˜์› SUWON, CHAE - NHN Open Publishing Team, nFORGE Dev. - node.js community octoberskyjs leader - blog.doortts.com - twitter.com/doortts
  • 19. - ๊ฐœ๋ฐœ์ž ๋…ธํŠธ๋ž€ ๋ฌด์—‡์ธ๊ฐ€? - ๊ฐœ๋ฐœ์ž ๋…ธํŠธ์˜ ์•„ํ‚คํ…์ฒ˜ - ์™œ node.js๋ฅผ ์„ ํƒํ–ˆ๋Š”๊ฐ€? - ์ƒ์‚ฐ์„ฑ๊ณผ ํšจ์šฉ์€? - ๋ฌธ์ œ์™€ ์„ ํƒ๋“ค! - node.js๋ฅผ ์ด์šฉํ•œ ์›น ๊ฐœ๋ฐœ์— ๋Œ€ํ•œ Lessons Learned - Tips - Q&A
  • 20. helloworld ์„ธ๋ฏธ๋‚˜์—์„œ ๋‹ค๋ฃฌ ๋‚ด์šฉ์€ ์กฐ๊ธˆ ์ƒ๋žตํ•ฉ๋‹ˆ๋‹ค. ^^; - node.js ์ฐฝ๋ฐœ์˜ ์ˆœ๊ฐ„ - node.js๋Š” ๋ฌด์—‡์ธ๊ฐ€? - node.js์„ ์‹œ์ž‘ํ•˜๊ฒŒ ๋œ ๊ณ„๊ธฐ - node.js ๊ธฐ๋ณธ ๋ฌธ๋ฒ• - ์™ธ๊ตญ ์‚ฌ๋ก€ - ์„ฑ๋Šฅ (Benchmarks) ๋“ฑ๋“ฑ..
  • 21. ์™œ๋ƒํ•˜๋ฉด ์ด๊ฒƒ ๋ง๊ณ ๋„ ์ด์•ผ๊ธฐ ํ•ด๋ณด๊ณ  ์‹ถ์€ ๋‚ด์šฉ์ด ๋งŽ์Šต๋‹ˆ๋‹ค!
  • 22. ๏‚ง Node.js๋Š” ์‹ค์งˆ์ ์œผ๋กœ ์„œ๋ฒ„์‚ฌ์ด๋“œ ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ ์‹คํ–‰ํ™˜๊ฒฝ๊ณผ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ, ์ด๋ ‡๊ฒŒ ๋‘ ๊ฐ€์ง€๋กœ ์ด๋ฃจ์–ด์ ธ ์žˆ์Šต๋‹ˆ๋‹ค. ๏‚ง ๊ณ ์„ฑ๋Šฅ ๋„คํŠธ์›Œํฌ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ ๏‚ง ์ €์ˆ˜์ค€ Event-loop๋ฅผ ์ด์šฉํ•œ callback์„ ์ด์šฉํ•ด ๊ทธ๋ž˜์„œ, Node.js๋Š” ๋ฌด์—‡์ธ๊ฐ€? ๋‹ค์–‘ํ•œ I/O ์ž‘์—…์„ non-blocking ๋ฐฉ์‹์œผ๋กœ ์ฒ˜๋ฆฌ http://blog.doortts.com/214
  • 23.
  • 24. ๏‚ง Project N4(nFORGE 4)์˜ Sub Project ๏‚ง wiki์™€ ๋งค๋‰ด์–ผ ์ž‘์„ฑ ๏‚ง open source ๏‚ง Simple, Distributive & Collective merge ๏‚ง node.js ๋กœ ๊ฐœ๋ฐœ ๏‚ง git๊ณผ ํ˜ธํ™˜๋˜๋Š” ํŒŒ์ผ์‹œ์Šคํ…œ
  • 26. ๏‚ง nFORGE ์„œ๋ธŒ ํ”„๋กœ์ ํŠธ๋กœ ๊ฐœ๋ฐœ ๏‚ง ์˜คํ”ˆ์†Œ์Šค๋กœ ๊ณต๊ฐœ ๏‚ง ์‚ฝ์งˆ ๋น„์šฉ์„ ๋จผ์ € ์น˜๋ฃจ๊ณ  ๊ทธ ๊ฒฐ๊ณผ๋ฅผ ๊ณต์œ /๊ณต๊ฐœํ•œ๋‹ค. ๏‚ง node.js ๊ธฐ์ˆ  ํ™•์‚ฐ์— ๊ธฐ์—ฌํ•œ๋‹ค. ๏‚ง ์šฐ๋ฆฌ๋‚˜๋ผ์—์„œ๋„ ์›น ๊ฐœ๋ฐœ์— spring ๋ง๊ณ  ๋‹ค๋ฅธ ๊ฑธ ์‚ฌ์šฉํ•ด ๋ณด์ž.
  • 28. v2012.4.20 Template Engine Automation Test App Server Jade User Mocha Route ExpressJS module CSS foundation app.coffee Twitter Bootstrap Browser Emulation Zombie.js Controller Test Wiki System Expresso Unit Test - Markdown wiki.js Assert Renderer - Preview - Syntax highlighter - diff Storage - Git compatible Project Builder Disk gitfs.js Jake
  • 29. v2012.6.25 Template Engine Automation Test App Server Jade User Mocha Route ExpressJS module CSS foundation app.coffee Twitter Bootstrap Browser Emulation Zombie.js Real-Time Feedback Controller Test i18n Wiki System Expresso Node- Socket.io (TBD) i18n Unit Test - Markdown wiki.js Assert Renderer - Preview Flow control Mailing - Syntax highlighter nodemailer - diff step Dependency Management async / installer NPM Crypto Storage - Git compatible *Git tools jshashes Project Builder Disk gitfs.js Jake Logger winston *Git official command line tools
  • 30. ๏‚ง AppServer ๏‚ง Test Framework Express, Restify, Meteor Mocha, Vows, Nodeunit ๏‚ง Template Engine ๏‚ง Browser Emulation Test Jade, EJS Zombie.js, Phantom.js + Casper.js ๏‚ง CSS Foundation Bootstrap, ZURA Foundation ๏‚ง Code Editor CodeMirror, Plain TextArea ๏‚ง View MVC backbone.js, ember.js ๏ƒง ์“ฐ๊ณ  ์‹ถ์—ˆ์ง€๋งŒ ์ง€๋‚˜์น˜๊ฒŒ ๋ณต์žกํ•ด ์งˆ ์šฐ๋ ค๊ฐ€ ์žˆ์–ด ์ž์ œํ•จ!
  • 31. ๏‚ง AppServer ๏‚ง Sugar Language ๏‚ง Project Builder Express coffeescript jake ๏‚ง Template Engine ๏‚ง i18n ๏‚ง Logger Jade node-i18n winston ๏‚ง CSS Foundation ๏‚ง Email Sender Bootstrap nodemailer ๏‚ง Code Editor ๏‚ง Browser Emulation Test CodeMirror Zombie.js ๏‚ง Real-time feedback ๏‚ง Test Framework socket.io Mocha
  • 32. ๏‚ง ๊ฐ€๋งŒํžˆ ๋†”๋‘ฌ๋„ ์„ฑ์žฅํ•œ๋‹ค. ๏‚ง ๋น ๋ฅด๊ฒŒ ๋งŒ๋“ค ์ˆ˜ ์žˆ๋‹ค. ๋‚˜๋จธ์ง€ ๋ถ€๋ถ„์„ ๊ฐœ๋ฐœํ•˜๋ฉด ๋˜๋‹ˆ๊นŒ. ๏‚ง ๋น„์Šทํ•œ ๋ชจ๋“ˆ๋“ค์ด ์žˆ์„๋•Œ๋Š” ๋ญ๊ฐ€ ์ข‹์€์ง€ ํŒ๋‹จ์ด ์–ด๋ ต๋‹ค. ๏‚ง ํƒ€์ธ์˜ ์ทจํ–ฅ์— ํœ˜๋‘˜๋ฆด ์ˆ˜ ์žˆ๋‹ค. ๏‚ง ์ •ํ™•ํžˆ ์›ํ•˜๋Š” ๊ธฐ๋Šฅ์€ ์—†๋Š” ๊ฒฝ์šฐ๊ฐ€ ์ข…์ข… ์žˆ๋‹ค. ๏‚ง ๋ผ์ธ์„ ์ž˜ ๋ชป ํƒ€๋ฉด ์˜ค๋žซ๋™์•ˆ ํ”ผ๊ณคํ•ด ์ง„๋‹ค. -> ๋ฐœ์ „์„ ๊ธฐ๋Œ€ํ•˜๊ธฐ ๋ณด๋‹ค ํ˜„์žฌ ๊ธฐ๋Šฅ์ด ํ˜„์žฌ ์šฐ๋ฆฌ์—๊ฒŒ ๋งž๋Š”๊ฐ€์— ์ง‘์ค‘ํ•œ๋‹ค. -> ์ตœ์•…์„ ๊ฐ€์ •
  • 33.
  • 34. ๊ธฐ๋ณธ์ ์œผ๋กœ๋Š” ์•„ํ‚คํ…์ฒ˜ ๊ตฌ์„ฑ๋„์˜ ๋ชจ๋“ˆ๋“ค์„ ์‚ฌ์šฉํ•˜์…”์„œ ๊ฐœ๋ฐœํ•˜์‹œ๋ฉด ์ถฉ๋ถ„ํ•ฉ๋‹ˆ๋‹ค. ์‚ฝ์งˆ์€ ์ €ํฌ๊ฐ€ ์ด๋ฏธโ€ฆ
  • 35. nodejs.org - NHN ๊ธฐ์ˆ ํˆฌ์ž - ๋‹ค์ˆ˜ ํ”Œ๋žซํผ์„ ์ง€์›ํ•˜๋Š” ๊ฐœ๋ฐœํ™˜๊ฒฝ ํ•„์š” - ๊ฐœ๋ฐœํŒ€ ๋ฉค๋ฒ„๋“ค์ด Spring Framework์„ ์ž˜ ๋ชฐ๋ผ์„œ PHP๊ฐœ๋ฐœ์ž, Java ํด๋ผ์ด์–ธํŠธ ๊ฐœ๋ฐœ์ž - ๋ฉค๋ฒ„ ์ค‘ ํ•œ ๋ช…์ด node.js ์ปค๋ฎค๋‹ˆํ‹ฐ ๋ฆฌ๋”๋ผ์„œโ€ฆ
  • 36.
  • 37. ๏‚ง ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ! ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ! ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ! ๏‚ง ๋ ˆํผ๋Ÿฐ์Šค๊ฐ€ ์—†์–ด์„œ ๊ณ ์ƒ์„ ํ•  ๊ฐ€๋Šฅ์„ฑ์ด ๋†’์Œ ๏‚ง ๊ฐœ๋ฐœํ•˜๋ฉด์„œ ์Šคํƒ€์ผ์ด ๋ณ€ํ•ด๊ฐ. ํ˜น์€ ์–ด๋Š์ชฝ์ด ์ข‹์€์ง€์— ๋Œ€ํ•œ ํŒ๋‹จ์ด ์–ด๋ ค์›€ function export ๏ƒ  function object ๏ƒ  prototype์œผ๋กœ ํ•จ์ˆ˜๋ฅผ ์ง€์ •ํ•จ see codesโ€ฆ
  • 38. expressjs.com - ์›น ์•ฑ์„œ๋ฒ„๊ฐ€ ํ•„์š”ํ•จ - node.js๋กœ ์›น ๊ฐœ๋ฐœํ•˜๋Š” ์‚ฌ๋žŒ๋“ค์ด ๊ฐ€์žฅ ๋Œ€์ค‘์ ์œผ๋กœ ์‚ฌ์šฉ
  • 39.
  • 40. ๏‚ง ๋‚˜๋ฆ„ ์˜ค๋ž˜ ๋˜์—ˆ๊ณ  2.0 ์ด์ƒ๋ถ€ํ„ฐ๋Š” ๊ธฐ๋ณธ์ ์œผ๋กœ ์›น์„œ๋ฒ„๊ฐ€ ๊ฐ€์ ธ์•ผ ํ•˜๋Š” ๊ธฐ๋Šฅ๋“ค์ด ์ž˜ ๋“ค์–ด ์žˆ์Œ ๏‚ง ๋ฌธ์„œํ™”๊ฐ€ ๋ถ€์กฑ (๊ณ„์† ๋ฐœ์ „์ค‘. ์ฝ”๋“œ๋ฅผ ๋ณด๊ณ  ์ดํ•ดํ•ด์•ผ ํ•จ) ๏‚ง ๊ฐœ์ธ์˜ ์ทจํ–ฅ์ด ๋ฐ˜์˜๋˜์–ด ๊ฐœ๋ฐœ๋˜๋Š” ๊ฒฝํ–ฅ์ด ์žˆ์Œ Tj Holowaychuk์ด๋ผ๋Š” ์ข…ํ•ฉ์˜ˆ์ˆ ๊ฐ€๊ฐ€ ๋Œ€๋ถ€๋ถ„์˜ ์ฝ”๋“œ๋ฅผ ๊ฐœ๋ฐœํ•จ ์ž๊ธฐ ๋งˆ์Œ๋Œ€๋กœ ๋ชจ๋“ˆ์„ ์—†์• ๋ฒ„๋ฆฌ๊ฑฐ๋‚˜ ์‚ฌ์šฉ๋ฒ•์„ ๋ฐ”๊พธ๊ฑฐ๋‚˜ ํ•จ ๏‚ง Windows Azure๋ฅผ ์ง€์›ํ•˜๋Š” MS WebMatrix์˜ ๊ธฐ๋ณธ ์›น ์•ฑ์„œ๋ฒ„๋กœ ํƒ‘์žฌ๋˜์–ด ์žˆ์Œ ๏‚ง ํ•˜์ง€๋งŒ ํ˜„์‹ค์ ์œผ๋กœ ๊ฐ€์žฅ ๋งŽ์€ ์‚ฌ๋ก€๊ฐ€ ์žˆ๊ธฐ ๋•Œ๋ฌธ์— ๋Œ€์•ˆ์ด ๋งŽ์ง€ ์•Š์Œ ๏‚ง Meteor์— ๊ธฐ๋Œ€๋ฅผ ํ•ด๋ด„ ๏ƒ  Spring Framework Creator โ€˜Rod Johnsonโ€™ ํ•ฉ๋ฅ˜
  • 41. jade-lang.com - express์™€ ํ•จ๊ป˜ ์“ธ view template์ด ํ•„์š”ํ•จ -์„ ํƒ์ง€๊ฐ€ ๋ณ„๋กœ ์—†์Œ. jade / ejs
  • 42.
  • 43. ๏‚ง Express์™€ ๊ถํ•ฉ์ด ์ข‹์Œ ๏‚ง JSP๋ณด๋‹ค๋Š” ๋‚˜์Œ ๏‚ง view ์ฝ”๋“œ๋Ÿ‰์ด ์ค„์–ด๋“ฌ (์•ฝ๊ฐ„ zen coding ๋Š๋‚Œ๋„) But.. ๏‚ง ์‚ด์ง ๋…ํŠนํ•œ ๋ฌธ๋ฒ•์„ ๋ฐฐ์›Œ์•ผ ํ•จ ๏‚ง ๋งˆํฌ์—… ๊ฐœ๋ฐœ์ž์™€ ํ˜‘์—…์— ๋‚œํ•ญ์ด ์žˆ์Œ
  • 44. coffeescript.org - ์–ด์ฐจํ”ผ ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ๋„ ์ž˜ ๋ชจ๋ฅด๋‹ˆ๊นŒโ€ฆ - Best Practice๋“ค์˜ ์ž์—ฐ์Šค๋Ÿฌ์šด ์ ์šฉ - ๊ฐ„๊ฒฐํ•œ ์ฝ”๋“œ
  • 45.
  • 46. ๏‚ง ์ž‘์„ฑ ์ฝ”๋“œ๋Ÿ‰ ๊ฐ์†Œ ๏ƒ  ์ฝ”๋“œ ๋ณต์žก๋„ ๊ฐ์†Œ ๏ƒ  ๊ฐ€๋…์„ฑ ์ฆ๊ฐ€ ๏‚ง ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ์˜ best practice๋“ค๊ณผ defects ๋ฅผ ๋ฐฐ์šธ ์ˆ˜ ์žˆ์Œ ํ•œํŽธ์œผ๋ก โ€ฆ ๏‚ง์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ๋„ ์ž˜ ๋ชจ๋ฅด๋ฉด์„œ! ๏‚ง ๋””๋ฒ„๊น… ๏‚ง javascript source maps์ด ๋นจ๋ฆฌ ์™„์„ฑ๋˜๊ธฐ๋ฅผ! ? ๏‚ง but โ€ฆ it's a browser technique! ๏‚ง http://www.html5rocks.com/en/tutorials/developertools/sourcemaps/
  • 47. http://visionmedia.github.com/mocha/ - ๊ธฐ๋ณธ assert๋งŒ์œผ๋กœ๋Š” ๋ถ€์กฑ - async ๋ฐ callback์— ๋Œ€ํ•œ ํ…Œ์ŠคํŠธ๊ฐ€ ํ•„์š”
  • 48.
  • 49. ๏‚ง ๋‹ค์–‘ํ•œ Report์™€ ์Šคํƒ€์ผ ์ง€์› โ€ฆ ํ˜•ํƒœ, ๋ณด๊ณ ์„œ ํ˜•ํƒœ, html, json ๋“ฑ. see page.. โ€ฆ BDD, TDD, ๏‚ง Coffeescript์ง€์› ๏‚ง ๋‹ค๋ฅธ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ์™€ ํ•จ๊ป˜ ์“ธ ์ˆ˜ ์žˆ์Œ should.js, expect.js, chai ๏‚ง async test ์ง€์› ๏‚ง๊ฐ„๋‹จํ•œ global leak์„ ์žก์•„์ค€๋‹ค. for(idx in files){ console.log(files[idx]) โ€ฆ No๊ณ ๋ฏผ! } ๊ทธ๋ƒฅ์“ฐ๋ฉด ๋œ๋‹ค!
  • 50. https://github.com/mde/jake - Build Script๋„ Javascript๋กœ! - sh, make, cake, ant ๋“ฑ๋“ฑ์„ ๋Œ€์ฒด
  • 51.
  • 52. ๏‚ง Ant์™€ ๋น„์Šท ๏‚ง ์“ธ๋งŒํ•จ ๏‚ง ๋‹จ, ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ๋กœ ์ž‘์„ฑ๋˜๊ธฐ๋•Œ๋ฌธ์— ๊น”๋”ํ•จ์€ ์กฐ๊ธˆ ์ ์Œ. ๏ƒŸ ์ปคํ”ผ์Šคํฌ๋ฆฝํŠธ๋„ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ์Œ ๏‚ง Jake๋ฅผ ์ปค๋งจ๋“œ ๋ผ์ธ์—์„œ ์“ฐ๋ ค๋ฉด global๋กœ ๋ฏธ๋ฆฌ ์ธ์Šคํ†จ ํ•ด ๋†“์•„์•ผ ํ•จ ๊ทธ๋ ‡์ง€ ์•Š์œผ๋ฉด ์šฐํšŒ๋ฐฉ๋ฒ•์œผ๋กœ node node_modules/jake/bin/cli.js build
  • 53. https://github.com/assaf/zombie - controller ๋Œ€์‹  ์›น ๋ธŒ๋ผ์šฐ์ € ํ…Œ์ŠคํŠธ๋ฅผ ํ•˜๊ธฐ๋กœ ์ •ํ•จ - ์ผ์ข…์˜ ์›น ๋ธŒ๋ผ์šฐ์ € ์—๋ฎฌ๋ ˆ์ด์…˜
  • 54.
  • 55. ๏‚ง ๋ธŒ๋ผ์šฐ์ €๋ฅผ ์‹ค์ œ๋กœ ๋„์›Œ์„œ ํ…Œ์ŠคํŠธ ํ•˜์ง€ ์•Š์•„๋„ ๋จ ๏‚ง ํ…Œ์ŠคํŠธ ์Šคํฌ๋ฆฝํŠธ ์ž‘์„ฑ์ด ๊ฐ„๋‹จํ•จ ๏‚ง client side ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ ํ…Œ์ŠคํŠธ๋„ ๊ฐ€๋Šฅํ•จ Butโ€ฆ ๏‚ง ๊ธฐ๋™์— ์กฐ๊ธˆ ์‹œ๊ฐ„์ด ๊ฑธ๋ ค์„œ ํ…Œ์ŠคํŠธ ํƒ€์ž„์•„์›ƒ์„ ์กฐ๊ธˆ ์—ฌ์œ ์žˆ๊ฒŒ ์žก์•„์•ผ ํ•จ ๏‚ง ์ •๊ตํ•œ ํ…Œ์ŠคํŠธ๋Š” ์ž‘์„ฑ์— ์‹œ๊ฐ„์ด ๋งŽ์ด ๊ฑธ๋ฆฌ๊ฑฐ๋‚˜ ์–ด๋ ค์›€ ๏‚ง ๊ฐœ๋ฐœ์ž์˜ ์ •์‹ ์„ธ๊ณ„๊ฐ€ ์กฐ๊ธˆโ€ฆ
  • 57.
  • 58. ๏‚ง ์ตœ์ดˆ ๋‹จ์–ด ๋“ฑ๋ก์‹œ message file์— ์ถ”๊ฐ€ํ•  ํ•„์š” ์—†์ด ๋ฉ”์‹œ์ง€๋ฅผ ๋ฐ”๋กœ ์‚ฌ์šฉํ•˜๋ฉด ํŒŒ์ผ์— ์•Œ์•„์„œ ์ €์žฅ์ด ๋จ. ๏‚ง ๋‹จ์–ด๋ฅผ ๋ฐ”๊ฟ”๋Œ€๋ฉด ๊ธฐ์กด ๋‹จ์–ด๋ฅผ ์ง€์›Œ์ฃผ์ง€๋Š” ์•Š๊ธฐ ๋•Œ๋ฌธ์— ์–ธ์–ด ํŒŒ์ผ์ด ์ง€์ €๋ถ„ ํ•ด ์ง ๏‚ง ํ•œ ๋ฒˆ ๋‹จ์–ด๋ฅผ ์ฝ์–ด ๋“ค์ธ ์ƒํƒœ์—์„œ ๋ฒˆ์—ญ์„ ๋ณ€๊ฒฝํ•˜๋ฉด, ์„œ๋ฒ„๋ฅผ ์žฌ์‹œ์ž‘ ํ•ด์•ผ ํ•จ
  • 59. step: https://github.com/creationix/step async: https://github.com/caolan/async - continuation style์—์„œ์˜ ์ฝ”๋“œ ๊ฐ€๋…์„ฑ ์ฆ๊ฐ€
  • 60.
  • 61.
  • 62. ๏‚ง step์ด ํ›จ์”ฌ ๊น”๋”ํ•˜๊ฒŒ ๋‚˜์˜ค์ง€๋งŒ, ๊ธฐ๋Šฅ์€ ๋‹จ์ˆœ ๏‚ง async๋Š” ์„ธ๊ณ„์ •๋ณต์„ ๊ฟˆ๊พธ๋Š” ์ˆ˜์ค€์œผ๋กœ ๊ธฐ๋Šฅ์ด ๋งŽ์Œ. <= ์ž์นซํ•˜๋ฉด ์ดํ•ดํ•˜๊ธฐ ๋” ์–ด๋ ต๊ฒŒ ๋ณ€ํ•  ๊ฐ€๋Šฅ์„ฑ๋„ ์žˆ์Œ ๋‘˜ ๋‹ค ์ถ”์ฒœ!
  • 63.
  • 64. node.js Java windows 4M 88M mac os 8M 144M linux 5M 120M
  • 65. ๏‚ง vi ๏‚ง sublime text 2 ๏‚ง web storm / IntelliJ ๏‚ง eclipse ๏‚ง Aptana
  • 66. ๏‚ง console.log donโ€™t use console.log(โ€˜>>>โ€™ + abc ) style see the cases.. ๏‚ง debugger node debug app.js ๏‚ง node-inspector https://github.com/dannycoates/node-inspector
  • 67. lessons & Learned + ๊ณ ์ƒ์˜ ๊ฒฐ๊ณผ๋“ค
  • 68. getDecoratedUser('doortts', function(err, user) { if (err) throw err; console.log(user.name); }); var getDecoratedUser= function(username, callback){ var err; if(username === undefined ) err = new Error(โ€˜โ€ฆโ€™); callback(err, โ€™[โ€˜ + username + โ€˜]โ€™); }
  • 69. ๏‚ง๋ธ”๋Ÿญํ‚น ์ฝœ๋ฐฑ(blocking callback) ํ˜ธ์ถœํ•œ ๋‹ค์Œ ์‹คํ–‰ ๊ฒฐ๊ณผ๋ฅผ ๋Œ€๊ธฐ ๏‚ง์ง€์—ฐ ์ฝœ๋ฐฑ(deffered callback) ํ˜ธ์ถœํ•œ ๋‹ค์Œ ์‹คํ–‰ ๊ฒฐ๊ณผ๋Š” ๋‚˜์ค‘์— ๋ฐ›๋Š”๋‹ค. ์šฐ๋ฆฌ๊ฐ€ ์จ์•ผ ํ•˜๋Š”๊ฑด ์ง€์—ฐ ์ฝœ๋ฐฑ!! (ํ˜น์€ async callback์ด๋ผ๊ณ ๋„ ๋ถˆ๋ฆผ)
  • 70. diagonal sequence var result, isUserExist; getUser ('doortts', function (err, user) { if (err) throw err; isExist(user, function(err, isExist){ isUserExist = isExist; } if (isUserExist) console.log(result.name + ":" + result.email); });
  • 71. diagonal sequence var result, isUserExist; getUser ('doortts', function (err, user) { if (err) throw err; isExist(user, function(err, isExist){ isUserExist = isExist; } if (isUserExist) console.log(result.name + ":" + result.email); });
  • 72. diagonal sequence var result, isUserExist; getUser ('doortts', function (err, user) { if (err) throw err; isExist(user, function(err, isExist){ isUserExist = isExist; } if (isUserExist) console.log(result.name + ":" + result.email); });
  • 73. ๏‚งECMA Script 3, 5 ๏‚ง (0.1 + 0.2) == 0.3 ๏‚ง sortโ€ฆ see the codes
  • 74. ๏‚ง ์„œ๋ฒ„์‚ฌ์ด๋“œ ๊ฐœ๋ฐœ์ž? ํ”„๋ก ํŠธ์•ค๋“œ ๊ฐœ๋ฐœ์ž?
  • 75. ๏‚ง ํฐ ๊ณ ๋ฏผ์—†์ด ์‚ฌ์šฉํ•ด๋„ ๊ดœ์ฐฎ์€ ์„ฑ๋Šฅ ๏‚ง ๋‹ค์–‘ํ•œ ๋ชจ๋“ˆ์„ ํ†ตํ•œ ์†์‰ฌ์šด(?) ๊ฐœ๋ฐœ ๏‚ง ๋งŽ์€ ๊ฐœ๋ฐœ์ž๋“ค์ด (๋ฏธ์นœ๋“ฏ์ด) ๋›ฐ์–ด๋“ค๊ณ  ์žˆ์Œ ํฌ๋ฝํฌ๋“œ ์•„์ €์”จ๋งˆ์ €.. ๏‚ง ๋ฏธ๋ž˜์— ๋Œ€ํ•œ ์ค€๋น„ ์•ˆ๋“œ๋กœ์ด๋“œ/์•„์ดํฐ์˜ ๊ตํ›ˆ
  • 76. ๏‚ง ์‚ฌ์‹ค ๋‹จ์ผ ์–ธ์–ด๋ผ๊ณ  ํ•˜๊ธฐ์—” ์‚ด์ง ๋ฌด๋ฆฌ๊ฐ€ ์žˆ์ง€๋งŒ ๋งค์šฐ ๋งค๋ ฅ์ ์ž„ ๏‚ง ์›น ๊ฐœ๋ฐœ ํ•˜๋ ค๋ฉด ์–ด์ฐจํ”ผ ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ ๋ฐฐ์›Œ์•ผ ํ•จ ๏‚ง ๊ทน๋‹จ์ ์ธ ์ฝ”๋“œ ์žฌํ™œ์šฉ Server-side / front-end ์–‘์ชฝ์—์„œ ์‚ฌ์šฉ๊ฐ€๋Šฅํ•œ ์ฝ”๋“œ ์ž‘์„ฑ๊ฐ€๋Šฅ ๏‚ง ์ƒ๊ฐ๋ณด๋‹ค๋Š” ์–ด๋ ต์ง€๋งŒ, ํ•œํŽธ์œผ๋กœ๋Š” ์ƒ๊ฐ๋ณด๋‹ค๋Š” ๊ฐ„๊ฒฐํ•œ ์–ธ์–ด์ธ ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ
  • 77. ๏‚ง ์ฒ˜์Œ์—” ์™„์ „ ์žฌ๋ฐŒ์Œ! ๏‚ง ํ•˜์ง€๋งŒโ€ฆ
  • 78. ๏‚ง ์„ฑ๋Šฅ์ด ์ •๋ง ์ข‹์€๊ฐ€? ๏‚ง Single Thread ๋ผ๋ฉฐ? ๏‚ง Multicore CPU ํ™œ์šฉ์€? CPU ์ง‘์ค‘์ ์ธ ์ผ์€ ์ข€โ€ฆ ๏‚ง ์šฐ๋ฆฌ๋‚˜๋ผ์—์„œ๋Š” ์ซŒโ€ฆ ๏‚ง socket.io ์“ฐ๋ ค๊ณ  node.js ๋ฐฐ์›Œ์š”! ์ปค๋ฎค๋‹ˆํ‹ฐ์—์„œ ๋” ๋งŽ์€ ์ด์•ผ๊ธฐ ๋‚˜๋ˆ ์š”~ ^^; facebook.com/octoberskyjs
  • 80. ๏‚ง concepts ๏‚ง modules core module, file modules ๏‚ง npm ๏‚ง ECMA 3, ECMA 5 ์˜ˆ) JSON.parse(text [, reviver]) ๏‚ง Profiling, ArrayBuffer ์ฐธ๊ณ  ์ด์œ ์ž์‹ ๋งค ํ•˜๋‚˜ ๋” ์ค€๋‹ค๋Š” ์‹ฌ์ •์œผ๋กœ ์“ฐ๋Š” node.js ์ด์•ผ๊ธฐ http://blog.doortts.com/262
  • 81. ๏‚ง node.js mailling list ๏‚ง Scoop-it - http://www.scoop.it/t/nodejs-code ๏‚ง facebook.com/octoberskyj, nodejskr.org ๏‚ง Mozilla Developer Network โ€“ Javascript https://developer.mozilla.org/en-US/docs/JavaScript ๏‚ง ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ ์ฝ”๋”ฉ ๊ธฐ๋ฒ•๊ณผ ํ•ต์‹ฌ ํŒจํ„ด ๏‚ง ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ ํ•ต์‹ฌ ๊ฐ€์ด๋“œ
  • 82.
  • 83. ๏‚ง ํƒ€์ž…์ฒดํฌ๋„ ์•ˆ๋˜๊ณ  ๋’ท ๊ฐ๋‹น ์•ˆ๋ฉ๋‹ˆ๋‹ค! ๏‚ง ๊ฐ€๋…์„ฑ๋„ ์—ฌ์ฐจํ•˜๋ฉด ๋ฌด๋„ˆ์ง€๋Š”๋ฐ ํ…Œ์ŠคํŠธ ์—†์œผ๋ฉด ํž˜๋“ค๋•Œ ๋งŽ์Šต๋‹ˆ๋‹ค. ๏‚ง ์‚ฌ์‹ค ์žˆ์–ด๋„ ํž˜๋“ญ๋‹ˆ๋‹ค. ๏‚ง ์›น ๊ฐœ๋ฐœ์ด ์Šคํ”„๋ง์€ ์•„๋‹ˆ์ž–์•„์š”! ๏‚ง์—ด์‹ฌํžˆ ํ• ๊ฒŒ์š”!
  • 85. ๏‚ง ํ•œ๋ฒˆ๋งŒ ๋กœ๋“œ๋œ๋‹ค. ๏‚ง ๋”ฐ๋ผ์„œ ์žฌ๊ธฐ๋™์„ ํ•ด์•ผ ๋ชจ๋“ˆ์ด ์ƒˆ๋กœ ๋ฐ˜์˜๋œ๋‹ค. ๏‚ง ์บ์‹œ๋ฅผ ์ง€์šฐ๋ฉด ๋˜์ง€๋งŒ ๊ฐœ๋ฐœ๋•Œ ์ด์™ธ์—๋Š” ์‚ฌ์šฉ๊ธˆ์ง€ ๏‚ง event-loop clock time์œผ๋กœ ํ•œ ํƒ€์ž„ ๋’ค๋กœ ์ž‘์—…์„ ๋ฏธ๋ฃฌ๋‹ค. ๏‚ง heavyํ•œ ์ผ์„ ์ฒ˜๋ฆฌํ•  ๋•Œ ์ „์ฒด ์ž‘์—…์ด ๋ฉˆ์ถ”๋Š” ์ผ์ด ์—†๊ฒŒ ํ•˜๋ ค๋ฉด ๊ผญ ์จ์•ผํ•จ ๏‚ง setTimeout( callback, 0 )๋ณด๋‹ค ํšจ์œจ์ด ์ข‹์Œ!
  • 86. var name = o && o.getName(); var name = otherName || "default"; switch(a) { case 1: // fallthrough case 2: eatit(); break; default: donothing(); }
  • 87. for (var i = 0; i < a.length; i++) { ... } console.log(i); - ๋งŒ์•ฝ debugger ๋ช…๋ น์–ด๋กœ debug๊ฐ€ ์ž˜ ์•ˆ๋ ๋•Œ๋Š” --debug-brk ์˜ต์…˜์„ ์‚ฌ์šฉํ•œ๋‹ค. - ๋ฉ”๋ชจ๋ฆฌ Leak์˜ ์œ„ํ—˜์ด ํฌ๋‹ค. ์ด๋ฒคํŠธ ๋“ฑ๋ก/ํ•ด์ œ๋ฅผ ์ž˜ ํ•ด์ฃผ์–ด์•ผ ํ•œ๋‹ค.
  • 88. if (typeof module !== 'undefined' && module.exports) { module.exports = _; } var exports = module.exports = Emailer - ํฌ๋กฌ์€ favicon์„ ์ฐพ๊ธฐ์œ„ํ•ด ๋”ฐ๋กœ request๋ฅผ ๋ณด๋‚ธ๋‹ค.
  • 89. -local variable, cached - module.exports === exports - Core modules - File modules .js, .json, .node - async๋ฅผ ์“ธ๊ฑฐ๋ฉด node.js๋ฅผ ์™œ์“ฐ๋‹ˆ? ๋ผ๊ณ  ๋ง ํ•  ์ˆ˜๋„ ์žˆ์ง€๋งŒ, ์ƒ๊ฐ๋ณด๋‹ค ๋งŽ์€ ๊ฒฝ์šฐ sync ๋ฉ”์†Œ๋“œ๊ฐ€ ์œ ๋ฆฌํ• ๋•Œ๊ฐ€ ์žˆ๋‹ค. ํŠนํžˆ timming ๋ฌธ์ œ์˜ ๊ฒฝ์šฐ.
  • 90.
  • 91. - getter/setter see codes - Object.preventExtentions(object) - Object.seal(object): configurable bits off - Object.freeze(object): writeable bits off, ๊ฒฐ๊ณผ์ ์œผ๋กœ immutable์„ ๋งŒ๋“ค์ˆ˜ ์žˆ๋‹ค.
  • 92. node -e 'console.log(require("fs").watch+"")' var getUser = function( name, callback) { โ€ฆ callback(err, data ); } ์ด ์™ธ ๋” ๋งŽ์€ ๋‚ด์šฉ์€ ์‹œ๊ฐ„๊ด€๊ณ„์ƒโ€ฆ ์ด๋ผ๋Š” ๋ง๋กœ ์–ผ๋ฒ„๋ฌด๋ฆด ์˜ˆ์ •์ž…โ€ฆ helloworld ๋ธ”๋กœ๊ทธ, ์ฑ… ๋“ฑ์„ ํ†ตํ•ด ๋” ์ด์•ผ๊ธฐ ๋“œ๋ฆด๊ฒŒ์š”
  • 93.
  • 94. ๊ด‘๊ณ  โ€“ ๋ฐœํ‘œ์ž๊ฐ€ ๋˜์–ด์ฃผ์„ธ์š”! nodejs korea conference 11์›” 20์ผ (ํ™”) node committer ๋ฐ core contributor ์ฐธ์„ ์˜ˆ์ • facebook.com/octoberskyjs ์—์„œ ์†Œ์‹์„ ๊ท€ ๊ธฐ์šธ์—ฌ ์ฃผ์„ธ์š”! ^,^)/