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
Felix Geisendörfer
June 16, 2012
Programming
5
1.3k
Node.js - A practical Introduction
Talk given at Big Tech Day 5 in Munich on 15.06.2012.
Felix Geisendörfer
June 16, 2012
Tweet
Share
More Decks by Felix Geisendörfer
See All by Felix Geisendörfer
tus.io - Resumable File Uploads (Lightning Talk)
felixge
2
770
Programming flying robots with JavaScript
felixge
2
950
Programming flying robots with JavaScript
felixge
0
590
Programming an AR Drone Firmware with JS (de)
felixge
1
620
Faster than C?
felixge
1
1.2k
Flying robots over a 10.000 mile distance with JavaScript.
felixge
0
480
Faster than C?
felixge
1
630
The power of node.js (with quadcopters)
felixge
0
490
Faster than C?
felixge
0
410
Other Decks in Programming
See All in Programming
Blazing Fast UI Development with Compose Hot Reload (droidcon New York 2025)
zsmb
1
140
Beyond Portability: Live Migration for Evolving WebAssembly Workloads
chikuwait
0
390
What Spring Developers Should Know About Jakarta EE
ivargrimstad
0
150
GoのWebAssembly活用パターン紹介
syumai
3
10k
設計やレビューに悩んでいるPHPerに贈る、クリーンなオブジェクト設計の指針たち
panda_program
4
500
PHP 8.4の新機能「プロパティフック」から学ぶオブジェクト指向設計とリスコフの置換原則
kentaroutakeda
1
360
XP, Testing and ninja testing
m_seki
2
140
FormFlow - Build Stunning Multistep Forms
yceruto
1
190
ReadMoreTextView
fornewid
1
450
DroidKnights 2025 - 다양한 스크롤 뷰에서의 영상 재생
gaeun5744
3
300
既存デザインを変更せずにタップ領域を広げる方法
tahia910
1
240
CursorはMCPを使った方が良いぞ
taigakono
0
150
Featured
See All Featured
How to Think Like a Performance Engineer
csswizardry
24
1.7k
How To Stay Up To Date on Web Technology
chriscoyier
790
250k
The Invisible Side of Design
smashingmag
299
51k
Building Flexible Design Systems
yeseniaperezcruz
328
39k
Imperfection Machines: The Place of Print at Facebook
scottboms
267
13k
For a Future-Friendly Web
brad_frost
179
9.8k
CSS Pre-Processors: Stylus, Less & Sass
bermonpainter
357
30k
Building an army of robots
kneath
306
45k
Evolution of real-time – Irina Nazarova, EuRuKo, 2024
irinanazarova
8
790
VelocityConf: Rendering Performance Case Studies
addyosmani
330
24k
Bash Introduction
62gerente
614
210k
JavaScript: Past, Present, and Future - NDC Porto 2020
reverentgeek
48
5.4k
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