Nodejs – Backend Development Bookmarks

Mình xin Note lại mốt số tài nguyên hữu ích dành cho lập trình viên Nodejs, từ các hướng dẫn cài đặt, npm, database, các frameworks, socket, testing, … tất tần tật mà bạn có thể dễ dàng tra cứu.

  • node.js
    • Installation paths

: use one of these techniques to install node and npm without having to sudo.

  • Node.js HOWTO: Install Node+NPM as user (not root) under Unix OSes
  • Felix’s Node.js Guide
  • Creating a REST API using Node.js, Express, and MongoDB
  • Node Cellar Sample Application with Backbone.js, Twitter Bootstrap, Node.js, Express, and MongoDB
  • JavaScript Event Loop
  • Node.js for PHP programmers
    1. Event driven Programming
    2. Modules and Packages
    3. Exceptions and Errors
    4. Streams
  • State of Node
  • Frameworks
    • Express.js
      • Hello Boilderplate is a bootstrap web app including Bower, Grunt, Twitter Bootstrap, jQuery and EJS.
    • Hapi: A rich framework for building restful API services.
    • Deployd
  • Queues and Workers
    • node-worker-farm
      • Distribute processing tasks to child processes with an über-simple API and baked-in durability & custom concurrency options. Available in npm as worker-farm.
    • Kue is a feature rich priority job queue for node.js backed by redis. A key feature of Kue is its clean user-interface for viewing and managing queued, active, failed, and completed jobs.
  • Databases
  • Content Management Systems
  • Static Site Generators
    • An Introduction to Static Site Generators
    • Hexo: A fast, simple & powerful blog framework, powered by Node.js.
    • Punch: Punch is a simple, intuitive web publishing framework that will delight both designers and developers built on Node.js.
    • jott: Minimum viable blog generator. Markup in Jade. Static HTML output.
  • CLI
    • Master the CLI with Node
    • global-npm-seed: Learn to create a global npm module with a CLI interface.
    • Shell.js is a portable (Windows included) implementation of Unix shell commands on top of the Node.js API. You can use it to eliminate your shell script’s dependency on Unix while still keeping its familiar and powerful commands.
  • Dependency Injection
  • Error Handling
  • Events
  • Image Manipulation
    • node-gd: GD graphic library (libgd) C++ bindings for Node.js.
    • node-image: This is a node.js module that unifies node-png, node-gif and node-jpeg modules.
    • node-o3-canvas: This is a HTML5 spec Canvas component for NodeJS based on LibAGG and Freetype. It is implemented using the O3 component system, and should be easy to extend and fix.
    • node-canvas: Node canvas is a Cairo backed Canvas implementation for NodeJS.
    • node-vips: A node.js module that provides access to the VIPS library and Exiv2 in order to resize and rotate images.
    • node-imagemagick: Imagemagick module for NodeJS
    • node-imageinfo: A package that returns information about an image or flash file such as type, dimensions etc.
    • js-imagediff: JavaScript / HTML5 Canvas based image diff utility.
    • gm: GraphicsMagick for node.
    • Obscura
  • Internationalisation
  • Websockets
  • Authentication
  • Testing
    • PhantomJS
    • Node.js testing RESTful API (vows.js?)
    • Insanely fast, headless full-stack testing using Node.js
    • Writing Testable JavaScript
    • Testing / Spec Frameworks List
    • CasperJS
    • APIeasy: A fluent (i.e. chainable) syntax for generating vows tests against RESTful APIs.
    • Expresso
      • Expresso is a JavaScript TDD framework written for nodejs. Expresso is extremely fast, and is packed with features such as additional assertion methods, code coverage reporting, CI support, and more.
    • Jasmine
      • Jasmine is a behavior-driven development framework for testing JavaScript code. It does not depend on any other JavaScript frameworks. It does not require a DOM. And it has a clean, obvious syntax so that you can easily write tests.
    • frisby.js
      • Frisby is a REST API testing framework built on node.js and Jasmine that makes testing API endpoints easy, fast, and fun.
    • mocha
      • Mocha is a feature-rich JavaScript test framework running on node and the browser, making asynchronous testing simple and fun. Mocha tests run serially, allowing for flexible and accurate reporting, while mapping uncaught exceptions to the correct test cases. Hosted on GitHub.
    • lab
      • lab is a simple test utility for node. Unlike other test frameworks, lab does not attempt to cover many use cases or provide rich functionality and extensibility. In fact, this project started as a fork off mocha and was repeatedly refactored until only the very basic functionality was left which was then rewritten into a handful of functions.
    • should
      • should is an expressive, readable, test framework agnostic, assertion library for node. It extends the Object prototype with a single non-enumerable getter that allows you to express how that object should behave.
    • chai
      • Chai is a BDD / TDD assertion library for node and the browser that can be delightfully paired with any javascript testing framework.
    • supertest
      • Super-agent driven library for testing HTTP servers
    • Joe
      • Joe is a javascript testing framework that actually works. Unlike Mocha, we won’t die on you abruptly when executing dynamically created tests and are always able to associate the correct test to the correct corresponding test suite. Switching from Mocha is trivial and only takes a few minutes.
  • Web Scraping
  • Connect
  • Streams
  • Package Management
  • Refactoring
  • Routing
  • Security
    • Authentication
      • everyauth
        • Authentication and authorization (password, facebook, & more) for your node.js Connect and Express apps.
    • Authorisation
      • ability.js
        • A simple route-based ACL component for express.js. This won’t handle actual authentication, you can use everyauth for that.
      • acl
        • This module provides a minimalistic ACL implementation inspired by Zend_ACL
      • xoauth2
        • XOAuth2 token generation with node.js
      • mashape-oauth
        • OAuth Modules for Node.js – Supporting RSA, HMAC, PLAINTEXT, 2,3-Legged, 1.0a, Echo, XAuth, and 2.0
    • General
      • helmet: Collection of middleware to implement various security headers for Express / Connect
      • meteor accounts system
      • node-http-signature: This document describes a way to add origin authentication, message integrity, and replay resistance to HTTP REST requests. It is intended to be used over the HTTPS protocol.
    • Cryptography
  • Performance
  • Source Control
  • Networks
  • Source from


    Leave a Reply

    Fill in your details below or click an icon to log in: Logo

    You are commenting using your account. Log Out / Change )

    Twitter picture

    You are commenting using your Twitter account. Log Out / Change )

    Facebook photo

    You are commenting using your Facebook account. Log Out / Change )

    Google+ photo

    You are commenting using your Google+ account. Log Out / Change )

    Connecting to %s