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
650
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
Node.js sucks (for VilniusPHP)
Ne viskas node.js pasaulyje yra tobula
Dominykas Blyžė
May 02, 2013
More Decks by Dominykas Blyžė
See All by Dominykas Blyžė
The Module Ecosystem The Stress of Success
dominykas
0
37
The sorry state of Javascript error handling
dominykas
0
270
TDD with buster.js
dominykas
1
160
npm ftw
dominykas
0
160
Notes from The Great Dust.js Migration
dominykas
1
180
node.js: the smallprint
dominykas
0
280
Tai ką dabar darysime su node.js?...
dominykas
0
340
Other Decks in Programming
See All in Programming
Go を使い始めて 2 ヶ月の学び / My first two months with Go
contour_gara
0
360
PostgreSQL 18で考えるUUID主キー
kazuhiro1982
0
500
仕様書を書く前にハーネスを作る - Agent Native開発は「探索を速く、判定を固く」
gotalab555
4
1.7k
承認済みなのに差戻しできてしまうバグ、型で潰せます
shinchit
0
100
Cloudflare is Agents
chimame
0
180
My Marp Sample
sinoue0108
0
110
Detecting Compromised CI with eBPF and Cilium Tetragon
lizrice
0
240
属人化した知識を、 AIが辿れる地図にする
pkshadeck
PRO
1
200
「人を評価する AI」の設計と実装
ryoyanara
0
220
まだ間に合う!今年の夏こそSchemeのマクロ展開器を完全理解!
omasanori
0
380
Android CLI
fornewid
0
230
React本体のコードリーディング
high_g_engineer
1
150
Featured
See All Featured
Introduction to Domain-Driven Design and Collaborative software design
baasie
1
950
Navigating the moral maze — ethical principles for Al-driven product design
skipperchong
2
500
Designing for humans not robots
tammielis
254
26k
Visualization
eitanlees
152
17k
Odyssey Design
rkendrick25
PRO
2
770
Distributed Sagas: A Protocol for Coordinating Microservices
caitiem20
333
23k
New Earth Scene 8
popppiees
3
2.5k
We Are The Robots
honzajavorek
0
300
Understanding Cognitive Biases in Performance Measurement
bluesmoon
32
3k
Agile Actions for Facilitating Distributed Teams - ADO2019
mkilby
0
260
Breaking role norms: Why Content Design is so much more than writing copy - Taylor Woolridge
uxyall
0
380
The Invisible Side of Design
smashingmag
301
52k
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žė