ユカシカド エンジニアブログ

体の栄養状態を把握する検査サービス VitaNoteを開発するエンジニアのブログ

Node.js入門で参考にしたサイト・記事

WebSocketを使うオモシロ案件があって先日よりNode.jsに入門しています。
Javascriptだけど新しい!サーバサイドのJS実装。すごく不思議な感じです。
クライアント環境を気にしなくていいので、素のJSでサクサク書いて進んで楽しいです。
でもやっぱりRubyに慣れてきた身としては色々ツライこともあるし、Node.jsを取り巻くエコシステムもよくわかっていないので把握するのが大変でした。
一通り基本は抑えれたかなと感じたので参考したサイト・記事を紹介します。本当に助かりました。

公式サイト

片手には公式サイト。

Node.js Manuals & Documents

Node.jsの組み込みAPIの使い方などを参照する
http://nodejs.org/api/

npm

ライブラリを探して、リポジトリの場所などがわかる
https://www.npmjs.org

grunt

タスク自動化ツール gruntの公式サイト
http://gruntjs.com/


Node.js入門、テクニックなど

Node.js入門(全16回) - ドットインストー

何はともあれドットインストール。
http://dotinstall.com/lessons/basic_nodejs

node.js とは何か

http://d.hatena.ne.jp/badatmath/20101020/1287587240

Object.observe()とNode.jsのイベントループの関係

http://d.hatena.ne.jp/jovi0608/20140320/1395294325

JavaScriptにおける非同期パターン #翻訳

http://tatyusa.logdown.com/posts/196064/javascript-period-in-non

Felix’s Node.js Style Guide(和訳)

コーディング規約。
http://popkirby.github.io/contents/nodeguide/style.html

sergtitov/NodeJS-Learning

https://github.com/sergtitov/NodeJS-Learning

Felix’s Node.js Object Oriented Programming Guide

http://nodeguide.com/object_oriented_programming.html#basic-example

Sarabande.jp - tag:node.js

http://blog.sarabande.jp/tagged/node.js

Node.jsで文字コードの自動判別と自動変換

http://qiita.com/shoma2da/items/c77ec534dd36873d73c9

Node.js : exports と module.exports の違い(解説編)

http://d.hatena.ne.jp/jovi0608/20111226/1324879536

デバッグ

はじめてのNode.js:Node.jsアプリケーションのデバッグ

http://sourceforge.jp/magazine/13/04/16/080000

テスト、BDD

JavaScriptのテスト環境の構築(testem/jasmine/PhantomJS)

http://qiita.com/d9magai@github/items/b7f2b6df7c9ba3c418d1

kintoneのJSユニットテスト最新事情

http://developer.cybozu.co.jp/tech/?p=7089

mocha

http://visionmedia.github.io/mocha/

power-assert使ってみた - 東京Node学園 10時限目に参加してきました

http://nabewata07.hatenablog.com/entry/node.js/power-assert_example

power-assertの使い方 Node.js編

http://efcl.info/2014/0406/res3809/

WebSocket

RubyでもWebSocketを試したことがありますが、やっぱりNode.jsだとお手軽。

WebSocket API 日本語訳

http://www.hcn.zaq.ne.jp/___/WEB/WebSocket-ja.html

NodeのExpressにSocket.IOのアプリを統合する

http://lealog.hateblo.jp/entry/2013/01/08/010232

node.js 怒濤の50サンプル!! – socket.io編

http://testcording.com/?p=1223

Express(node.js)+Socket.io+MongoDBでつくったwebアプリをHerokuにデプロイするまで

http://yohtn.hatenablog.com/entry/2013/09/14/191236

デプロイ、その他

node.js node.jsスクリプトをforeverでデーモン化する

http://onlineconsultant.jp/pukiwiki/?node.js%20node.js%E3%82%B9%E3%82%AF%E3%83%AA%E3%83%97%E3%83%88%E3%82%92forever%E3%81%A7%E3%83%87%E3%83%BC%E3%83%A2%E3%83%B3%E5%8C%96%E3%81%99%E3%82%8B

nginx最大パフォーマンスを出すための基本設定

http://nodejs.osser.jp/thread/53440873b986bc810f3930e1

node.jsでのスクリプトの引数や、ファイルの読み込みについてのメモ

http://dgakane.wordpress.com/2012/08/16/node-js%E3%81%A7%E3%81%AE%E3%82%B9%E3%82%AF%E3%83%AA%E3%83%97%E3%83%88%E3%81%AE%E5%BC%95%E6%95%B0%E3%82%84%E3%80%81%E3%83%95%E3%82%A1%E3%82%A4%E3%83%AB%E3%81%AE%E8%AA%AD%E3%81%BF%E8%BE%BC%E3%81%BF/comment-page-1/

Webアプリケーションフレームワーク Express4

今回の案件はWebアプリというわけではないけど、さわってみました。自分はWebアプリならRails使います。

Express4 API Reference

http://expressjs.com/4x/api.html

Express入門 (全21回) - ドットインストー

何はともあれドットインストール。使用されているのがExpress3なので、公式ドキュメントとExpressに組み込まれていたミドルウェアはNode.js公式のプラグインとして分離されたのでそれに注意してやってみた。
http://dotinstall.com/lessons/basic_expressjs

Express3 -> 4の際に分離されたミドルウェアの対照表とリンク一覧

https://github.com/senchalabs/connect#middleware

express4でRESTful API作る

http://yutapon.hatenablog.com/entry/2014/04/29/124657

Express 4 をはじめよう

http://qiita.com/hoshi-takanori/items/2128a6cf1dbb533379a2

小並感

  • はやい!やすい!うまい!
  • すごく簡単に各種サーバが書けるし、Node.jsすごい!
  • イベント駆動、リアルタイム、ブロック、ノンブロック、コールバック地獄。