アドベントカレンダーの25日目の記事です。完走ですね!あ〜、大分時間があいてしまった。いうわけで第二弾行ってみましょう。今回は以下の箇所から紹介します。Node.jsなことを紹介していきます。コンソールに色を付けておくと捗る。Node.jsを読んでると本当にコンソール出力にバンバン色を付けてカラフルにしてます。Nodeに限らないのでしょうが、色をつけておくと捗るみたいなので、是非真似しましょう。\033[39m');実行結果:ちなみに"¥033"までがエスケープ文字列、[NN(NNは数字。最後のmで続く文字列をくるんで装飾するという意味らしい。詳しくは以下のページに書いてある。encyclopediaいやいや、こんな文字列覚えられないよ、っていう人はnpmに'colors'っていうモジュールがあるのでそれを使いましょう。World'.green);でもcolorsはStringのprototype拡張するから、その辺り、一応注意ね。ショートカット作っておいたほうが捗る■エコースクリプトを作る。//ショートカットなし。process.stdout.write(data);});実行すると単なるエコーするスクリプト。コレよく読むとprocessって毎回書いてて面倒だよね。//ショートカットあり。process.stdout;//書くのが楽。stdout.write(data);});割りとやっている人はやっている関数のショートカット登録。node.jsでもチラホラ出てきます。書く時に楽なので、割りといいかも。(上の例くらいの量なら使わなくてもいいかも知れないけど。重たいファイルを扱う時はStream、あとpipeは抑えておこう。httpで、画像ファイルとかの大きいファイルを扱う時はstreamを使いましょう。どんなときもstreamは重要だから抑えておこう。});}).listen(3000);StreamはJxckさんの資料が参考になる。ちなみにStreamにはpipe()っていう便利メソッドがあって、上の処理をシンプルに書くことが出来る。pipe使った後はこうなる。httpのリクエスト系モジュールはsuperagentが便利。nodeのhttpモジュールにはrequestっていう他のサイトにリクエストを発行するメソッドがある。});}).end();ちなみにGETするだけならgetっていうメソッドのが良い。});});細かい差だけど、わざわざmethodに'GET'って指定しなくていいし、終端にend()を入れる必要もない。'superagent'使うと良い感じ。});実はこれはかなり便利。dataイベントをもらってバッファもしてくれるし、最終的な結果はJSONオブジェクトとしてもらえるので、加工が簡単。nodeのwebアプリケーションで再起動しないで変更を反映する方法(upモジュールについて)Node.jsでwebアプリケーション作っているとプロセスを再起動しないと変更が読み込まれないということに気づくと思う。そんな時はupモジュール。upモジュールを使うとコードの反映がブラウザの読み込みボタンだけで出来る。upモジュールを使うには、まずnpmでupをインストールして。この時、サーバーのインスタンスをmodule.exportsでupモジュールから読み込めるようにしておく。World');});こうしておいて、upコマンドで起動する。server.jsこうすると、server.jsへの変更が即座に反映される。<b>World</b>');});試しに上のように変更してからブラウザで読み込んでみるといい。即座に反映されるのがわかると思う。nodeに書いていない注意点:でもupモジュールはmasterがworkerプロセスに接続をつなぐ処理が必要になるため、普通にserverを起動するよりも多少性能劣化する。それでもホットデプロイに近いことがやりたい場合に使う方が良い。普通に開発環境ならコードの変更を読み取って通常の再起動をしてくれるやり方で問題ないはず。それだけならnodemon、node-dev、みんな大好きforeverでも出来る。restartという接続中のプロセスは殺さずに何もしていないプロセスを再起動するならatsuyaさんが作成したqilinモジュールが良い。これならupモジュールほど性能劣化を産まずに実環境でも使えるはず。思った事この辺りの再起動ネタはいつかブログにまとめます。まとめというわけでまた少しだけ紹介しました。Socket.io等の有名モジュールに移っていきます。Node.js入門も読み始めたので比較とかも面白いかもしれません。Node.jsなこと(第二弾)Tweet広告を非表示にする関連記事2014-09-04consoleを簡単に色付けするモジュールのcoloを作ったcoloを作りました。携帯から見ると崩れてたので修正しました。2012に行ってきました。(2)リンクヘルプはてなブログお知らせはてなブログをはじめよう!yosuke_furukawaさんは、はてなブログを使っています。ブログを報告するスターをつけました引用をストックしましたストック一覧を見る閉じる引用するにはまずログインしてくださいログイン閉じる引用をストックできませんでした。再度お試しください閉じる限定公開記事のため引用できません。