NPM ストック
概要
気になるNPMや把握した有用なNPMをリストアップしていく。
プロセス管理
-
ソースコードの修正を検知して自動で再起動してくれる開発ツール。
他のツールとの違いは、requireしているソースだけをwatchするので、設定ファイルが不要。 -
ソースコードの修正を検知して自動で再起動してくれる開発ツール。
coffee-scriptをデフォルトでサポートしている。 -
本番環境用のプロセス管理ツール(開発環境にも使える)
KeymetricsというサービスのためのプログラムがOSS化されたもの
foreverより機能が豊富
HTTPクライアント
-
簡単に扱えるHTTPクライアント
例えば、GETでデータを取得する時、dataイベントを扱わずに済む。
それ以外にも色々ある。マニュアル必読。 -
Node.jsでだけでなく、browserify等を使用してブラウザでも利用できる。
XML関連
-
sax-jsとxmlbuilder-jsを使用している「XML <-> JavaScript」コンバータ
Memcachedクライアント
ロギング
設定
CLI
-
色やスタイル付きの文字列をコンソールに出力できる。
ORM
GitHubスターやNPMダウンロード数順 - Sequelize - Bookshelf.js - orm - CaminteJS
未調査
Node.js テストコード
テスティングフレームワーク
mocha
express作者が開発しているテスティングフレームワーク
ConnectやSails.jsでも使用されている。
Wikiに記載の情報は要確認。(特にsinon.js)
ブラウザでの使用にも対応している。
「--watch(-w) --reporter(-R) min」の組み合わせは、TDDやBDDで便利そう!
-g [pattern]: 実行対象のテストをパターンで絞れる
Jasmine
behavior-driven development framework
Node.jsでは、「jasmine-node」を使用する。
(JasmineのGitHub Wikiからリンクされていたので、信頼できるようだ。)
Nodeunit
Easy unit testing in node.js and the browser, based on the assert module.
その他
Yadda, Cucumber.js, and so on
アサーションライブラリ
Node.jsでは、assertモジュールが提供されているが、その他のスタイルを提供するNPMもある。
should.js
BDD style assertions for node.js
欠点 対象の変数が、nullやundefinedの時は、オブジェクトではないので、
shouldを呼ぶと、エラーになってしまう。
expect.js
Minimalistic BDD-style assertions for Node.JS and the browser.
should.jsをベースに作られたらしい。
Chai
BDD / TDD assertion library for node and the browser
better-assert
Better c-style assertions using callsite for self-documenting failure messages.
expectations
Jasmine-style expect syntax for nodejs + browser
まとめ
とりあえず、ConnectやExpress,Sails.jsで使われている「mocha」と「should.js」を習得する。
PHPアクセラレータ
APC
概要
PHPの中間コードをキャッシュする事で、実行速度の向上を図るPECL拡張モジュール
中間コードだけでなく、ユーザデータのキャッシュも可能で、ローカルのKVSとしても使用可能。
(デメリットとして、サーバ間で異なるデータをキャッシュしている時間帯が発生し、
アクセスするサーバによって、表示が異なるという事が起こりえる。)
設定
- extension = apc.so
apc.shm_size
個々の共有メモリセグメントの大きさ(MB)
apc.stat
- On: 実行時に毎回、ソースコードファイルの更新確認をする。更新有りの時は、新バージョンをキャッシュする。
- Off: 更新確認をしないので、パフォーマンスがあがる
etc..
備考
OPcache
概要
APCと同様。ただし、ユーザデータのキャッシュはサポートされていない。
PHP 5.5.0以降では、PHPにバンドルされている。
PHP 5.2, 5.3, 5.4には、PECLで提供されている。
- PHP Manual: http://www.php.net/manual/ja/book.opcache.php
- PECL: http://pecl.php.net/package/ZendOpcache
- Source Code: https://github.com/zendtech/ZendOptimizerPlus
設定
- zend_extension = /full/path/to/opcache.so
備考
推奨設定が、マニュアルに記載されているので、要確認。
ステータス確認ツール
APCのように、付属していないので
https://github.com/rlerdorf/opcache-status
参考資料
APCu
概要
OPcacheで提供されていないユーザデータキャッシュを提供するエクステンション
APCから中間コードキャッシュを取り除いたもの。
PHP5.5以降では、APCではなく、OPcache + APCu を使うことになりそう。
備考
設定や関数のインタフェースは、APCと変わらない
yac
APCのメンテナーの方が、開発しているユーザデータキャッシュを提供するエクステンション
また、「Experimental」との事。
HTTPヘッダ
X-Requested-With
X-Requested-With:XMLHttpRequest