Tracでgit

git

Tracでgitですが、結局躓いていた原因は、trac.iniの設定不足だったようです。
とりあえず、tracでgitが使えることはわかりました♪

1つのプロジェクトに1つのtracで完結。
フォルダごとバックアップをとっておけばそれでOKな手軽さが素敵でまだまだ手放せそうにありません(笑)
(redmineも気にはなってるんですけどね(><)

[components]
tracext.git.* = enabled
...(略)

[git]
cached_repository = true
git_bin = /usr/local/bin/git
persistent_cache = true
shortrev_len = 7

[trac]
...(略)...
repository_dir = /home/apache/git/nekoget/.git/
repository_type = git
...(略)

■躓いた後、うまくいった原因かもしれない事柄は次の2点
(もうすこしきちんとメモをとりつつ、取り組めばよかったなと反省)

サーバ上のgitは1.6.4から1.6.3にダウングレード
(checkinstallでrpmを作成し、インストール)

レポジトリのディレクトリを最初/home/apache/git/nekoget/に作ったのだけれども、うまくいかないので/home/apache/git/nekoget/.git/に変更。

■環境(?)

TRACはTrac 0.11.2.1.ja1
インタアクト株式会社 様が配布くださっている日本語版TRAC

gitは1.6.3
checkinstallでrpmを作成し、インストール

OS:Fedora 8

Python 2.5.1

git21.gif
rootでコミットを試しちゃったのがばれちゃう恥ずかしい画像(笑)

[メモ]CodeIgniterでHMVC

CodeIgniterCodeIgniter 1.7.1にHMVCを組み込みたいと思います。参考にさせていただいたサイトはhttp://d.hatena.ne.jp/dix3/20090828です。

Modular Extensions – HMVC
・(Google翻訳はこちら)

File:modular extensions 5217.zipをダウンロード後、application以下に設置ししました。 modules/welcomeを作成し、元々の1.7.1に梱包されていたコントローラ、とViewをコピーし保存。もともとのファイルを削除しました。 正常に動いているかどうかを確認するため、modules/welcome/views/welcome_message.phpを改変し表示確認。modules以下が参照されていることを確認しました。

welcome message

Controller.phpとModel.phpの内容を修正。
大文字小文字の問題は、CIUnitを組み込む際にもひっかかった所なのでサイトを参考にさせていただきつつ、改変。

TODO:
・CIUnitの組み込み
・絵文字・携帯機能の組み込み
 チェック中:http://sns.usagi-project.org/?m=diary&a=page_detail&target_c_diary_id=12433
 チェック中:http://www.revulo.com/PHP/library/HTML_Emoji.html
 チェック中・・・

kunitsujiさんってやっぱりすごいなと、MyNETS2の絵文字周り,携帯周りを見つつ再確認。←今ココ
携帯対応を後回しにして、とりあえず主目的だったCIUnitの組み込み中
Unit_testクラスで試し中
↑Unit_testクラスでテストを書いてみて思ったこと。
テストはコントローラで書いて、コントローラ以外のテストをする・・・・が良さそう。
ここらへんの思想はどうなってるんだろうか?

◆testコントローラを作って、モジュールのテストにUnit_testクラスを使う
ランゲージファイルが原因でのエラーが発生
unit_test_lang.phpのファイルの最後を?>で閉じたところ、エラーは解消されました。

◆結局やってる事と言うと・・・
MyNETS2の成り立ちをトレースしてる感じです。
今まで意識になく、でも考えなきゃいけなかったことを目の前のコードと動きが問題提起してくれてる感じ。お手本もあり、なんて恵まれてるんだろうと感謝感謝

◆CIUnitはというと・・・
CIUnitのために必要なライブラリの読み込みに失敗。
原因はなんとなくわかったけれども、まだ未解決。

◆1.7.1のセッションをDBに保存の部分
ユーザガイドのように設定してみたけれど、DB接続エラーが出ちゃう(><)
上記は解決。config/database.phpをうっかり上書きしてしまい、データベースの設定が消えていたと言う恥ずかしい原因・・・・・

1.7.1のユーザマニュアルのデータベースのテーブル設定部分

$config['sess_table_name'] = 'ci_sessions";

‘ではじまって”で閉じてるwww あわててたんだろうな♪
癒されました(^-^)

CIUnitの私の使用状況と考えについて

CodeIgnigter

以前に作成した資料を拝見くださった方が、twitterにてフォローいただいたとのことなので、
現状手元にあるCIUnitがどのような状況なのか、書いてみたいと思います。

◆ネコネットデザイン事務所ホームページ
CodeIgniter 1.6.2に組み込み
modelを中心にテストを書いてみました。
運用サーバ上にテストをアップしないように、applicationフォルダ以下をSVN管理上のファイルとして扱い、
テストは自分だけに見える状態として扱ってます。

◆MyNETS2 にCIUnitを組み込み
リビジョン番号を控えわすれてますが、リポジトリからエクスポートさせていただいたのが2009年4月9日となっているので、かなり古いものです。確認しましたがその頃のファイルは残ってないようなので、現在レポジトリで公開されているものとは中身が違うようです。
設定ファイルの設定でCIUnitのON OFFを制御させています。
テストコードも複数人で共有できるようにSVN管理しています。
現在これをベースに組んでいたものは、途中でやる気を失ってしまい放置状態ですorz
この時点で発生した問題としては、セッション系の部分とモバイル、PCの判定部分を突破できず、コントローラのテストはできませんでした。モジュール、ヘルパー、ライブラリに関してはphpUnitは正常に動作し、テストが実行できる状況が作れています。
この2ヶ月ほどは、7月頭ぐらいにコミットされてるリビジョンのMyNETS2をいじっていますが、まだそれにはCIUnitは組み込んでいません。CIUnitとは違う方法でのphpUnitの利用を模索中です。

◆まだTDDにはたどり着いていないという事
去年のOSC、
そしてt-wadaさんの「TDDテスト駆動開発」を拝見してから、テストせねばということでテストをするということに取り組んでるわけですが、実際のところまだTDDの、「先にテストを書く」というところには、まだたどり着いていません。

コードを書く→ちゃんと動くかテストを書く→テストを動かしてみる。

私はついつい長々とコードを書いてしまうので、
処理を分割する→テストを動かす→うごいてる♪
な、動作の確認にもテストを動かして、確認をしている感じです。

CIUnitで書いているテストは、Modelに対して行っています。
少しずつですが、最近はhelperに対するテストを書き始めました。
不器用なので、まだテストという技術を身につけるには至っていないと思いますが、少しずつできるようになってきているのかなと感じています。

◆コントローラのテストに対する考え
MyNETS2に組み込んだCIUnitも素の状態の1.6.2に組み込んだCIUnitも、
現状Controllerのテストはやりにくい状態です。
この部分は、無理にUnitテストではなく、目視での確認
バッチでコントローラを走らせた後に、DBの値を検証をする、もしくはWebアプリケーション用のテストツールSelenium等を利用した、別の形で行うのが良いかと思っています。
model,helper,ライブラリ等で、何を投げて何が返ってくるのかにだけ注目し、他は行わないという割り切りがあっていいかなと思っています。

2009.09.10 追記

Fedora 11

PHP裏カンファレンス(笑)にて、コードを書く人はMacを使うべきかWindowsを使うべきかという話題になり、いやいや、むしろLinuxを使うべきだろうという月宮さんの意見が一番印象に残りました。そういえば最近全くデスクトップ環境使ってないな・・・・・

ということで、新しいのをインストールですw

Fedora11をPallalelsでMacbookProにインストール。
普段ノートに入ってて使ってるのはfedora7で、デスクトップ環境+開発環境として使っていました。(最近しばらく使ってなかったのですが・・・・MAMPで満足しちゃってた。)

Fedoraは、ファーストからずっと使っていて、
サポートが短すぎるとかいろいろ言われている訳だけれども、やっぱり好きなので使ってます。CentOS環境もpalallelsで作ってあるのだけど、デスクトップ環境はFedoraの方が好きです。見た目が好き♪
fedora11
この図はインストール途中のインストーラの画面。
インストーラから、フォントがとても綺麗です。

screenshot.png
インストール直後のデスクトップ画像。
まだ何の設定もしていませんが、フォントも綺麗で素敵です♪

*余談*
ParallelsでのFedoraのインストールは3だった頃に躓いた経験からインストール時のメモリ設定は256MBでインストールし、インストールが完了してから一度終了させメモリを増やして再起動しています。ひょっとしたら、そんなことはしなくても大丈夫なのかもしれませんが、そんな手順でインストールしています。

2009.09.09 追記
思いつきで、SKYPEをインストールしました。開発環境の仮想環境なので入らないといえば入らないんだけどもwww
SkypeがFedora10+というrpmがSkypeサイトにあり
これ、あっさりと11でインストールできました。

2009.09.10 追記
PDT2,1をインストール
subverisonとgitを使えるようにした。

phpカンファレンス2009 テックディ

今日はphpカンファレンス2009 テックディに行ってきます!

2009.09.07追記
sotarokさんとriafさんとの「新しくなったOpenpear 」
非常におもしろかったので、動画を貼り付けておきます。

1年を振り返ってみる
PHPカンファレンス2008から丁度1年。
去年のPHPカンファレンス終了後の焼肉屋さんにて、
フレームワークに対しての疑問とか不信感を払拭してくれた、柴田さんの言葉を糧に1年、フレームワークと向き合うことが出来ました。(結構失礼な質問もたくさんしちゃったように思います。本当にすみませんでした(><))

CakePHP1.1とCodeIgniterに対して、諦めずに取り組むことが出来ました。

まだまだしっかりと理解できたというところまでは辿りつけていませんが、
諦めずにこれたこの1年に感謝です。

今年のPHPカンファレンスでも、たくさんの方に出会え、またたくさんの話を直に聞くことができました。
大感謝。

来年のカンファレンスまで1年。頑張りたいと思います(^-^)