こんにちは

本日は、PHPMatsuri2013 で作った compsoer-proxy.jp
について、説明したいと思います。

http://composer-proxy.jp

解説Slide

Github
https://github.com/kawahara/composer-proxy

composer-proxy.jp は、リクエストされたパッケージ情報 (*.json) を
キャッシュしていく、プロキシサーバです。
見ての通り、アプリは大変シンプルなものになります。

サーバの中では、1時間に1回、利用頻度の高そうなもの
(Symfony Standard, Silex, Behat 周り) を、定期的にキャッシュするようにしています。
したがって、上記のプロジェクトに関しては、そこそこ快適にファイルの取得が
できる。はずです。

とは言え、まだ課題はあります。遅い原因のもう一つが、パッケージそのものの取得です。
satis では、パッケージを
キャッシュする機能があるため更に高速に動きます。(Github から zip ファイルを先に取得しローカルに配置)

そこで、この機能を composer-proxy にも実装する予定でおります。
さくらのクラウドのストレージをいっぱい使いそうな機能ですが、なんとかなるはずw
問題は、パッケージ情報ファイルのハッシュ値が変わってしまうため、そこを変換して
なんとかする機能が必要そうです。

また、ダウンロード数の通知や、検索機能などは実装しておりません。
めんどくさかったからです。

個人的には、ダウンロード通知なんかは、別に多少遅れてもいいので、
React で Queue System をつくって対処するつもりです。

そして、こちらの作品は、皆様のご支持をいただきまして、PHPMatsuri2013の
LT大会で3位に入賞出来ました。ありがとうございます!!
あとで「景品のネオジオXで遊ぶ」という記事を書く予定です!

Posted in PHP.

Leave a reply

<a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>