気になるプロダクトなど

ChiliProject
Redmineから派生したやつ。アップデートが早そう?

CandyCane
RedminePHP移植。設置が簡単なのが魅力。REST API対応したらいろいろ夢が広がりそう。

Pivotal Tracker
タスク管理するやつ?iPhoneとかにも対応してるらしい。

Amon2
PerlのWEBアプリケーションフレームワーク。なんとなくとっつきやすそうな雰囲気。

enchant.js
JavaScriptのゲームライブラリ。ライトなゲーム作成ならネイティブアプリでやるより効率よさそう。

fluent
イベントログ収集ツール。ソーシャルゲームとかでユーザーの行動ログとるのにいいかも。

WebSocket
なにやらいろいろ夢が広がるらしいけど、あまりよくわかってない。

PhpStorm
PHPのIDE。いいらしい。

Travis CI
githubのリポジトリでCIしてくれる。

Sismo
シンプルなCIサーバ。


なんとなく「Redmineの次」というのがそろそろ来るのかなーとか思ったりしますが、どうなんでしょう。
そのへんの話を今度のRxTstudyで聴けるのかな。
個人的には手元に簡単に設置できるようなタスク管理ツールがほしくて、その点でCandyCaneには期待しています。

5.2でprivateとかprotectedなプロパティを取得する方法

5.3ならReflectionProperty::setAccessible()でいけるけど、5.2では定義されてない。

PHP Manualの下のコメントに解決方法がかいてあったので、参考にしてやってみた。
http://jp2.php.net/manual/ja/reflectionproperty.setaccessible.php#98383

対象のクラスを継承した、非公開プロパティへのアクセサを持った子クラスを生成する方法。
でもこれだと子クラスのインスタンスを毎回生成するので、対象の内部状態が変わってた場合うまく取れないと思う。

どうしようかと思ってたら、その上のコメントで「arrayにキャストしたらいいよ」みたいなこと書いてあった。
http://jp2.php.net/manual/ja/reflectionproperty.setaccessible.php#100441

こちらの記事を参考にやってみた。
http://d.hatena.ne.jp/shimooka/20090608/1244428241

いいんじゃないかと。

HomebrewでPHP 5.3.8をインストール

HomebrewでMacにPHP 5.3.8をインストールした。
このまえとちょっと手順が違っているので改めてメモ。

https://github.com/adamv/homebrew-altで本家Homebrewには含まれていないソフトのFomulaが公開されてて、PHPもある。

まずオプションの確認。

$ brew options https://raw.github.com/adamv/homebrew-alt/master/duplicates/php.rb
######################################################################## 100.0%
php
--with-mysql
        Include MySQL support
--with-pgsql
        Include PostgreSQL support
--with-mssql
        Include MSSQL-DB support
--with-fpm
        Enable building of the fpm SAPI executable (implies --without-apache)
--without-apache
        Build without shared Apache 2.0 Handler module
--with-intl
        Include internationalization support
--without-readline
        Build without readline support

続いてインストール。

$ brew install https://raw.github.com/adamv/homebrew-alt/master/duplicates/php.rb --with-mysql --with-pgsql --with-intl

CLIのPHPを切り替え。
~/.zshenv

export PATH=/usr/local/Cellar/php/5.3.8/bin:$PATH

ApachePHPも切り替え。

#LoadModule php5_module        libexec/apache2/libphp5.so
LoadModule php5_module        /usr/local/Cellar/php/5.3.8/libexec/apache2/libphp5.so
$ sudo apachectl restart

出来上がり。
PEARのパッケージとかはまた入れなおしみたい。

emo-framework日記 #2

emo-framework用のプロジェクトをXcodeで作ってみる。

プロジェクト作成

Xcodeの新規プロジェクト作成画面で、emo-frameworkの「An Application」という雛形があるのでそれを選ぶ。

次にプロジェクトの情報を入力する画面になるので、以下のようにした。

Product Name
hello-emo
Company Identifier
jp.ne.sakura.okonomi

最後に、プロジェクトを保存するディレクトリを聞かれるので、今回は ~/work/emo を指定。
そしたらXcodeのプロジェクトができた。
そのままビルドして実行したら、タッチした座標がデバッグログにてろてろ出力されるアプリができた。とりあえず動いてるみたい。

明日はSquirrelのコードをいじってみよう。

emo-framework日記 #1

iOS/Android両対応で2D特化のフレームワークを探してて、ニーズにぴったりだったので試してみることにした。

Squirrelでプログラムを記述するのが珍しい感じ。

検証項目としては

  • メモリ使用量とか
    • リソース管理の方法
  • 動作速度とか
  • テストの書き方どうやるのか
  • アプリ内課金できるのか

というところ。

インストール

サイトからアーカイブを落としてきて、適当なところに解凍。今回は ~/local/lib に置いてみた。

$ ls -l ~/local/lib
total 0
drwxr-xr-x@ 12 okonomi  staff  408  8 11 08:56 emo-framework-0.1.3-source

まずはXcode用を、インストールガイドに従ってインストール。

$ cd ~/local/lib/emo-framework-0.1.3-source
$ ./install-templates-Xcode4.sh
emo-framework template installer for Xcode 4
...creating emo-framework template directory

Installing emo-framework template
...creating destination directory: /Users/okonomi/Library/Developer/Xcode/Templates/emo-framework/libemo.xctemplate/
...copying template files
...copying runtime scripts
...copying framework files
...copying box2d files
...copying squirrel files
...copying libpng files
done!

Xcodeを起動して、File > New > New Project で新規プロジェクト作成画面を出すと「emo-framework」という選択肢が増えてる。

今日はここまで。

HomebrewでPHP5.3.6をインストールする

Formulaとあわせて手順を公開されてる記事があったのでそちらを参考に。

Formulaを落としてきて所定のディレクトリに配置。

$ curl -O https://github.com/ampt/homebrew/raw/php/Library/Formula/php.rb
$ mv php.rb `brew --prefix`/Library/Formula

インストールオプションを確認したり。

$ brew options php
php
--with-mysql
        Include MySQL support
--with-pgsql
        Include PostgreSQL support
--with-mssql
        Include MSSQL-DB support
--with-fpm
        Enable building of the fpm SAPI executable
--with-apache
        Build shared Apache 2.0 Handler module
--with-intl
        Include intl extension
--with-readline
        Include readline extension

今回はmysql,pgsql,apache,intlをチョイス。

brew install php --with-mysql --with-pgsql --with-apache --with-intl

intlはSymfony2で遊ぶのに必要。pgsqlつけたらPostgreSQL本体もインストールされた。
ビルドが終わるまで待つ…インストールおわり。

次はパスを通したりの作業。MacにはもともとPHPが入っていて(Xcodeと一緒に入るんだっけ?)そっちが優先されるので、切り替えていく。

まずはCLIのPHPを切り替える。zsh使ってるので~/.zshenvに追記。

echo 'export PATH='`brew --prefix php`'/bin:$PATH' >> ~/.zshenv

次はApachePHP。/etc/apache2/httpd.confを編集。

#LoadModule php5_module        libexec/apache2/libphp5.so
LoadModule php5_module        /usr/local/Cellar/php/5.3.6/libexec/apache2/libphp5.so
$ sudo apachectl restart

これで終わり。