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
260
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
920
Other Decks in Programming
See All in Programming
実装をデザインガイドラインに追従させるための取り組み / 260731-dip-mosh-design-system
dachi023
0
7k
PostgreSQL 18で考えるUUID主キー
kazuhiro1982
0
490
AI Readyの正体はデータマネジメントだ メダリオン2.0の最前線
freee
PRO
0
350
ソフトウェアエンジニアにとっての生成AI - 特性を知って使い倒す / generative ai for software enginner
kishida
7
2.1k
ソフトウェアラスタライザ
fadis
1
250
Cloudflare is Agents
chimame
0
180
How I Won Prize Money at a Hackathon Using Codex and Symphony Alpha
yasei_no_otoko
0
120
まずはプロンプトガイドを読もう、話はそれからだ
kiakiraki
1
180
in-process GraphQL のすすめ #ginzajs
izumin5210
4
1.4k
わからない話を追いかけたら、プログラミング言語を作る側にいた
ydah
3
530
FastAPI の並行処理モデルを完全に理解する
hoto17296
6
2.3k
Android CLI
fornewid
0
230
Featured
See All Featured
How To Speak Unicorn (iThemes Webinar)
marktimemedia
1
550
Prompt Engineering for Job Search
mfonobong
0
410
AI Search: Implications for SEO and How to Move Forward - #ShenzhenSEOConference
aleyda
1
1.3k
Bootstrapping a Software Product
garrettdimon
PRO
306
120k
Connecting the Dots Between Site Speed, User Experience & Your Business [WebExpo 2025]
tammyeverts
11
1k
A Modern Web Designer's Workflow
chriscoyier
698
190k
Done Done
chrislema
186
16k
My Coaching Mixtape
mlcsv
0
260
Rebuilding a faster, lazier Slack
samanthasiow
85
9.6k
GraphQLとの向き合い方2022年版
quramy
50
15k
Design in an AI World
tapps
1
290
The Illustrated Guide to Node.js - THAT Conference 2024
reverentgeek
1
440
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