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
Node.js sucks (for VilniusPHP)
Search
Dominykas Blyžė
May 02, 2013
Programming
0
600
Node.js sucks (for VilniusPHP)
Ne viskas node.js pasaulyje yra tobula
Dominykas Blyžė
May 02, 2013
Tweet
Share
More Decks by Dominykas Blyžė
See All by Dominykas Blyžė
The Module Ecosystem The Stress of Success
dominykas
0
17
The sorry state of Javascript error handling
dominykas
1
250
TDD with buster.js
dominykas
1
150
npm ftw
dominykas
0
130
Notes from The Great Dust.js Migration
dominykas
1
160
node.js: the smallprint
dominykas
0
260
Tai ką dabar darysime su node.js?...
dominykas
0
310
Other Decks in Programming
See All in Programming
Oracle Database Technology Night 92 Database Connection control FAN-AC
oracle4engineer
PRO
1
200
TROCCO×dbtで実現する人にもAIにもやさしいデータ基盤
nealle
0
330
🔨 小さなビルドシステムを作る
momeemt
1
510
Nuances on Kubernetes - RubyConf Taiwan 2025
envek
0
190
UbieのAIパートナーを支えるコンテキストエンジニアリング実践
syucream
2
710
レガシープロジェクトで最大限AIの恩恵を受けられるようClaude Codeを利用する
tk1351
2
1.2k
tool ディレクティブを導入してみた感想
sgash708
1
150
実践!App Intents対応
yuukiw00w
1
350
CEDEC2025 長期運営ゲームをあと10年続けるための0から始める自動テスト ~4000項目を50%自動化し、月1→毎日実行にした3年間~
akatsukigames_tech
0
150
なぜ今、Terraformの本を書いたのか? - 著者陣に聞く!『Terraformではじめる実践IaC』登壇資料
fufuhu
4
650
管你要 trace 什麼、bpftrace 用下去就對了 — COSCUP 2025
shunghsiyu
0
470
一人でAIプロダクトを作るための工夫 〜技術選定・開発プロセス編〜 / I want AI to work harder
rkaga
13
2.8k
Featured
See All Featured
Imperfection Machines: The Place of Print at Facebook
scottboms
268
13k
個人開発の失敗を避けるイケてる考え方 / tips for indie hackers
panda_program
110
20k
ReactJS: Keep Simple. Everything can be a component!
pedronauck
667
120k
Site-Speed That Sticks
csswizardry
10
790
Measuring & Analyzing Core Web Vitals
bluesmoon
9
570
Put a Button on it: Removing Barriers to Going Fast.
kastner
60
4k
GraphQLとの向き合い方2022年版
quramy
49
14k
The Pragmatic Product Professional
lauravandoore
36
6.8k
"I'm Feeling Lucky" - Building Great Search Experiences for Today's Users (#IAC19)
danielanewman
229
22k
Learning to Love Humans: Emotional Interface Design
aarron
273
40k
Bootstrapping a Software Product
garrettdimon
PRO
307
110k
Faster Mobile Websites
deanohume
309
31k
Transcript
node.js sucks Autorius ( ), 2013-05-02 Dominykas Blyžė @dymonaz
node.js sucks node.js yra puiku, BET reklama ne visai atitinka
realybę - jūs GARANTUOTAI turėsite didelių problemų, GARANTUOTAI žaisite veidrankinį, GARANTUOTAI jausitės apgauti ir GARANTUOTAI padidės jūsų noras nebegyventi.
Klausimai? , @dymonaz +Dominykas Blyžė
Ar node čiulpia, nes JS čiulpia? WAT: [ ] +
[ ] > " " [ ] + { } > " [ o b j e c t O b j e c t ] " { } + [ ] > 0 { } + { } > N a N https://www.destroyallsoftware.com/talks/wat
WAT? http://stackoverflow.com/questions/9032856/what-is-the-explanation-for-these-bizarre- javascript-behaviours-mentioned-in-the
+ operatorius + n e w D a t e
( ) tai niekam netrukdo... Nes "\" namespace'am tikrai geriau...
HA HA! © Nathan Smith, http://www.flickr.com/photos/nathansmith/4704268314/
HA HA? F a t a l e r r
o r : E x c e p t i o n t h r o w n w i t h o u t a s t a c k f r a m e i n U n k n o w n o n l i n e 0 http://phpsadness.com/sad/16
Kaip dažnai tai yra problema?
Kame node.js nečiulpia?
Greitis V8 ir neblokuojanti I/O
Greitis Greitai užsikrauna Greitai įvykdo Greitai perduoda Greitai nulūžta
Kame, įvairiomis nuomonėmis, node.js čiulpia?
Daug CPU reikalaujančios operacijos Single-threaded nėra didelė bėda Su lėktuvu
į darbą neskrendam
Nestabilus API Pačio node core API yra stebuklingai stabilus, o
kai keičiasi - tik į gerąją pusę m y F u n c ( . . . , c a l l b a c k ) { . . . } c a l l b a c k ( e r r o r , . . . ) { . . . }
Callback hell! Naudokit promisus.
Tai, dėl ko node.js iš tikro čiulpia
29k+ modulių
Sturgeon's Law “ ninety percent of everything is crap ”
None
memcache https://npmjs.org/package/memcache https://npmjs.org/package/memcached #22: Incorrect detection of the record "END"
#45: data that contains "\r\nEND\r\n" gets uncorrect result
Maži moduliai ir mažos aplikacijos Gyvenimas nėra mažas, verslo problemos
nėra mažos Per daug mažų problemų - reikia ieškoti balanso
Native (kompiliuojami) moduliai
Išspręsta versijų problema? Modulis A @ v1 Modulis B @
v1 Modulis A @ v2 Modulis C @ v3 Modulis B @ v2 Modulis A @ v666
Kaip dažnai atsinaujinti? Kas rytą. O likusią dienos dalį -
taisyti bug'us.
One language to rule them all
Pattern'ai skirtingi What is absolutely bad is that if node.js
won't be minimally aligned with the rest of the code in the browsers out there our life as "one language everywhere" will become harder than ever. , @WebReflection http://webreflection.blogspot.de/2012/01/on-eventemitter-in-nodejs.html
"Async" Vien todėl, kad yra callback'as, kodas nėra "asinchroniškas". Q
bibliotekos promisai visada asinchroniški
"Single-thread" @horse_js, “ single-threaded, but you still get race conditions,
how is this possible ” https://twitter.com/horse_js/status/325982187772071937
Unagi
Kultūra
Kam reikia TDD? “battle-tested with billions of requests”
Kam reikia dokumentacijos? Kodas už save kalba
Nevisapusiškas evangelism'as Callbacks vs promises AMD Phantom
Istorijos ignoravimas Promisai - nuo 197x AMD - browseryje Phantom
- ne node ir ne browseris!
Galioja visiems džiavaskriptams https://github.com/rwldrn/idiomatic.js/ http://www.youtube.com/watch?v=_EANG8ZZbRs - Douglas Crockford: Programming Style
& Your Brain
JIFASNIF JavaScript is fun so node.js is fun Jeigu tik
galėtume vien žaisti...
Trūksta įsipareigojimų Griaunamas pasitikėjimas
Šviesuliai sako "daryk kaip tau patinka" Ar norisi gyventi su
Bitcoin svyravimais?
Nepaaiškinti trade-off'ai Nesusiformavusios geriausios praktikos
Ar node.js jau tinka produkcijai? eBay ( ) LinkedIn (
) Microsoft ( ) Yahoo! ( , ) ql.io mobilios aplikacijos API Azure YUI Mojito Trello Walmart
Ar node.js ekosistema jau subrendusi? Ne. Jai vis dar ankstyva
paauglystė.
Nenaudokite node.js.
Kur aš statau savo pinigus?
</grumpyCat> Ačiū. JIFASNIF. Skaidrės: , ; http://dominykas.net/13 @dymonaz +Dominykas Blyžė