NodeConf OneShot Budapest — Production Ready Node.js by Nuno Job
-
Upload
nuno-job -
Category
Technology
-
view
530 -
download
2
Transcript of NodeConf OneShot Budapest — Production Ready Node.js by Nuno Job
![Page 1: NodeConf OneShot Budapest — Production Ready Node.js by Nuno Job](https://reader033.fdocuments.net/reader033/viewer/2022042817/55a2cf411a28abf34b8b466f/html5/thumbnails/1.jpg)
Production Ready Node
![Page 2: NodeConf OneShot Budapest — Production Ready Node.js by Nuno Job](https://reader033.fdocuments.net/reader033/viewer/2022042817/55a2cf411a28abf34b8b466f/html5/thumbnails/2.jpg)
Alice in Noderland
![Page 3: NodeConf OneShot Budapest — Production Ready Node.js by Nuno Job](https://reader033.fdocuments.net/reader033/viewer/2022042817/55a2cf411a28abf34b8b466f/html5/thumbnails/3.jpg)
The Curious Case of Nodej(s)amin Button
![Page 4: NodeConf OneShot Budapest — Production Ready Node.js by Nuno Job](https://reader033.fdocuments.net/reader033/viewer/2022042817/55a2cf411a28abf34b8b466f/html5/thumbnails/4.jpg)
$ whoami { username: ‘@dscape’, past: ‘nodejitsu.com’, present: ‘yld.io’, much_excite: ‘open source’, dreams_in: JSON, node_modules: Number.MAX_VALUE }
![Page 5: NodeConf OneShot Budapest — Production Ready Node.js by Nuno Job](https://reader033.fdocuments.net/reader033/viewer/2022042817/55a2cf411a28abf34b8b466f/html5/thumbnails/5.jpg)
$ whoami { username: ‘@dscape’, past: ‘nodejitsu.com’, present: ‘yld.io’, much_excite: ‘open source’, dreams_in: JSON, node_modules: ~40 }
![Page 6: NodeConf OneShot Budapest — Production Ready Node.js by Nuno Job](https://reader033.fdocuments.net/reader033/viewer/2022042817/55a2cf411a28abf34b8b466f/html5/thumbnails/6.jpg)
$ watiznode4 __________________________________< node is more than just rest apis > ---------------------------------- \ ^__^ \ (oo)\_______ (__)\ )\/\ ||----w | || ||
![Page 7: NodeConf OneShot Budapest — Production Ready Node.js by Nuno Job](https://reader033.fdocuments.net/reader033/viewer/2022042817/55a2cf411a28abf34b8b466f/html5/thumbnails/7.jpg)
How is node being used?
• (micro) Services
• REST APIs
• Message Queues
• Fullstack Web Applications
• Mobile
• Enterprise Software
• Internet of Things
• Desktop Clients
Startups and HackersEnterprise
• Command Line Interfaces
• Teaching
• WebRTC
• ROBOTS!
• Bitcoin
• Torrents
• Databases
![Page 8: NodeConf OneShot Budapest — Production Ready Node.js by Nuno Job](https://reader033.fdocuments.net/reader033/viewer/2022042817/55a2cf411a28abf34b8b466f/html5/thumbnails/8.jpg)
INTRODUCTION SUCH NODE. MUCH WOW
![Page 9: NodeConf OneShot Budapest — Production Ready Node.js by Nuno Job](https://reader033.fdocuments.net/reader033/viewer/2022042817/55a2cf411a28abf34b8b466f/html5/thumbnails/9.jpg)
INTRODUCTION USE CASES
Buy all that stuff you want directly from
your phone. Node got you covered.
Find where to go on your awesome vacation with proxies powered by the
Nodes.
Control your heating from your mobile using the awesome power of the
Node.js force
![Page 10: NodeConf OneShot Budapest — Production Ready Node.js by Nuno Job](https://reader033.fdocuments.net/reader033/viewer/2022042817/55a2cf411a28abf34b8b466f/html5/thumbnails/10.jpg)
INTRODUCTION TABLE OF CONTENTS
• Frameworks
• Structure
• Setup
• Testing & Coverage
• Useful tools
• Pre-production checklist
• Running in production
![Page 11: NodeConf OneShot Budapest — Production Ready Node.js by Nuno Job](https://reader033.fdocuments.net/reader033/viewer/2022042817/55a2cf411a28abf34b8b466f/html5/thumbnails/11.jpg)
FRAMEWORK WHAT TO CHOOSE
![Page 12: NodeConf OneShot Budapest — Production Ready Node.js by Nuno Job](https://reader033.fdocuments.net/reader033/viewer/2022042817/55a2cf411a28abf34b8b466f/html5/thumbnails/12.jpg)
Structure
![Page 13: NodeConf OneShot Budapest — Production Ready Node.js by Nuno Job](https://reader033.fdocuments.net/reader033/viewer/2022042817/55a2cf411a28abf34b8b466f/html5/thumbnails/13.jpg)
STRUCTURE MODULE
![Page 14: NodeConf OneShot Budapest — Production Ready Node.js by Nuno Job](https://reader033.fdocuments.net/reader033/viewer/2022042817/55a2cf411a28abf34b8b466f/html5/thumbnails/14.jpg)
STRUCTURE COMMAND LINE TOOL
![Page 15: NodeConf OneShot Budapest — Production Ready Node.js by Nuno Job](https://reader033.fdocuments.net/reader033/viewer/2022042817/55a2cf411a28abf34b8b466f/html5/thumbnails/15.jpg)
STRUCTURE WEB APP
![Page 16: NodeConf OneShot Budapest — Production Ready Node.js by Nuno Job](https://reader033.fdocuments.net/reader033/viewer/2022042817/55a2cf411a28abf34b8b466f/html5/thumbnails/16.jpg)
STRUCTURE REST API
![Page 17: NodeConf OneShot Budapest — Production Ready Node.js by Nuno Job](https://reader033.fdocuments.net/reader033/viewer/2022042817/55a2cf411a28abf34b8b466f/html5/thumbnails/17.jpg)
“Does it matter?”
![Page 18: NodeConf OneShot Budapest — Production Ready Node.js by Nuno Job](https://reader033.fdocuments.net/reader033/viewer/2022042817/55a2cf411a28abf34b8b466f/html5/thumbnails/18.jpg)
Setup
![Page 19: NodeConf OneShot Budapest — Production Ready Node.js by Nuno Job](https://reader033.fdocuments.net/reader033/viewer/2022042817/55a2cf411a28abf34b8b466f/html5/thumbnails/19.jpg)
SETUP CONFIGURATION FILES
![Page 20: NodeConf OneShot Budapest — Production Ready Node.js by Nuno Job](https://reader033.fdocuments.net/reader033/viewer/2022042817/55a2cf411a28abf34b8b466f/html5/thumbnails/20.jpg)
SETUP CONFIGURATION FILES, TO AVOID
![Page 21: NodeConf OneShot Budapest — Production Ready Node.js by Nuno Job](https://reader033.fdocuments.net/reader033/viewer/2022042817/55a2cf411a28abf34b8b466f/html5/thumbnails/21.jpg)
SETUP JSHINT
![Page 22: NodeConf OneShot Budapest — Production Ready Node.js by Nuno Job](https://reader033.fdocuments.net/reader033/viewer/2022042817/55a2cf411a28abf34b8b466f/html5/thumbnails/22.jpg)
SETUP CODE STYLE
![Page 23: NodeConf OneShot Budapest — Production Ready Node.js by Nuno Job](https://reader033.fdocuments.net/reader033/viewer/2022042817/55a2cf411a28abf34b8b466f/html5/thumbnails/23.jpg)
SETUP PRE COMMIT HOOKS
![Page 24: NodeConf OneShot Budapest — Production Ready Node.js by Nuno Job](https://reader033.fdocuments.net/reader033/viewer/2022042817/55a2cf411a28abf34b8b466f/html5/thumbnails/24.jpg)
SETUP PRE COMMIT HOOKS (2)
![Page 25: NodeConf OneShot Budapest — Production Ready Node.js by Nuno Job](https://reader033.fdocuments.net/reader033/viewer/2022042817/55a2cf411a28abf34b8b466f/html5/thumbnails/25.jpg)
SETUP BADGER BADGER BADGER MUSHROOM MUSHROOM
![Page 26: NodeConf OneShot Budapest — Production Ready Node.js by Nuno Job](https://reader033.fdocuments.net/reader033/viewer/2022042817/55a2cf411a28abf34b8b466f/html5/thumbnails/26.jpg)
Testing
![Page 27: NodeConf OneShot Budapest — Production Ready Node.js by Nuno Job](https://reader033.fdocuments.net/reader033/viewer/2022042817/55a2cf411a28abf34b8b466f/html5/thumbnails/27.jpg)
TESTING NODE ERROR HANDLING
![Page 28: NodeConf OneShot Budapest — Production Ready Node.js by Nuno Job](https://reader033.fdocuments.net/reader033/viewer/2022042817/55a2cf411a28abf34b8b466f/html5/thumbnails/28.jpg)
TESTING COVERAGE CONTRACT
![Page 29: NodeConf OneShot Budapest — Production Ready Node.js by Nuno Job](https://reader033.fdocuments.net/reader033/viewer/2022042817/55a2cf411a28abf34b8b466f/html5/thumbnails/29.jpg)
TESTING PERFORMANCE
![Page 30: NodeConf OneShot Budapest — Production Ready Node.js by Nuno Job](https://reader033.fdocuments.net/reader033/viewer/2022042817/55a2cf411a28abf34b8b466f/html5/thumbnails/30.jpg)
TESTING PERFORMANCE (2)
![Page 31: NodeConf OneShot Budapest — Production Ready Node.js by Nuno Job](https://reader033.fdocuments.net/reader033/viewer/2022042817/55a2cf411a28abf34b8b466f/html5/thumbnails/31.jpg)
TESTING PERFORMANCE
![Page 32: NodeConf OneShot Budapest — Production Ready Node.js by Nuno Job](https://reader033.fdocuments.net/reader033/viewer/2022042817/55a2cf411a28abf34b8b466f/html5/thumbnails/32.jpg)
Pre-production checklist
![Page 33: NodeConf OneShot Budapest — Production Ready Node.js by Nuno Job](https://reader033.fdocuments.net/reader033/viewer/2022042817/55a2cf411a28abf34b8b466f/html5/thumbnails/33.jpg)
$ shipit _____________________________< nodejs production checklist > ----------------------------- \ ^__^ \ (oo)\_______ (__)\ )\/\ ||----w | || ||
![Page 34: NodeConf OneShot Budapest — Production Ready Node.js by Nuno Job](https://reader033.fdocuments.net/reader033/viewer/2022042817/55a2cf411a28abf34b8b466f/html5/thumbnails/34.jpg)
PRE-PRODUCTION CHECKLIST OUTDATES MODULES
![Page 35: NodeConf OneShot Budapest — Production Ready Node.js by Nuno Job](https://reader033.fdocuments.net/reader033/viewer/2022042817/55a2cf411a28abf34b8b466f/html5/thumbnails/35.jpg)
PRE-PRODUCTION CHECKLIST SECURITY SANITY CHECK
![Page 36: NodeConf OneShot Budapest — Production Ready Node.js by Nuno Job](https://reader033.fdocuments.net/reader033/viewer/2022042817/55a2cf411a28abf34b8b466f/html5/thumbnails/36.jpg)
PRE-PRODUCTION CHECKLIST FREEZE YOUR DEPENDENCIES
![Page 37: NodeConf OneShot Budapest — Production Ready Node.js by Nuno Job](https://reader033.fdocuments.net/reader033/viewer/2022042817/55a2cf411a28abf34b8b466f/html5/thumbnails/37.jpg)
Useful tools
![Page 38: NodeConf OneShot Budapest — Production Ready Node.js by Nuno Job](https://reader033.fdocuments.net/reader033/viewer/2022042817/55a2cf411a28abf34b8b466f/html5/thumbnails/38.jpg)
USEFUL TOOLS JSONTOOL
![Page 39: NodeConf OneShot Budapest — Production Ready Node.js by Nuno Job](https://reader033.fdocuments.net/reader033/viewer/2022042817/55a2cf411a28abf34b8b466f/html5/thumbnails/39.jpg)
USEFUL TOOLS ND
![Page 40: NodeConf OneShot Budapest — Production Ready Node.js by Nuno Job](https://reader033.fdocuments.net/reader033/viewer/2022042817/55a2cf411a28abf34b8b466f/html5/thumbnails/40.jpg)
USEFUL TOOLS GHCOPY
![Page 41: NodeConf OneShot Budapest — Production Ready Node.js by Nuno Job](https://reader033.fdocuments.net/reader033/viewer/2022042817/55a2cf411a28abf34b8b466f/html5/thumbnails/41.jpg)
USEFUL TOOLS NODE DEBUG
![Page 42: NodeConf OneShot Budapest — Production Ready Node.js by Nuno Job](https://reader033.fdocuments.net/reader033/viewer/2022042817/55a2cf411a28abf34b8b466f/html5/thumbnails/42.jpg)
Running in Production
![Page 43: NodeConf OneShot Budapest — Production Ready Node.js by Nuno Job](https://reader033.fdocuments.net/reader033/viewer/2022042817/55a2cf411a28abf34b8b466f/html5/thumbnails/43.jpg)
RUNNING IN PRODUCTION
• pm2 vs forever vs mon
• cluster vs mongroup
• docker vs jenkins + chef vs PaaS
• Managing the life cycle of applications
![Page 44: NodeConf OneShot Budapest — Production Ready Node.js by Nuno Job](https://reader033.fdocuments.net/reader033/viewer/2022042817/55a2cf411a28abf34b8b466f/html5/thumbnails/44.jpg)
RUNNING IN PRODUCTION
![Page 45: NodeConf OneShot Budapest — Production Ready Node.js by Nuno Job](https://reader033.fdocuments.net/reader033/viewer/2022042817/55a2cf411a28abf34b8b466f/html5/thumbnails/45.jpg)
RUNNING IN PRODUCTION
• pm2 vs forever vs mon
• cluster vs mongroup
• docker vs jenkins + chef vs PaaS
• Managing the life cycle of applications
![Page 46: NodeConf OneShot Budapest — Production Ready Node.js by Nuno Job](https://reader033.fdocuments.net/reader033/viewer/2022042817/55a2cf411a28abf34b8b466f/html5/thumbnails/46.jpg)
@DSCAPE THANK YOU