Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
Node.js - A practical Introduction
Search
Sponsored
·
Ship Features Fearlessly
Turn features on and off without deploys. Used by thousands of Ruby developers.
→
Felix Geisendörfer
June 16, 2012
Programming
1.4k
5
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
Node.js - A practical Introduction
Talk given at Big Tech Day 5 in Munich on 15.06.2012.
Felix Geisendörfer
June 16, 2012
More Decks by Felix Geisendörfer
See All by Felix Geisendörfer
tus.io - Resumable File Uploads (Lightning Talk)
felixge
2
840
Programming flying robots with JavaScript
felixge
2
1k
Programming flying robots with JavaScript
felixge
0
650
Programming an AR Drone Firmware with JS (de)
felixge
1
660
Faster than C?
felixge
1
1.3k
Flying robots over a 10.000 mile distance with JavaScript.
felixge
0
550
Faster than C?
felixge
1
710
The power of node.js (with quadcopters)
felixge
0
550
Faster than C?
felixge
0
480
Other Decks in Programming
See All in Programming
気圧・高度・GPSを記録&可視化するアプリ「Koudo」を作った話
hjmkth
1
320
作って学ぶ、 JSX (TSX) ランタイムの基本
syumai
7
1.7k
Creating Composable Callables in Contemporary C++
rollbear
0
170
Javaの型とAI時代に型が大事な理由 / java types and type in AI era
kishida
2
150
技術記事、 専門家としてのプログラマ、 言語化
mizchi
13
6.5k
任せる範囲はこう広がった / How the Scope of AI Delegation Has Expanded
nrslib
0
120
代数的データ型って何が嬉しいの? #frontend_phpcon_do
kajitack
8
3.8k
Make SRE Operations Easier with Azure SRE Agent
kkamegawa
0
8.2k
AI 輔助遺留系統現代化的經驗分享
jame2408
1
1k
肥大化するレガシーコードに立ち向かうためのインターフェース分離と依存の逆転 / JJUG CCC 2026 Spring
hirokunimaeta
0
630
LLMによるContent Moderationの本番運用の裏側と品質担保への挑戦
suikabar
3
780
1B+ /day規模のログを管理する技術
broadleaf
0
110
Featured
See All Featured
Creating an realtime collaboration tool: Agile Flush - .NET Oxford
marcduiker
35
2.5k
Applied NLP in the Age of Generative AI
inesmontani
PRO
4
2.3k
10 Git Anti Patterns You Should be Aware of
lemiorhan
PRO
659
62k
A Tale of Four Properties
chriscoyier
163
24k
Groundhog Day: Seeking Process in Gaming for Health
codingconduct
0
220
YesSQL, Process and Tooling at Scale
rocio
174
15k
Practical Orchestrator
shlominoach
191
11k
I Don’t Have Time: Getting Over the Fear to Launch Your Podcast
jcasabona
34
2.8k
For a Future-Friendly Web
brad_frost
183
10k
Gemini Prompt Engineering: Practical Techniques for Tangible AI Outcomes
mfonobong
2
450
A brief & incomplete history of UX Design for the World Wide Web: 1989–2019
jct
2
400
What’s in a name? Adding method to the madness
productmarketing
PRO
24
4.1k
Transcript
A practical introduction 15.06.2012 - Big Tech Day 5, Munich
Felix Geisendörfer
Felix Geisendörfer
transloadit.com
core contributor
npm modules
node-formidable
node-mysql
~50 modules total
(@)felixge(.de)
Audience
Software Developers?
JavaScript Developers?
Heard about node.js?
Using node.js?
What is node.js?
JavaScript on the Server
Hello World
1 var http = require('http'); 2 3 http.createServer(function(req, res) {
4 res.end('Hello World'); 5 }).listen(8080); hello world http server in node.js
None
None
Features • TCP / UDP • HTTP / HTTPS •
File System • Buffers (byte arrays) • DNS • Child Processes • Http / Https • Crypto • ZLIB • Readline / TTY / REPL
< 5 min to install Windows, Mac, Linux
History
1995 LiveWire released
1997 Rhino started
...
Ryan Dahl starts the node project (first commit) Feb 16,
2009
I discovered node.js (v0.0.6) ~June, 2009
Isaac Schlueter starts the npm package manager Sep 29, 2009
Ryan’s talk at JSConf.EU gets people excited about node Nov
7, 2009
...
2012
None
What is special?
Non-blocking I/O
var image = fs.readFileSync('some.jpeg'); console.log('hello'); vs fs.readFile('some.jpeg', function(err, image) {
}); console.log('hello');
Easy concurrency
Low memory usage
Good performance
More on performance
Google V8
None
JS -> Assembly
Crankshaft JIT
Fast
Now in Munich
Simple Benchmark
1 kb http responses ~6000 requests / second* * per
CPU core
Why JavaScript?
// Today (15.06.2012) > (new Date).getMonth() 5
> 0.3 + 0.3 + 0.3 0.8999999999999999
None
Everywhere
War on JavaScript
No I/O in Standard Lib
Use Cases
WebSockets
Streaming
Code Sharing
etc.
node package manager
10.000+ packages
local installs
None
Join the Community • Mailing list (nodejs, nodejs-dev) • IRC
(#node.js) - 700+ User online
Thank you!
Questions? ” http://felixge.de/
[email protected]
@felixge
Bonus: Live Coding