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
420
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
630
Tech Culture in Startups
alexbeletsky
0
200
TDD in JavaScript
alexbeletsky
4
840
Likeastore
alexbeletsky
3
130
PaaS in your pocker with Dokku
alexbeletsky
7
2.5k
Building Single Page Applications
alexbeletsky
9
5.4k
.NET developer in JavaScript world
alexbeletsky
1
2.8k
How to write good tests?
alexbeletsky
2
300
Dynamic web development with Oak
alexbeletsky
1
600
Other Decks in Programming
See All in Programming
DevDay2025-OracleDatabase-kernel-addressing-history
oracle4engineer
PRO
6
1.5k
REST API設計の実践 – ベストプラクティスとその落とし穴
kentaroutakeda
2
240
ruby.wasmとWebSocketで遊ぼう!
lnit
0
150
複雑なフォームを継続的に開発していくための技術選定・設計・実装 #tskaigi / #tskaigi2025
izumin5210
12
5.9k
AIにコードを生成するコードを作らせて、再現性を担保しよう! / Let AI generate code to ensure reproducibility
yamachu
7
5.8k
CQRS/ESのクラスとシステムフロー ~ RailsでフルスクラッチでCQRSESを組んで みたことから得た学び~
suzukimar
0
180
Investigating Multithreaded PostgreSQL
macdice
0
130
ソフトウェア品質特性、意識してますか?AIの真の力を引き出す活用事例 / ai-and-software-quality
minodriven
19
6.4k
Building an Application with TDD, DDD and Hexagonal Architecture - Isn't it a bit too much?
mufrid
0
370
推論された型の移植性エラーTS2742に挑む
teamlab
PRO
0
130
インターフェース設計のコツとツボ
togishima
2
360
OpenNext + Hono on Cloudflare でイマドキWeb開発スタックを実現する
rokuosan
0
100
Featured
See All Featured
Facilitating Awesome Meetings
lara
54
6.4k
Practical Tips for Bootstrapping Information Extraction Pipelines
honnibal
PRO
19
1.2k
Designing Experiences People Love
moore
142
24k
Responsive Adventures: Dirty Tricks From The Dark Corners of Front-End
smashingmag
252
21k
The Art of Delivering Value - GDevCon NA Keynote
reverentgeek
14
1.5k
Building Applications with DynamoDB
mza
95
6.4k
Practical Orchestrator
shlominoach
187
11k
[RailsConf 2023] Rails as a piece of cake
palkan
55
5.5k
The Power of CSS Pseudo Elements
geoffreycrofte
76
5.8k
RailsConf 2023
tenderlove
30
1.1k
Code Review Best Practice
trishagee
68
18k
ピンチをチャンスに:未来をつくるプロダクトロードマップ #pmconf2020
aki_iinuma
123
52k
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