More Related Content Similar to [C5]deview 2012 nodejs Similar to [C5]deview 2012 nodejs (20) [C5]deview 2012 nodejs3. My personal dev era...
PHP ๊ฐ๋ฐ
(in my opinion)
- Easy to learn and use
- First 5 pages for 5 hours
(exclude design works)
9. ??? ??? ??? ???
??? ??? ??? ???
๊ทธ๋ฆฌ๊ณ ๋ VVMM (...)
??? ??? ???
??? ???
??? ???
???
11. My personal dev era...
Java ๊ธฐ๋ฐ ์น ๊ฐ๋ฐ
(in my opinion)
- NOT easy to learn and use
- First 5 pages for 50 hours !!
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)
๋ฑ๋ฑ..
22. ๏ง Node.js๋ ์ค์ง์ ์ผ๋ก ์๋ฒ์ฌ์ด๋ ์๋ฐ์คํฌ๋ฆฝํธ ์คํํ๊ฒฝ๊ณผ ๋ผ์ด๋ธ๋ฌ๋ฆฌ,
์ด๋ ๊ฒ ๋ ๊ฐ์ง๋ก ์ด๋ฃจ์ด์ ธ ์์ต๋๋ค.
๏ง ๊ณ ์ฑ๋ฅ ๋คํธ์ํฌ ๋ผ์ด๋ธ๋ฌ๋ฆฌ
๏ง ์ ์์ค Event-loop๋ฅผ ์ด์ฉํ callback์ ์ด์ฉํด
๊ทธ๋์, Node.js๋ ๋ฌด์์ธ๊ฐ?
๋ค์ํ I/O ์์
์ non-blocking ๋ฐฉ์์ผ๋ก ์ฒ๋ฆฌ http://blog.doortts.com/214
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. ๏ง ๊ฐ๋งํ ๋๋ฌ๋ ์ฑ์ฅํ๋ค.
๏ง ๋น ๋ฅด๊ฒ ๋ง๋ค ์ ์๋ค. ๋๋จธ์ง ๋ถ๋ถ์ ๊ฐ๋ฐํ๋ฉด ๋๋๊น.
๏ง ๋น์ทํ ๋ชจ๋๋ค์ด ์์๋๋ ๋ญ๊ฐ ์ข์์ง ํ๋จ์ด ์ด๋ ต๋ค.
๏ง ํ์ธ์ ์ทจํฅ์ ํ๋๋ฆด ์ ์๋ค.
๏ง ์ ํํ ์ํ๋ ๊ธฐ๋ฅ์ ์๋ ๊ฒฝ์ฐ๊ฐ ์ข
์ข
์๋ค.
๏ง ๋ผ์ธ์ ์ ๋ชป ํ๋ฉด ์ค๋ซ๋์ ํผ๊ณคํด ์ง๋ค.
-> ๋ฐ์ ์ ๊ธฐ๋ํ๊ธฐ ๋ณด๋ค ํ์ฌ ๊ธฐ๋ฅ์ด ํ์ฌ ์ฐ๋ฆฌ์๊ฒ ๋ง๋๊ฐ์ ์ง์คํ๋ค.
-> ์ต์
์ ๊ฐ์
35. nodejs.org
- NHN ๊ธฐ์ ํฌ์
- ๋ค์ ํ๋ซํผ์ ์ง์ํ๋ ๊ฐ๋ฐํ๊ฒฝ ํ์
- ๊ฐ๋ฐํ ๋ฉค๋ฒ๋ค์ด Spring Framework์ ์ ๋ชฐ๋ผ์
PHP๊ฐ๋ฐ์, Java ํด๋ผ์ด์ธํธ ๊ฐ๋ฐ์
- ๋ฉค๋ฒ ์ค ํ ๋ช
์ด node.js ์ปค๋ฎค๋ํฐ ๋ฆฌ๋๋ผ์โฆ
37. ๏ง ์๋ฐ์คํฌ๋ฆฝํธ! ์๋ฐ์คํฌ๋ฆฝํธ! ์๋ฐ์คํฌ๋ฆฝํธ!
๏ง ๋ ํผ๋ฐ์ค๊ฐ ์์ด์ ๊ณ ์์ ํ ๊ฐ๋ฅ์ฑ์ด ๋์
๏ง ๊ฐ๋ฐํ๋ฉด์ ์คํ์ผ์ด ๋ณํด๊ฐ. ํน์ ์ด๋์ชฝ์ด ์ข์์ง์ ๋ํ ํ๋จ์ด ์ด๋ ค์
function export ๏ function object ๏ prototype์ผ๋ก ํจ์๋ฅผ ์ง์ ํจ
see codesโฆ
40. ๏ง ๋๋ฆ ์ค๋ ๋์๊ณ 2.0 ์ด์๋ถํฐ๋ ๊ธฐ๋ณธ์ ์ผ๋ก ์น์๋ฒ๊ฐ ๊ฐ์ ธ์ผ ํ๋ ๊ธฐ๋ฅ๋ค์ด
์ ๋ค์ด ์์
๏ง ๋ฌธ์ํ๊ฐ ๋ถ์กฑ (๊ณ์ ๋ฐ์ ์ค. ์ฝ๋๋ฅผ ๋ณด๊ณ ์ดํดํด์ผ ํจ)
๏ง ๊ฐ์ธ์ ์ทจํฅ์ด ๋ฐ์๋์ด ๊ฐ๋ฐ๋๋ ๊ฒฝํฅ์ด ์์
Tj Holowaychuk์ด๋ผ๋ ์ข
ํฉ์์ ๊ฐ๊ฐ ๋๋ถ๋ถ์ ์ฝ๋๋ฅผ ๊ฐ๋ฐํจ
์๊ธฐ ๋ง์๋๋ก ๋ชจ๋์ ์์ ๋ฒ๋ฆฌ๊ฑฐ๋ ์ฌ์ฉ๋ฒ์ ๋ฐ๊พธ๊ฑฐ๋ ํจ
๏ง Windows Azure๋ฅผ ์ง์ํ๋ MS WebMatrix์ ๊ธฐ๋ณธ ์น ์ฑ์๋ฒ๋ก ํ์ฌ๋์ด ์์
๏ง ํ์ง๋ง ํ์ค์ ์ผ๋ก ๊ฐ์ฅ ๋ง์ ์ฌ๋ก๊ฐ ์๊ธฐ ๋๋ฌธ์ ๋์์ด ๋ง์ง ์์
๏ง Meteor์ ๊ธฐ๋๋ฅผ ํด๋ด
๏ Spring Framework Creator โRod Johnsonโ ํฉ๋ฅ
43. ๏ง Express์ ๊ถํฉ์ด ์ข์
๏ง JSP๋ณด๋ค๋ ๋์
๏ง view ์ฝ๋๋์ด ์ค์ด๋ฌ (์ฝ๊ฐ zen coding ๋๋๋)
But..
๏ง ์ด์ง ๋
ํนํ ๋ฌธ๋ฒ์ ๋ฐฐ์์ผ ํจ
๏ง ๋งํฌ์
๊ฐ๋ฐ์์ ํ์
์ ๋ํญ์ด ์์
46. ๏ง ์์ฑ ์ฝ๋๋ ๊ฐ์ ๏ ์ฝ๋ ๋ณต์ก๋ ๊ฐ์ ๏ ๊ฐ๋
์ฑ ์ฆ๊ฐ
๏ง ์๋ฐ์คํฌ๋ฆฝํธ์ best practice๋ค๊ณผ defects ๋ฅผ ๋ฐฐ์ธ ์ ์์
ํํธ์ผ๋ก โฆ
๏ง์๋ฐ์คํฌ๋ฆฝํธ๋ ์ ๋ชจ๋ฅด๋ฉด์!
๏ง ๋๋ฒ๊น
๏ง javascript source maps์ด ๋นจ๋ฆฌ ์์ฑ๋๊ธฐ๋ฅผ! ?
๏ง but โฆ it's a browser technique!
๏ง http://www.html5rocks.com/en/tutorials/developertools/sourcemaps/
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๊ณ ๋ฏผ!
}
๊ทธ๋ฅ์ฐ๋ฉด ๋๋ค!
52. ๏ง Ant์ ๋น์ท
๏ง ์ธ๋งํจ
๏ง ๋จ, ์๋ฐ์คํฌ๋ฆฝํธ๋ก ์์ฑ๋๊ธฐ๋๋ฌธ์ ๊น๋ํจ์ ์กฐ๊ธ ์ ์.
๏ ์ปคํผ์คํฌ๋ฆฝํธ๋ ์ฌ์ฉํ ์ ์์
๏ง Jake๋ฅผ ์ปค๋งจ๋ ๋ผ์ธ์์ ์ฐ๋ ค๋ฉด global๋ก ๋ฏธ๋ฆฌ ์ธ์คํจ ํด ๋์์ผ ํจ
๊ทธ๋ ์ง ์์ผ๋ฉด ์ฐํ๋ฐฉ๋ฒ์ผ๋ก
node node_modules/jake/bin/cli.js build
55. ๏ง ๋ธ๋ผ์ฐ์ ๋ฅผ ์ค์ ๋ก ๋์์ ํ
์คํธ ํ์ง ์์๋ ๋จ
๏ง ํ
์คํธ ์คํฌ๋ฆฝํธ ์์ฑ์ด ๊ฐ๋จํจ
๏ง client side ์๋ฐ์คํฌ๋ฆฝํธ ํ
์คํธ๋ ๊ฐ๋ฅํจ
Butโฆ
๏ง ๊ธฐ๋์ ์กฐ๊ธ ์๊ฐ์ด ๊ฑธ๋ ค์ ํ
์คํธ ํ์์์์ ์กฐ๊ธ ์ฌ์ ์๊ฒ ์ก์์ผ ํจ
๏ง ์ ๊ตํ ํ
์คํธ๋ ์์ฑ์ ์๊ฐ์ด ๋ง์ด ๊ฑธ๋ฆฌ๊ฑฐ๋ ์ด๋ ค์
๏ง ๊ฐ๋ฐ์์ ์ ์ ์ธ๊ณ๊ฐ ์กฐ๊ธโฆ
58. ๏ง ์ต์ด ๋จ์ด ๋ฑ๋ก์ message file์ ์ถ๊ฐํ ํ์ ์์ด ๋ฉ์์ง๋ฅผ ๋ฐ๋ก ์ฌ์ฉํ๋ฉด
ํ์ผ์ ์์์ ์ ์ฅ์ด ๋จ.
๏ง ๋จ์ด๋ฅผ ๋ฐ๊ฟ๋๋ฉด ๊ธฐ์กด ๋จ์ด๋ฅผ ์ง์์ฃผ์ง๋ ์๊ธฐ ๋๋ฌธ์ ์ธ์ด ํ์ผ์ด ์ง์ ๋ถ ํด ์ง
๏ง ํ ๋ฒ ๋จ์ด๋ฅผ ์ฝ์ด ๋ค์ธ ์ํ์์ ๋ฒ์ญ์ ๋ณ๊ฒฝํ๋ฉด, ์๋ฒ๋ฅผ ์ฌ์์ ํด์ผ ํจ
62. ๏ง step์ด ํจ์ฌ ๊น๋ํ๊ฒ ๋์ค์ง๋ง, ๊ธฐ๋ฅ์ ๋จ์
๏ง async๋ ์ธ๊ณ์ ๋ณต์ ๊ฟ๊พธ๋ ์์ค์ผ๋ก ๊ธฐ๋ฅ์ด ๋ง์.
<= ์์นซํ๋ฉด ์ดํดํ๊ธฐ ๋ ์ด๋ ต๊ฒ ๋ณํ ๊ฐ๋ฅ์ฑ๋ ์์
๋ ๋ค ์ถ์ฒ!
64. node.js Java
windows 4M 88M
mac os 8M 144M
linux 5M 120M
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
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);
});
75. ๏ง ํฐ ๊ณ ๋ฏผ์์ด ์ฌ์ฉํด๋ ๊ด์ฐฎ์ ์ฑ๋ฅ
๏ง ๋ค์ํ ๋ชจ๋์ ํตํ ์์ฌ์ด(?) ๊ฐ๋ฐ
๏ง ๋ง์ ๊ฐ๋ฐ์๋ค์ด (๋ฏธ์น๋ฏ์ด) ๋ฐ์ด๋ค๊ณ ์์
ํฌ๋ฝํฌ๋ ์์ ์จ๋ง์ ..
๏ง ๋ฏธ๋์ ๋ํ ์ค๋น
์๋๋ก์ด๋/์์ดํฐ์ ๊ตํ
76. ๏ง ์ฌ์ค ๋จ์ผ ์ธ์ด๋ผ๊ณ ํ๊ธฐ์ ์ด์ง ๋ฌด๋ฆฌ๊ฐ ์์ง๋ง ๋งค์ฐ ๋งค๋ ฅ์ ์
๏ง ์น ๊ฐ๋ฐ ํ๋ ค๋ฉด ์ด์ฐจํผ ์๋ฐ์คํฌ๋ฆฝํธ ๋ฐฐ์์ผ ํจ
๏ง ๊ทน๋จ์ ์ธ ์ฝ๋ ์ฌํ์ฉ
Server-side / front-end ์์ชฝ์์ ์ฌ์ฉ๊ฐ๋ฅํ ์ฝ๋ ์์ฑ๊ฐ๋ฅ
๏ง ์๊ฐ๋ณด๋ค๋ ์ด๋ ต์ง๋ง, ํํธ์ผ๋ก๋ ์๊ฐ๋ณด๋ค๋ ๊ฐ๊ฒฐํ ์ธ์ด์ธ ์๋ฐ์คํฌ๋ฆฝํธ
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
๏ง ์๋ฐ์คํฌ๋ฆฝํธ ์ฝ๋ฉ ๊ธฐ๋ฒ๊ณผ ํต์ฌ ํจํด
๏ง ์๋ฐ์คํฌ๋ฆฝํธ ํต์ฌ ๊ฐ์ด๋
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 ๋ฌธ์ ์ ๊ฒฝ์ฐ.
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 ๋ธ๋ก๊ทธ, ์ฑ
๋ฑ์ ํตํด ๋ ์ด์ผ๊ธฐ ๋๋ฆด๊ฒ์
94. ๊ด๊ณ โ ๋ฐํ์๊ฐ ๋์ด์ฃผ์ธ์!
nodejs korea conference
11์ 20์ผ (ํ)
node committer ๋ฐ core contributor ์ฐธ์ ์์
facebook.com/octoberskyjs ์์ ์์์ ๊ท ๊ธฐ์ธ์ฌ ์ฃผ์ธ์! ^,^)/