Skip to content

Instantly share code, notes, and snippets.

@balupton
Created April 7, 2016 16:24
  • Star 1 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
Star You must be signed in to star a gist
Save balupton/8d5dda4cd1c72490cdc354e00d528a9e to your computer and use it in GitHub Desktop.
Comprehensive Node.js Training

Comprehensive Node.js Training

The following is an outline for a training that I offer. You can make bookings through my company.

  • Node History & Scene
    • Theory
      • History of Node Tech and Business
        • Package Managers
          • npm
          • pre-npm
          • post-npm
        • Node
          • 0.4 (first "stable" version)
          • 0.6 (first everyday version with npm bundled)
          • 0.8 (first production version)
          • 0.10
          • 0.12+
        • People
          • Ryan
          • Isaacs
          • TJ Fontaine
        • Business
          • Joyent Vs Strongloop Vs Nodejistsu Vs Node Source Vs NPM Inc
        • Scene
          • Utilities
          • Front-end tooling
          • Server infrastructure
          • Content mangement systems
          • Robots
          • Enterprise development
  • Modules
    • Workflow
      • Creating a Module
        • Naming
        • Meta Files
          • package.json
          • README.md
          • HISTORY.md
          • LICENSE.md
          • CONTRIBUTING.md
        • Building & Testing
          • NPM Scripts
            • npm test
            • npm run-script <script>
          • Compilers: CoffeeScript, Grunt, Gulp, Brocolli
          • Runners: Mocha, Joe
          • npm link
        • Publishing
          • Versioning
          • Changelog
          • Tagging
          • npm publish
        • Full-stack
          • Write once
            • UMD (Universal Module Definition)
            • Browsirify
            • Ender
          • Write multiple
            • Bower
        • Dependencies
          • Peer Dependencies
          • Dev Dependencies
          • Bundled Dependencies
          • Engines
    • Theory
      • Testing
        • Continuous Integration (TeamCity)
        • Performance / Load (Gatling)
      • Version Semantics
        • Sentimental Versioning
          • Backbone
          • jQuery
        • Semantic Versioning
          • NPM
        • Issues with Semantic Versioning
          • Interpretations
          • Idealism vs Reality
      • Publishing
      • Maintenance
        • Long-Term Versioning
          • Maintaining versions in a forward and backward compatible way
        • Generic Modules vs Specific Modules
          • Theory
            • Feature Creep & Future Versioning
            • Branching Modules
            • Unix/Substack Methodology
          • Implementation
            • Small Modules
            • Mediator Patterns
            • Etc.
  • Applications
    • Workflow
      • Flow Control & Error Handling
        • Vanila & Callback Hell & Error Handling Pollution/Fragility
        • Classes and Singeltons
        • Event Emitters
        • Async.js (Grunt)
        • Tasks and TaskGroups (DocPad)
        • Promises
          • Q
          • BlueBird
      • Debugging
        • Stack Traces
        • Console Logging
        • Interactive debugging
        • Source Maps
    • Theory
      • Application Scope VS Module Scope VS API/Package Scope
        • What are an application’s concerns? (end-user errors)
        • What are a module’s concerns? (app errors)
        • What is an API’s concerns? (yell at you)
        • How to avoid code smell (overloading, abundant error prevention)
        • How to write future proof code that won’t cause breaking changes for trivial things (like new arguments)
      • Event Loop System
        • SetTimeout
        • SetImmediate
        • NextTick
        • Stack Trace destruction
          • Longjohn and Bluebird (sam) solution
  • Components
    • Logging
    • Streams
    • Configuration
      • Loading
      • Environments
      • Inheritance
      • Splitting
      • Live updating?
    • Plugins / separation of concerns / auto loading / testing
    • Dashboards and Statistic Reporting
    • Servers
      • REST API Design
        • HTTP vs Web Sockets
        • Modules
          • Hapi, Express
          • Feathers JS
        • Best design practice
    • Scaling
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment