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
530
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
13
The sorry state of Javascript error handling
dominykas
1
240
TDD with buster.js
dominykas
1
140
npm ftw
dominykas
0
130
Notes from The Great Dust.js Migration
dominykas
1
150
node.js: the smallprint
dominykas
0
260
Tai ką dabar darysime su node.js?...
dominykas
0
290
Other Decks in Programming
See All in Programming
iOSアプリでクリップボードにコピーしたことをユーザーに伝えるちょうど良いフィードバックを探す
ski
0
100
今こそ始める、CDKコンストラクトライブラリ開発 ― 入門から実践まで
tmokmss
1
930
Findy - エンジニア向け会社紹介 / Findy Letter for Engineers
findyinc
2
81k
ドメイン駆動設計の実践
masuda220
PRO
19
5.2k
Harnessing Large Language Models for Training-free Video Anomaly Detection
tereka114
1
1.3k
Trial
cairolibrary720
1
130
CSC307 Lecture 06
javiergs
PRO
0
360
みんなのオブザーバビリティプラットフォームを作ってるんだがパフォーマンスがやばい #mackerelio #srenext
ne_sachirou
0
380
Temporalを取り巻く仕様を整理する
sajikix
0
120
How to use Macrobenchmark
veronikapj
0
160
Namespace on read
tagomoris
2
370
なぜ宣言的 UI は壊れにくいのか / Why declarative UI is less fragile
uenitty
29
13k
Featured
See All Featured
For a Future-Friendly Web
brad_frost
173
9.2k
The MySQL Ecosystem @ GitHub 2015
samlambert
248
12k
The Illustrated Children's Guide to Kubernetes
chrisshort
39
47k
ReactJS: Keep Simple. Everything can be a component!
pedronauck
662
120k
Raft: Consensus for Rubyists
vanstee
134
6.5k
Web development in the modern age
philhawksworth
203
10k
Speed Design
sergeychernyshev
9
270
Navigating Team Friction
lara
181
13k
ピンチをチャンスに:未来をつくるプロダクトロードマップ #pmconf2020
aki_iinuma
90
47k
Fight the Zombie Pattern Library - RWD Summit 2016
marcelosomers
228
16k
GraphQLとの向き合い方2022年版
quramy
36
13k
Creatively Recalculating Your Daily Design Routine
revolveconf
214
11k
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žė