Upgrade to PRO for Only $50/Year—Limited-Time Offer! 🔥
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
610
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
21
The sorry state of Javascript error handling
dominykas
1
260
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
270
Tai ką dabar darysime su node.js?...
dominykas
0
320
Other Decks in Programming
See All in Programming
JETLS.jl ─ A New Language Server for Julia
abap34
1
190
手軽に積ん読を増やすには?/読みたい本と付き合うには?
o0h
PRO
1
170
Cell-Based Architecture
larchanjo
0
100
sbt 2
xuwei_k
0
260
WebRTC と Rust と8K 60fps
tnoho
2
1.9k
無秩序からの脱却 / Emergence from chaos
nrslib
2
13k
全員アーキテクトで挑む、 巨大で高密度なドメインの紐解き方
agatan
8
20k
MAP, Jigsaw, Code Golf 振り返り会 by 関東Kaggler会|Jigsaw 15th Solution
hasibirok0
0
230
関数実行の裏側では何が起きているのか?
minop1205
1
680
手が足りない!兼業データエンジニアに必要だったアーキテクチャと立ち回り
zinkosuke
0
590
C-Shared Buildで突破するAI Agent バックテストの壁
po3rin
0
380
【CA.ai #3】ワークフローから見直すAIエージェント — 必要な場面と“選ばない”判断
satoaoaka
0
230
Featured
See All Featured
Build The Right Thing And Hit Your Dates
maggiecrowley
38
3k
Creating an realtime collaboration tool: Agile Flush - .NET Oxford
marcduiker
35
2.3k
Building Flexible Design Systems
yeseniaperezcruz
330
39k
The Invisible Side of Design
smashingmag
302
51k
How To Stay Up To Date on Web Technology
chriscoyier
791
250k
We Have a Design System, Now What?
morganepeng
54
7.9k
GraphQLとの向き合い方2022年版
quramy
50
14k
A Tale of Four Properties
chriscoyier
162
23k
Building a Scalable Design System with Sketch
lauravandoore
463
34k
Imperfection Machines: The Place of Print at Facebook
scottboms
269
13k
Why Our Code Smells
bkeepers
PRO
340
57k
KATA
mclloyd
PRO
32
15k
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žė