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
10
370
This is Node.js
The talk I gave on UA Dev Club, 8-Jul-2014
Alexander Beletsky
July 09, 2014
Tweet
Share
More Decks by Alexander Beletsky
See All by Alexander Beletsky
Snapshot Testing: Going beyond UI
alexbeletsky
1
530
Tech Culture in Startups
alexbeletsky
0
150
TDD in JavaScript
alexbeletsky
4
830
Likeastore
alexbeletsky
3
120
PaaS in your pocker with Dokku
alexbeletsky
7
2.3k
Building Single Page Applications
alexbeletsky
9
5.2k
.NET developer in JavaScript world
alexbeletsky
1
2.6k
How to write good tests?
alexbeletsky
2
250
Dynamic web development with Oak
alexbeletsky
1
570
Other Decks in Programming
See All in Programming
スキーマ駆動開発による品質とスピードの両立 - 私達は何故、スキーマを書くのか
kentaroutakeda
0
170
Behind VS Code Extensions for JavaScript / TypeScript Linnting and Formatting
unvalley
5
1k
Ruby Pattern Matching
bkuhlmann
0
930
Random\Randomizer クラスで日常のあれこれを解決しよう! / Random\Randomizer class solves familiar trouble
cocoeyes02
0
250
大規模UIKitベースアプリへのTCAの段階的導入/gradual-adoption-of-tca-in-a-large-scale-uikit-based-app
takehilo
1
180
Scalable Customer Journey Orchestration (CJO)
lewuathe
0
350
Amazon SQSコンシューマー疎結合への旅 - 出張! #DevelopersIO IT技術ブログの中の人が語る勉強会 #3
quiver
0
280
Build Apps for iOS, Android & Desktop in 100% Kotlin With Compose Multiplatform (mDevCamp 2024)
zsmb
0
360
Blue/Greenデプロイの導入による 運用フローの改善
kudoas
1
390
R言語の環境構築と基礎 Tokyo.R 112
bob3bob3
0
270
FigmaとPHPで作る1ミリたりとも表示崩れしない最強の帳票印刷ソリューション
ttskch
43
19k
Azure OpenAI Serviceのプロンプトエンジニアリング入門
tomokusaba
3
790
Featured
See All Featured
[RailsConf 2023 Opening Keynote] The Magic of Rails
eileencodes
9
8.3k
ReactJS: Keep Simple. Everything can be a component!
pedronauck
659
120k
The Mythical Team-Month
searls
216
42k
StorybookのUI Testing Handbookを読んだ
zakiyama
13
4.6k
Web Components: a chance to create the future
zenorocha
305
41k
KATA
mclloyd
15
12k
Making Projects Easy
brettharned
108
5.5k
WebSockets: Embracing the real-time Web
robhawkes
59
7k
Why Our Code Smells
bkeepers
PRO
331
56k
Six Lessons from altMBA
skipperchong
21
3k
BBQ
matthewcrist
80
8.8k
Fight the Zombie Pattern Library - RWD Summit 2016
marcelosomers
227
16k
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