アジャイル,Trac,オープンソースなどの話。認定スクラムマスター。Twitterは@ryuzee

ということで平均は5時6分。先月よりも前倒し出来た。そろそろ冬で、朝5時なんか真っ暗だけど継続する。
前回のエントリで書いたとおり、mojavi2をPHP5で動作させるプロジェクトが海外にあったみたい(今はもうない)で、入手できたアーカイブが最新でないかもしれないので、作者の人に以下のように問い合わせしてみた。
Hello.
I am Ryuzee, programmer in Japan.
I have been developed an application with PHP4 and mojavi2.
And now I have to migrate this application to new environment with PHP5.I think the best solution is to rewrite the application with mojavi3 or mojavi4,
but the application is too big to migrate.I’ve looked for the way how to work with mojavi2 on PHP5, and I’ve found your website (at web.archive.org).
I can download yuma-snapshot-2005.4.26, but I think this version is not a latest release.
($user->setAttribute and others are not working correctly)So, can you send me a latest-version of Yuma ?
Thank you for your reading my email.
Best regards.
なんて出鱈目英語で送ったら、即効レスポンスが来たよ。回答は、
ちゅうことだった。残念っ。がんばるしかないか。
アジャイル開発方法論はプロセスとプリンシプル、そしてツールから構成されますが、もっとも大事なことは、それらがうまく働くかどうかは結局のところ人にかかっているということです。それゆえ、アジャイルな組織では誠実さが成功の鍵となります。
アジャイルは人々に対して誠実であることを強制することはできませんが、今まで隠れていた組織の不透明さによる悪影響を目に見えるかたちで明らかにします。そしてその不透明さを正すために、それに向き合い、挑戦することを人々に余儀なくさせます。
そのとおり。と何回いっても言い足りない。
俺が知っている限り、成功するプロジェクトに共通するのは、徹底的な管理なんかではなく、プロジェクトリーダーや現場のメンバーが誠実で、客のことを第一に考えているということだ。
もちろん成功というためには利益は出さなきゃいけない。でも金金いってる場合ほどダメだな。
あとはね、現場から退いていく年齢になるにしたがって、顧客の論理ではなくて、自分たちの論理で物事を決める傾向にあるよね。一体誰のおかげで給料貰えるのか、分かっているのだろうか、と思いたくなる。若手に聞くと、「自分の会社からですか?」みたいに返ってきて、そこで、「お客さんのおかげでしょ~」なんて言って教育するわけだが、自社内の政治ばっかり好きな人(何も生まないよ)にも聞いてみたいもんです。
ずっと日本語版が欲しかったGoogle Trendsだが、日本語版が公開された。
http://www.google.co.jp/trends
今までは日本語キーワードでは検索出来なかったはずだが、今度は以下のようなことが出来る。
これを見ると、数の大小はあれど、トヨタ、日産、ホンダは、同じような線をたどっているのが分かる。
いつもいつも嵌っているのだが、今回もまた難題。
PHP4+mojavi2で動いているアプリなんだけど、さすがにPHP4の保守も切れたので、PHP5に変えないといけない。
んで、mojavi2なんだけど、古いフレームワークということもあって、PHP4までしか対応しておらず、選択肢としては、
という二つの選択肢から選ぶことになる。
どっちが良いのか一瞬悩んだのだが、mojavi3以降にすると、アプリ本体に手を入れる箇所が多くて面倒そう(context対応)なので、無理やりmojavi2をPHP5対応させる方式を選択した。
いやー、イバラの道っぽいよ・・・。
とりあえず、PHP4とPHP5の違いとして、参照渡しがあるので、関数に&がついているやつを片っ端から外せばなんとかなるような、ということで色々やっているが、Smartyとの連携あたりがイマイチうまくいかない。
海外で同じことをやった人がいるみたいなのだが、もうサイト自体もなくなっており、いまはこちらから参照可能。ここから入手したやつをxamppで試したところとりあえず動作した。
ちゅうことでまだまだ続く予感。
とりあえず昨日書いた要件に合いそうなテンプレートを見つけたので、適用してみた。
細かいところはこれから調整するとして、気になった点を書いておく。
また戻すかもしんないけど。
いまのサイトのデザインはもう3年くらいたったような気がするので、何か他の奴に変えようかと。
当然フリーな奴を探してくるのだが、ちょっと条件を書いてみる。
さぁ、探すか。
この間実家に行った際に、自分が中学生の頃に嵌ったNゲージが残っていたので、家に持って帰ってきた。
動かしていたのが、中学2年くらいまでだから、実に21年ぶりの開封。
動くかどうかわからんかったのだが、ほとんど問題なく動いて感動。息子も大喜びしてた。
車両は当時の趣味なのか、気動車関連ばっかり。どうしていつも派手なのは避けて地味なのにいくかな?
その他思いついたこと。
とりあえず既存のソースをPHP_CodeSnifferでチェックして、エラーになった箇所を修正してみようとしたが、業務用アプリだと実情にそぐわないなぁ、というのがよくわかった。
これをベースにオリジナルなものを作らないといけない。
ということでタスクが増えた・・・。
過去の経緯など
⇒phpCodeSnifferをSubversionのpre-commit-hookで利用する方法(失敗)
⇒pre-commitフックの続き
前回ちょっと調べたところ、svn catの引数に新規追加したフォルダまで渡してしまったことが原因でエラーになっていた。ということで、単純に、svn catに渡す前に.php以外の拡張子は全部スキップしてしまう処理を追加すれば良いことになる。
対象モジュールは、/usr/bin/scripts/phpcs-svn-pre-commitで、修正箇所は以下の通り。
134行目
// Get the contents of each file, as it would be after this transaction.
$command = PHP_CODESNIFFER_SVNLOOK.' cat '.implode(' ', $values['svnArgs']).' '.$path;
となっているところを
// Skip if extention is not .php
if(strpos($path, '.php') === false) {
continue;
}
// Get the contents of each file, as it would be after this transaction.
$command = PHP_CODESNIFFER_SVNLOOK.' cat '.implode(' ', $values['svnArgs']).' '.$path;
な感じにすれば良い。どうもうちの環境だけかもしれないのだが、垂直タブ(v)では行分離が出来ないようなので改行(n)に変更。んで、.phpという文字がないと、後続の処理をしないようになっている。
ちなみに、フォルダ名に.phpとかつけられると動かないけど、まぁいいだろ。
日記 PHP オープンソース インストールマニアックス IIS Trac MySQL Perl Linux Agile・生産性向上 wordpress フリーソフト 自宅サーバ 書評 ブックマーク phpMyFaq TraM Plugin 早起き Delphi apache CakePHP Firefox Ruby eclipse セキュリティ プラグイン アジャイル mojavi Subversion Ajax/Web2.0 SQLServer Zope サーバ フレームワーク phpBB 仮想化 PostgreSQL OpenVZ scuttle CMS 文字化け 自宅 翻訳・日本語化 ApacheDS LDAP Excel 生産性向上 CodeIgniter XAMPP hacks taskfreak 修正 言語ファイル Ajax SBM ダウンロード HTML::FillInForm mod_security 情報共有