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
The JavaScript Software Factory
Search
Sponsored
·
Your Podcast. Everywhere. Effortlessly.
Share. Educate. Inspire. Entertain. You do you. We'll handle the rest.
→
Chris Castle
March 01, 2017
Programming
250
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
The JavaScript Software Factory
A talk I gave at ForwardJS March 1, 2017.
Chris Castle
March 01, 2017
More Decks by Chris Castle
See All by Chris Castle
Event Driven Architectures with Apache Kafka on Heroku
crc
0
5.7k
Continuously Delivering, Managing, and Scaling Apps
crc
0
140
keg.io
crc
2
910
Other Decks in Programming
See All in Programming
ビデオ通話が繋がる0.2秒で何が起きているのか
supurazako
2
160
FDEが実現するAI駆動経営の現在地
gonta
2
240
なぜ関数型プログラミングで「型」と「証明」が語られるのか #fp_matsuri
kajitack
3
1.1k
改善しないと、タスクが回らない。 “てんこ盛りポジション” を引き継いだ情シスの、入社3ヶ月の業務改善録
krm963
0
240
Build-to-own AI: Agentic Development for Humans
inesmontani
PRO
0
160
Apache Hive: Toward a Cloud Native Lakehouse
okumin
0
170
AIが無かった頃の素敵な出会いの話
codmoninc
1
340
jsmini JavaScript Engine を作ってみた話
yosuke_furukawa
PRO
0
280
『コードを書く以外の』エンジニアリング〜課金基盤移行プロジェクト推進のためのTips4選
yuriko1211
0
560
琵琶湖の水は止められてもNet--HTTPのリトライは止められない / You might be able to stop the water flow of Lake Biwa but you can't stop Net::HTTP retries
luccafort
PRO
0
500
信頼性について考えてみる(SRE NEXT 2026 miniLT)
hayama17
0
230
20260722_microCMSで考える、AI時代のコンテンツ運用設計
yosh1
0
190
Featured
See All Featured
GraphQLの誤解/rethinking-graphql
sonatard
75
12k
Building Better People: How to give real-time feedback that sticks.
wjessup
370
20k
Exploring anti-patterns in Rails
aemeredith
3
450
10 Git Anti Patterns You Should be Aware of
lemiorhan
PRO
659
62k
A Soul's Torment
seathinner
6
3.1k
The agentic SEO stack - context over prompts
schlessera
0
860
Max Prin - Stacking Signals: How International SEO Comes Together (And Falls Apart)
techseoconnect
PRO
0
330
[RailsConf 2023] Rails as a piece of cake
palkan
59
6.8k
The AI Search Optimization Roadmap by Aleyda Solis
aleyda
1
6k
jQuery: Nuts, Bolts and Bling
dougneiner
66
8.5k
The Art of Delivering Value - GDevCon NA Keynote
reverentgeek
16
2.1k
Cheating the UX When There Is Nothing More to Optimize - PixelPioneers
stephaniewalter
287
14k
Transcript
The JavaScript SOFTWARE FACTORY ForwardJS March 1, 2017 Image: Jackson
Jost
Chris Castle Developer Advocate @crc Image: Ferdinand Stöhr
THUNDER SNOW
Image: Kalle K
Programming is easy. Software development is hard. Image: Vladimir Chuchadeev
Programming is easy. Image: Vladimir Chuchadeev
Software development is hard. Image: Vladimir Chuchadeev
You want to know what makes it even harder? Image:
Markus Spiske
None
None
None
None
None
None
None
None
None
None
None
None
None
None
None
None
None
Fools ignore complexity. Pragmatists suffer it. Geniuses remove it. -
Alan Perlis
Simplicity is a great virtue but it requires hard work
to achieve it and education to appreciate it. - E.W. Dijkstra
None
None
SOME SIMPLIFYING TIPS
None
Stop spending time on the bottom two layers.
None
No global modules
1 { 2 "name": "js-software-factory-samples", 3 "version": "1.0.0", 4 "description":
"Sample codez!", 5 "main": "index.js", 6 "author": "Chris Castle", 7 "license": "MIT", 8 "dependencies": { 9 "left-pad": "^1.1.3" 10 }, 11 "devDependencies": { 12 "gulp": "^3.9.1" 13 } 14 }
None
The Twelve-Factor App
https://12factor.net
None
Use yarn
- Predictability - Security - Performance
Deploy a lot
None
Make testing automatic
None
None
Logging
winston bunyan log4js morgan
Debugging
1 const debug = require('debug')('http') 2 const http = require('http')
3 4 http.createServer((req, res) => { 5 debug(`${req.method} ${req.url}`) 6 res.end('hello\n') 7 }).listen(3000, () => { 8 debug('listening'); 9 })
no debug output
debug output
Thank you Image: SpaceX