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
Domains in node 0.8
Search
Felix Geisendörfer
June 29, 2012
Technology
8
5.5k
Domains in node 0.8
A quick presentation I gave at HolidayExtras on using the new domain feature in node.js 0.8.
Felix Geisendörfer
June 29, 2012
Tweet
Share
More Decks by Felix Geisendörfer
See All by Felix Geisendörfer
tus.io - Resumable File Uploads (Lightning Talk)
felixge
2
790
Programming flying robots with JavaScript
felixge
2
970
Programming flying robots with JavaScript
felixge
0
610
Programming an AR Drone Firmware with JS (de)
felixge
1
630
Faster than C?
felixge
1
1.2k
Flying robots over a 10.000 mile distance with JavaScript.
felixge
0
500
Faster than C?
felixge
1
660
The power of node.js (with quadcopters)
felixge
0
510
Faster than C?
felixge
0
430
Other Decks in Technology
See All in Technology
コミュニティと共に変化する 私とFusicの8年間
ayasamind
0
470
隙間ツール開発のすすめ / PHP Conference Fukuoka 2025
meihei3
0
450
Amazon ECS デプロイツール ecspresso の開発を支える「正しい抽象化」の探求 / YAPC::Fukuoka 2025
fujiwara3
12
2.5k
Black Hat USA 2025 Recap ~ クラウドセキュリティ編 ~
kyohmizu
0
530
コード1ミリもわからないけど Claude CodeでFigjamプラグインを作った話
abokadotyann
1
160
CloudFormationコンソールから、実際に作られたリソースを辿れるようになろう!
amixedcolor
1
180
AI時代におけるドメイン駆動設計 入門 / Introduction to Domain-Driven Design in the AI Era
fendo181
0
680
ZOZOTOWNカート決済リプレイス ── モジュラモノリスという過渡期戦略
zozotech
PRO
0
300
JAWS-UG SRE支部 #14 LT
okaru
0
100
Logik: A Free and Open-source FPGA Toolchain
omasanori
0
300
自己的售票系統自己做!
eddie
0
450
Proxmox × HCP Terraformで始めるお家プライベートクラウド
lamaglama39
1
200
Featured
See All Featured
Faster Mobile Websites
deanohume
310
31k
Fight the Zombie Pattern Library - RWD Summit 2016
marcelosomers
234
17k
Visualizing Your Data: Incorporating Mongo into Loggly Infrastructure
mongodb
48
9.8k
The Success of Rails: Ensuring Growth for the Next 100 Years
eileencodes
46
7.8k
Embracing the Ebb and Flow
colly
88
4.9k
The Language of Interfaces
destraynor
162
25k
Building a Scalable Design System with Sketch
lauravandoore
463
33k
XXLCSS - How to scale CSS and keep your sanity
sugarenia
249
1.3M
Making the Leap to Tech Lead
cromwellryan
135
9.6k
The Power of CSS Pseudo Elements
geoffreycrofte
80
6.1k
How Fast Is Fast Enough? [PerfNow 2025]
tammyeverts
3
320
Put a Button on it: Removing Barriers to Going Fast.
kastner
60
4.1k
Transcript
Domains in node 0.8 A quick introduction Freitag, 29. Juni
12
1 var app = require('express')(); 2 3 app.get('/search', function(req, res,
next) { 4 doSearch(req.params, function(err, result) { 5 if (err) return next(err); 6 7 // trying to access non-existing property 8 if (result.foo.bar) { 9 console.log('does not work'); 10 } 11 }); 12 }); 13 14 app.listen(8080); Freitag, 29. Juni 12
/Users/Felix/Desktop/domains/example.js:14 if (result.foo.bar) { ^ TypeError: Cannot read property 'bar'
of undefined at /Users/Felix/Desktop/domains/example.js:14:19 at doSearch (/Users/Felix/Desktop/domains/example.js:3:5) at process.startup.processNextTick.process._tickCallback (node.js:244:9) Freitag, 29. Juni 12
1 process.on('uncaughtException', function(err) { 2 // Keeps the process from
crashing 3 // But does not let you find out which `req` 4 // was causing the `err` 5 }); Freitag, 29. Juni 12
Domains to the rescue! Freitag, 29. Juni 12
1 var createDomain = require('domain').create; 2 3 app.use(function(req, res, next)
{ 4 var domain = createDomain(); 5 6 domain.on('error', function(err) { 7 // alternative: next(err) 8 res.statusCode = 500; 9 res.end(err.message + '\n'); 10 11 domain.dispose(); 12 }); 13 14 domain.enter(); 15 next(); 16 }); Freitag, 29. Juni 12
$ curl -i localhost:8080/search HTTP/1.1 500 Internal Server Error X-Powered-By:
Express Date: Fri, 29 Jun 2012 10:50:18 GMT Connection: keep-alive Transfer-Encoding: chunked Cannot read property 'bar' of undefined Freitag, 29. Juni 12
Questions? Freitag, 29. Juni 12
Hiring node.js developers @ marcgreenstock @dan_jenkins Freitag, 29. Juni 12