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
Chris Castle
March 01, 2017
Programming
0
240
The JavaScript Software Factory
A talk I gave at ForwardJS March 1, 2017.
Chris Castle
March 01, 2017
Tweet
Share
More Decks by Chris Castle
See All by Chris Castle
Event Driven Architectures with Apache Kafka on Heroku
crc
0
5.6k
Continuously Delivering, Managing, and Scaling Apps
crc
0
100
keg.io
crc
2
820
Other Decks in Programming
See All in Programming
F#で自在につくる静的ブログサイト - 関数型まつり2025
pizzacat83
0
300
Cline指示通りに動かない? AI小説エージェントで学ぶ指示書の書き方と自動アップデートの仕組み
kamomeashizawa
1
530
A2A プロトコルを試してみる
azukiazusa1
2
390
プロダクト開発でも使おう 関数のオーバーロード
yoiwamoto
0
150
生成AIで日々のエラー調査を進めたい
yuyaabo
0
600
データの民主化を支える、透明性のあるデータ利活用への挑戦 2025-06-25 Database Engineering Meetup#7
y_ken
0
140
ASP.NETアプリケーションのモダナイズ インフラ編
tomokusaba
1
370
從零到一:搭建你的第一個 Observability 平台
blueswen
1
940
Passkeys for Java Developers
ynojima
3
860
Practical Tips and Tricks for Working with Compose Multiplatform Previews (mDevCamp 2025)
stewemetal
0
120
Effect の双対、Coeffect
yukikurage
5
1.4k
Javaに鉄道指向プログラミング (Railway Oriented Pro gramming) のエッセンスを取り入れる/Bringing the Essence of Railway-Oriented Programming to Java
cocet33000
2
580
Featured
See All Featured
実際に使うSQLの書き方 徹底解説 / pgcon21j-tutorial
soudai
PRO
181
53k
The Power of CSS Pseudo Elements
geoffreycrofte
77
5.8k
Building an army of robots
kneath
306
45k
The Language of Interfaces
destraynor
158
25k
Docker and Python
trallard
44
3.4k
Creating an realtime collaboration tool: Agile Flush - .NET Oxford
marcduiker
30
2.1k
Statistics for Hackers
jakevdp
799
220k
Building a Scalable Design System with Sketch
lauravandoore
462
33k
Fashionably flexible responsive web design (full day workshop)
malarkey
407
66k
Embracing the Ebb and Flow
colly
86
4.7k
Done Done
chrislema
184
16k
Why You Should Never Use an ORM
jnunemaker
PRO
56
9.4k
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