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
This is Node.js
Search
Alexander Beletsky
July 09, 2014
Programming
460
10
Share
This is Node.js
The talk I gave on UA Dev Club, 8-Jul-2014
Alexander Beletsky
July 09, 2014
More Decks by Alexander Beletsky
See All by Alexander Beletsky
Snapshot Testing: Going beyond UI
alexbeletsky
1
700
Tech Culture in Startups
alexbeletsky
0
250
TDD in JavaScript
alexbeletsky
4
860
Likeastore
alexbeletsky
3
160
PaaS in your pocker with Dokku
alexbeletsky
7
2.6k
Building Single Page Applications
alexbeletsky
9
5.5k
.NET developer in JavaScript world
alexbeletsky
1
2.9k
How to write good tests?
alexbeletsky
2
340
Dynamic web development with Oak
alexbeletsky
1
650
Other Decks in Programming
See All in Programming
誰も頼んでない機能を出荷した話
zekutax
0
150
[KCD Czech] eBPF Meets the GPU: Future of AI Infra Observability
doniacld
0
120
プラグインで拡張される Context をtype-safe にする難しさと設計判断
kazupon
2
470
AIエージェントの隔離技術の徹底比較
kawayu
0
440
Moments When Things Go Wrong
aurimas
3
130
GitHub Copilot CLIのいいところ
htkym
2
1.2k
Hive Metastoreを通して学ぶIceberg REST Catalog ― 仕様から実装まで
okumin
0
310
AI時代の仕事技芸論 — ソフトウェア開発で「遊ぶように働く」職人的熟達のすすめ
kuranuki
1
520
権限チェックの一貫性を型で守る TypeScript による多層防御
mnch
4
970
oxlintはeslint/typescript-eslintを置き換えられるのか
shomafujita
2
290
Augmenting AI with the Power of Jakarta EE
ivargrimstad
0
370
3Dシーンの圧縮
fadis
1
490
Featured
See All Featured
Optimising Largest Contentful Paint
csswizardry
37
3.7k
AI Search: Where Are We & What Can We Do About It?
aleyda
0
7.5k
Art, The Web, and Tiny UX
lynnandtonic
304
21k
Facilitating Awesome Meetings
lara
57
6.9k
HTML-Aware ERB: The Path to Reactive Rendering @ RubyCon 2026, Rimini, Italy
marcoroth
1
120
Ruling the World: When Life Gets Gamed
codingconduct
0
240
A brief & incomplete history of UX Design for the World Wide Web: 1989–2019
jct
2
380
Beyond borders and beyond the search box: How to win the global "messy middle" with AI-driven SEO
davidcarrasco
3
150
Paper Plane
katiecoart
PRO
1
50k
State of Search Keynote: SEO is Dead Long Live SEO
ryanjones
0
200
Navigating the moral maze — ethical principles for Al-driven product design
skipperchong
2
370
Improving Core Web Vitals using Speculation Rules API
sergeychernyshev
21
1.5k
Transcript
This is Node.js
[email protected]
http://beletsky.net http://twitter.com/alexbeletsky
"I was concerned about the ability to program advanced push
features into the website like I had seen in Gmail" Ryan Dahl the creator of Node.js
V8 Google's open source JavaScript engine. V8 can run standalone,
or can be embedded into any C++ application.
LibUV High performance evented I/O Originally based on LibEV switch
to LibUV with support of Windows
JavaScript Dynamic, prototype-based language Highly popular due to browser programming
http://jsconf.eu/2009/speakers.html
Why JavaScript? functions as first-class citizen
Why JavaScript? function as first-class citizen //closures..
JavaScript designed for event-oriented systems There was a natural fit
V8 + LibEV + JavaScript
“Node.js is a platform for easily building scalable network applications.
Node.js uses an event-driven (single threaded), non-blocking I/O model that makes it lightweight and efficient…” http://nodejs.org
Non Blocking I/O The concept of accessing I/O without blocking
of application
https://www.flickr.com/photos/papyrist/ Line to ATM is blocking I/O
Mac’s Drive is non-blocking I/O
None
execution started from first line.. Output:
async operation started… Output:
but execution goes on.. > ping Output:
after ~ms file is read… > ping > pong Output:
Event Driven Application flow is driven by events
http://misclassblog.com/interactive-web-development/node-js/
Single Threaded Single-thread programming concepts is more easy to understand.
Applications running in single thread are lightweight and efficient
“Node.js is designed for building efficient networking applications”
Core components: ! • HTTP / HTTPS • TCP /
UDP / Sockets • DNS • File System • Crypto / Arch • Events • Streams
Efficiency & Scalability Build-in server, high concurrency, horizontal scalability, clustering
NPM Node Package Manager - the richest collection of high
quality open source modules
None
Thanks, @alexbeletsky