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
·
Ship Features Fearlessly
Turn features on and off without deploys. Used by thousands of Ruby developers.
→
Chris Castle
March 01, 2017
Programming
0
250
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.7k
Continuously Delivering, Managing, and Scaling Apps
crc
0
120
keg.io
crc
2
880
Other Decks in Programming
See All in Programming
Rethinking API Platform Filters
vinceamstoutz
0
880
今からFlash開発できるわけないじゃん、ムリムリ! (※ムリじゃなかった!?)
arkw
0
150
Vuetify 3 → 4 何が変わった?差分と移行ポイント10分まとめ
koukimiura
0
190
AI 開発合宿を通して得た学び
niftycorp
PRO
0
170
Java 21/25 Virtual Threads 소개
debop
0
270
S3ストレージクラスの「見える」「ある」「使える」は全部違う ─ 体験から見た、仕様の深淵を覗く
ya_ma23
0
1.1k
DevinとClaude Code、SREの現場で使い倒してみた件
karia
1
1.1k
What Spring Developers Should Know About Jakarta EE
ivargrimstad
0
650
今こそ押さえておきたい アマゾンウェブサービス(AWS)の データベースの基礎 おもクラ #6版
satoshi256kbyte
1
170
AI Assistants for Your Angular Solutions
manfredsteyer
PRO
0
160
ファインチューニングせずメインコンペを解く方法
pokutuna
0
180
Symfony + NelmioApiDocBundle を使った スキーマ駆動開発 / Schema Driven Development with NelmioApiDocBundle
okashoi
0
230
Featured
See All Featured
The Psychology of Web Performance [Beyond Tellerrand 2023]
tammyeverts
49
3.3k
Making Projects Easy
brettharned
120
6.6k
Let's Do A Bunch of Simple Stuff to Make Websites Faster
chriscoyier
508
140k
RailsConf 2023
tenderlove
30
1.4k
The AI Search Optimization Roadmap by Aleyda Solis
aleyda
1
5.5k
The Curious Case for Waylosing
cassininazir
0
280
The Language of Interfaces
destraynor
162
26k
ReactJS: Keep Simple. Everything can be a component!
pedronauck
666
130k
The Success of Rails: Ensuring Growth for the Next 100 Years
eileencodes
47
8k
Balancing Empowerment & Direction
lara
5
980
職位にかかわらず全員がリーダーシップを発揮するチーム作り / Building a team where everyone can demonstrate leadership regardless of position
madoxten
62
53k
Chasing Engaging Ingredients in Design
codingconduct
0
150
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