Snidel 0.2 をリリースしました

Snidel バージョン 0.2 をリリースしました。
この記事は、
追加した3つの機能の紹介と、Snidel を使ってもらって嬉しかった!の話になります。

個人的に、(実際のアプリケーションで必要とされるかは別として)面白い試みをした機能もありますので興味を持っていただけると嬉しいです。

more »

on #php,

phpでバイナリ / テキストファイルの判定

拡張子での判定は、除外対象のメンテが必要になったりするので今回はボツです。

最良の方法か分かりませんが、ファイル内にnull文字が含まれる場合にバイナリファイルとして判定するようにしました。

more »

on #php,

ハイフンとアンダースコアの使い分け

ネーミングの時のハイフンとアンダースコアの使い分けが、自分の中で曖昧なところがあったのでメモ。

言語やフレームワークによって色々あるかもしれませんが、以下、Ruby(gem)の場合です。

Eric Hodel氏の推奨するネーミングルール

RubyGemsの作者、Eric Hodel氏は自身のブログで次のように推奨しています。

more »

PHPでTCPサーバー

PHPでTCPサーバーを書いてみました。

pcntl関数を使うには、phpソースをbuildする時に–enable-pcntlを付けないといけません。

more »

on #php,

Octopressで記事が作れない(zsh)

zshを使うようになってからOctopressで記事を作成するときにエラーが出るようになってしまった。

$ rake new_post[hoge]
zsh: no matches found: new_post[hoge]
more »

RubyでTemplate Methodパターン

Template Methodパターンは、アルゴリズムに多態性を持たせたい場合に有効。

Rubyは抽象メソッドをサポートしていないので、Reportクラスのoutput_lineメソッドでは例外を投げるようにしている。

more »