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
640
0
Share
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
26
The sorry state of Javascript error handling
dominykas
0
260
TDD with buster.js
dominykas
1
160
npm ftw
dominykas
0
150
Notes from The Great Dust.js Migration
dominykas
1
170
node.js: the smallprint
dominykas
0
270
Tai ką dabar darysime su node.js?...
dominykas
0
330
Other Decks in Programming
See All in Programming
TypeScriptだけでAIエージェントを作る フロント・エージェント・インフラのフルスタック実践
har1101
5
770
サークル参加から学ぶ、小さな事業の回し方
yuzneri
0
210
AIを導入する前にやるべきこと
negima
2
370
実践ハーネスエンジニアリング:ステアリングループを実例から読み解く / Practical Harness Engineering: Understanding Steering Loops Through Real-World Examples
nrslib
6
5.8k
Stage 3 Decorators でできること / できないこと / TSKaigi 2026
susisu
1
340
空間オーディオの活用
objectiveaudio
0
160
20260514_its_the_context_window_stupid.pdf
heita
0
1.1k
20年以上続くプロダクトでも使い続けられる静的解析ツールを求めて
matsuo_atsushi
0
160
Augmenting AI with the Power of Jakarta EE
ivargrimstad
0
600
SkillsをS3 Filesに置く時のあれこれ
watany
3
1.7k
プロパティの順序で型推論が壊れる!? TypeScript6.0の修正からContext-Sensitivityの仕組みを追う
bicstone
2
530
Kubernetesを使わない環境にもCloud Nativeなデプロイを実現する / Enabling Cloud Native deployments without the complexity of Kubernetes
linyows
3
430
Featured
See All Featured
Paper Plane (Part 1)
katiecoart
PRO
0
7.7k
svc-hook: hooking system calls on ARM64 by binary rewriting
retrage
2
250
Navigating Weather and Climate Data
rabernat
0
190
Side Projects
sachag
455
43k
Taking LLMs out of the black box: A practical guide to human-in-the-loop distillation
inesmontani
PRO
3
2.2k
Making the Leap to Tech Lead
cromwellryan
135
9.8k
Ecommerce SEO: The Keys for Success Now & Beyond - #SERPConf2024
aleyda
1
2k
RailsConf 2023
tenderlove
30
1.4k
Un-Boring Meetings
codingconduct
0
290
I Don’t Have Time: Getting Over the Fear to Launch Your Podcast
jcasabona
34
2.7k
The State of eCommerce SEO: How to Win in Today's Products SERPs - #SEOweek
aleyda
2
10k
Claude Code のすすめ
schroneko
67
220k
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žė