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
690
Programming flying robots with JavaScript
felixge
2
850
Programming flying robots with JavaScript
felixge
0
510
Programming an AR Drone Firmware with JS (de)
felixge
1
560
Faster than C?
felixge
1
1.1k
Flying robots over a 10.000 mile distance with JavaScript.
felixge
0
430
Faster than C?
felixge
1
520
The power of node.js (with quadcopters)
felixge
0
430
Faster than C?
felixge
0
350
Other Decks in Programming
See All in Programming
Java 22 Overview
kishida
1
190
Introducing Kotlin Multiplatform in an existing mobile app - Workshop Edition | AndroidMakers Paris
prof18
0
100
Elm 0.19.0 Changes
bkuhlmann
0
490
R言語の環境構築と基礎 Tokyo.R 112
bob3bob3
0
270
SwiftUIで使いやすいToastの作り方 / How to build a Toast system which is easy to use in SwiftUI
lovee
3
150
単体テストを書かない技術 #phpcon_odawara
o0h
PRO
27
8.3k
冗長なエラーログを削減し、スタックトレースを手に入れる / Reducing Verbose Error Logs and Obtaining Stack Traces
upamune
0
870
PHPの次期バージョンはこの時期どうなっているのか - Internalsの開発体制について - PHPカンファレンス小田原
youkidearitai
PRO
1
200
Ruby Function Composition
bkuhlmann
1
330
Elm Form Validation
bkuhlmann
0
510
Behind VS Code Extensions for JavaScript / TypeScript Linnting and Formatting
unvalley
5
1.1k
コーンフレークから始める モデリング会話入門
ogurotakayuki
0
380
Featured
See All Featured
Making Projects Easy
brettharned
108
5.5k
RailsConf 2023
tenderlove
4
540
Building Better People: How to give real-time feedback that sticks.
wjessup
355
18k
[RailsConf 2023] Rails as a piece of cake
palkan
23
4k
The Invisible Customer
myddelton
114
12k
Why You Should Never Use an ORM
jnunemaker
PRO
51
8.6k
Designing Experiences People Love
moore
136
23k
Easily Structure & Communicate Ideas using Wireframe
afnizarnur
187
16k
Documentation Writing (for coders)
carmenintech
60
3.9k
Statistics for Hackers
jakevdp
789
220k
No one is an island. Learnings from fostering a developers community.
thoeni
16
2.1k
Fashionably flexible responsive web design (full day workshop)
malarkey
398
65k
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