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
180
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
90
keg.io
crc
2
740
Other Decks in Programming
See All in Programming
Activities at Cairo Library
cairolibrary720
0
1.2k
みんなのオブザーバビリティプラットフォームを作ってるんだがパフォーマンスがやばい #mackerelio #srenext
ne_sachirou
0
370
企業向け生成AIアプリの 開発から得られた知見
takaakikakei
0
310
生成AIをkintoneに連携してみた
hideg
0
230
Async Await: Mastering Python's Time-Bending Tricks - EuroPython2024
yanbo
1
290
From Spring Boot 2 to Spring Boot 3 with Java 22 and Jakarta EE
ivargrimstad
0
1.9k
GraphQL はいいぞ! ~Laravel で学ぶ GraphQL 入門~
azuki
1
160
Jetpack for KMP
fornewid
1
290
大規模マルチテナントを解決するYugabyteDBという選択肢
nnaka2992
1
250
継続的な活動で築く地方エンジニアの道
myamashii
2
350
社内 LT 会を発足し、アウトプット文化を醸成させるために考えたこと・やったこと / Starting internal LT meetings and fostering an output culture
mackey0225
3
120
CSC307 Lecture 13
javiergs
PRO
0
150
Featured
See All Featured
Building Effective Engineering Teams - LeadDev
addyosmani
47
2.2k
Happy Clients
brianwarren
94
6.5k
Build The Right Thing And Hit Your Dates
maggiecrowley
28
2.2k
What’s in a name? Adding method to the madness
productmarketing
PRO
21
2.9k
GraphQLの誤解/rethinking-graphql
sonatard
59
9.6k
Web Components: a chance to create the future
zenorocha
307
41k
実際に使うSQLの書き方 徹底解説 / pgcon21j-tutorial
soudai
149
45k
It's Worth the Effort
3n
181
27k
Designing with Data
zakiwarfel
96
5k
[Rails World 2023 - Day 1 Closing Keynote] - The Magic of Rails
eileencodes
17
1.5k
Mobile First: as difficult as doing things right
swwweet
219
8.8k
Adopting Sorbet at Scale
ufuk
71
8.8k
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