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でデーモン化する
nginx最大パフォーマンスを出すための基本設定
http://nodejs.osser.jp/thread/53440873b986bc810f3930e1
node.jsでのスクリプトの引数や、ファイルの読み込みについてのメモ
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すごい!
- イベント駆動、リアルタイム、ブロック、ノンブロック、コールバック地獄。