node.js everywhere by @zwigby

18
FOR EVERYTHING A SHORT STORY BY CHARLIE KEY [email protected] - @zwigby

Upload: charlie-key

Post on 19-Jun-2015

4.715 views

Category:

Technology


0 download

DESCRIPTION

A look at a few lessons from building our company, Modulus (http://modulus.io), completely on JavaScript and Node.js. Lessons include how to restart your application on crash and what API frameworks there are, and more...

TRANSCRIPT

2. 0.6.8 3. LET YOUR PROCESS CRASH $npminstallpm2@latest-g pm2 Modern CLI process manager for Node apps with a builtin load-balancer $pm2startapp.js $npminstallforever-g forever A simple CLI tool for ensuring that a given node script runs continuously (i.e. forever) $foreverstartapp.js 4. FIND ISSUES node-inspector Web Inspector based nodeJS debugger $npminstallnode-inspector-g $node-debugapp.js 5. CONGRESS (API) APERTURE (WEBSITE) FULCRUM (CLI) MEDUSA (DEPLOYMENT MANAGER) APP HOST LOAD BALANCER CUSTOMER APP INCOMING TRAFFIC METRICS COLLECTION 6. npm versioning "dependencies":{ "express":"*" } NoAsterisks Please for the love dont use asterisks. Use proper versioning. "dependencies":{ "express":"4.0" } 7. LESSONS LEARNED stateless Keep your application as stateless as possible redis Great tool if you need to keep state 8. API The natural born use case for Node.js express Fast, unopinionated, minimalist web framework hapi HTTP Server framework - from the minds at Walmart restify REST framework 9. FINAL THOUGHTS horizontalscalability Be stateless or have a thought out solution dontreinventthewheel unless you want to, npm is there for a reason starttestingearly Pick a testing framework and start writing tests streams Learn to use them - streams adventure kiss Keep it simple stupid 10. SLIDE OF MANY THINGS pm2www.npmjs.org/package/pm2 foreverwww.npmjs.org/package/forever node-inspectorwww.npmjs.org/package/node-inspector npmsemverwww.npmjs.org/doc/misc/semver.html redisredis.io expressjsexpressjs.com hapihapijs.com restifymcavage.me/node-restify jasminejasmine.github.io stream-adventurewww.npmjs.org/package/stream-adventure ! 11. @zwigby