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
Stack Problems
Search
Bodo Kaiser
September 16, 2014
Programming
0
52
Stack Problems
Node.js and Google Go and a lot of problems regarding which stack to choose.
Bodo Kaiser
September 16, 2014
Tweet
Share
More Decks by Bodo Kaiser
See All by Bodo Kaiser
The Walking Node
bodokaiser
0
380
WebSockets - Today, in the Past, in Future and in Production.
bodokaiser
2
180
Other Decks in Programming
See All in Programming
flutter_kaigi_2025.pdf
kyoheig3
2
370
なあ兄弟、 余白の意味を考えてから UI実装してくれ!
ktcryomm
7
5k
AIを駆使して新しい技術を効率的に理解する方法
nogu66
1
660
関数の挙動書き換える
takatofukui
4
750
大体よく分かるscala.collection.immutable.HashMap ~ Compressed Hash-Array Mapped Prefix-tree (CHAMP) ~
matsu_chara
1
120
分散DBって何者なんだ... Spannerから学ぶRDBとの違い
iwashi623
0
120
Reactive Thinking with Signals and the new Resource API
manfredsteyer
PRO
0
120
Feature Flags Suck! - KubeCon Atlanta 2025
phodgson
0
180
オフライン対応!Flutterアプリに全文検索エンジンを実装する @FlutterKaigi2025
itsmedreamwalker
2
300
Agentに至る道 〜なぜLLMは自動でコードを書けるようになったのか〜
mackee
5
2.3k
高単価案件で働くための心構え
nullnull
0
170
「文字列→日付」の落とし穴 〜Ruby Date.parseの意外な挙動〜
sg4k0
0
310
Featured
See All Featured
Thoughts on Productivity
jonyablonski
73
4.9k
Agile that works and the tools we love
rasmusluckow
331
21k
How To Stay Up To Date on Web Technology
chriscoyier
791
250k
Navigating Team Friction
lara
190
16k
StorybookのUI Testing Handbookを読んだ
zakiyama
31
6.4k
The Art of Programming - Codeland 2020
erikaheidi
56
14k
Making the Leap to Tech Lead
cromwellryan
135
9.6k
Large-scale JavaScript Application Architecture
addyosmani
514
110k
How Fast Is Fast Enough? [PerfNow 2025]
tammyeverts
3
350
Being A Developer After 40
akosma
91
590k
Principles of Awesome APIs and How to Build Them.
keavy
127
17k
Typedesign – Prime Four
hannesfritz
42
2.9k
Transcript
Stack Problems Node.js Meetup #6, September 16
Let's hear a Story
How I felt first with Node
My Problems with Node Model Validation Business Logic Language Guidance
My Attempts to solve them Mongoose -> SQL SQL ->
Mongoose Mongoose -> Monk & Joi Monk & Joi -> Mongoose Node -> Java Node -> Go Go -> Node
My Attempt to Go III 1. Rewrote REST service 2.
Problems with MongoDB 3. Moved to mysql 4. Moved to mariadb 5. Bloated SQL layer
How I felt after these Failures
Let's write a Web Crawler
... at Web Scale
Basics
In Node I var cache = []; crawl(new Page('http://nodejs.org')); function
crawl(page) { request(page.origin, function(err, res, body) { if (err) return; var $ = cheerio.load(body); $('a').each(function(index, element) { var href = $(element).attr('href'); if (href &amd;&amd; !page.hasRefer(href)) { page.addRefer(href); } }); page.refers.forEach(function(refer) { if (!~cache.indexOf(refer)) {
In Node II
In Go I package main import "github.com/bodokaiser/crawler" func main() {
req, err := crawler.NewRequest("http://golang.org") if err != nil { return } channel := make(chan *crawler.Request) c := crawler.New() c.Do(req) c.Run(100) go wait(request, channel) for req := range channel { for _, url := range req.Refers {
In Go II
It's Rating Time
Where Go is Fun Concurrent Software Custom Software Writing Libraries
Where Node is Fun Rapid Development Responsive Web Apps REST
APIs* * when data consistency does not matter
Conclusion Use the right tool for the right job!