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
470
10
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
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
710
Tech Culture in Startups
alexbeletsky
0
250
TDD in JavaScript
alexbeletsky
4
860
Likeastore
alexbeletsky
3
170
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
権限チェックの一貫性を型で守る TypeScript による多層防御
mnch
4
1.1k
Spring Security 実践 ─ GraphQL APIで実務に役立つ 認証・認可 を学ぶ
wagyu
0
160
DynamoDBには集計系のクエリがないけどなんとかしたい
musan
1
130
TAKTでAI駆動開発の品質を設計する
j5ik2o
6
990
GitHub Copilot CLIのいいところ
htkym
2
1.3k
AI 時代のソフトウェア設計の学び方
masuda220
PRO
29
12k
net-httpのHTTP/2対応について
naruse
0
450
「エンジニアインターン、どうやって取った?」準備のリアルを語るLT会 Progate BAR
akiomatic
0
120
軽量Java基盤の設計 DIコンテナに頼らない、長期保守と1秒起動の実現 JJUG CCC 2026 Spring
macha64
0
460
jQueryをバージョンアップする前に使いたいjQuery Migrate
matsuo_atsushi
0
190
タクシーアプリ『GO』の バックエンド開発のおける AI利活用と若者のすべて
pyama86
3
1.9k
生成AI時代にこそ効くGo | Why Go Works in the Age of Generative AI
mom0tomo
8
3.1k
Featured
See All Featured
The Pragmatic Product Professional
lauravandoore
37
7.3k
The browser strikes back
jonoalderson
0
1.1k
A Soul's Torment
seathinner
6
2.9k
10 Git Anti Patterns You Should be Aware of
lemiorhan
PRO
659
62k
Visualizing Your Data: Incorporating Mongo into Loggly Infrastructure
mongodb
49
10k
Tips & Tricks on How to Get Your First Job In Tech
honzajavorek
1
530
Embracing the Ebb and Flow
colly
88
5.1k
Building Better People: How to give real-time feedback that sticks.
wjessup
370
20k
Paper Plane
katiecoart
PRO
1
51k
Redefining SEO in the New Era of Traffic Generation
szymonslowik
1
320
The #1 spot is gone: here's how to win anyway
tamaranovitovic
2
1.1k
Conquering PDFs: document understanding beyond plain text
inesmontani
PRO
4
2.8k
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