2013年1月18日金曜日

git bisectをつかって不具合が発生したリビジョン(コミット)を見つける

バージョン管理システムを導入する理由の一つとして、
動いていたバージョン動かなくなったバージョンの差分を取る事でバグを早期発見早期治療できるから」
というのがあります。
git bisectコマンドを利用する事で、動かなくなったバージョン簡単に特定することができます。

[git bisectコマンド使い方]
1.作業領域がクリーンな状態かチェック
$git status

  1.1.作業領域に何かしらの変更が加えられている場合は退避する
  $git stash

2.bisectを開始する
$git bisect start

3.HEADが動かなくなっているとgitに伝える
$git bisect bad

4.正常に動作しているリビジョンをgitに伝える
$git bisect good 23b95e2

5.実行すると次に動作確認すべきリビジョンが勝手にチェックアウトされます。

6.チェックアウトされたリビジョンの動作確認を行う。

  6.1.正常に動作しなかった場合はgitにその旨を伝える
  $git bisect bad

  6.2.正常に動作した場合はgitにその旨を伝える
  $git bisect good

7.最初に正常に動作しなかったリビジョンが見つかるまで「5.〜6.」を繰り返します。

8.最初に正常に動作しなかったリビジョンが見つかった場合は次のようなメッセージが出力されます。

f30d46efa8f53b7e1ff1e59c3bf854fcd85de40 is the first bad commit

9.bisectを終了する
$git bisect reset

10.作業領域を退避していた場合は復旧させる
$git stash pop




このエントリーをはてなブックマークに追加

2013年1月11日金曜日

Git初心者がGitを導入する為のおすすめリンク集


Git関連のリンク集をメモっとく

このエントリーをはてなブックマークに追加

2013年1月10日木曜日

fuelPHPをレンタルサーバーに配置する時に気をつけること俺メモ


fuelPHPをサーバーへ配置する際に結構はまったのでメモっとく

[前提条件]
  1. サーバーの仕様でindex.html、index.phpを配置するディレクトリは「/public_html/」ということにしておく(いわゆるドキュメントルート)
  2. fuelPHPのプロジェクトルートフォルダ名は「hoge」ということにしておく。

[気をつけること概要]
  1. ローカルbinへoilをインストールする。
  2. fuelPHPの配置場所
  3. ファイルのアクセス権を変更する。
  4. hoge/public/index.phpにアクセスされるように.htaccessを編集する。

[気をつけること詳細]
1.ローカルbinへoilをインストールする。
 1.1.bin/へ移動
  $cd bin

 1.2.oilをダウンロード
    $curl get.fuelphp.com/oil > oil

 1.3.oilを修正
    bashパス変更
      sudo削除
      prefix変更

 1.4.oilに実行権限を付与
  $chmod x oil

 1.5.bin/にbashファイルを作成する
  $touch bash
  $chmod 655 bash

 1.6.oilコマンド実行
  $sh ./oil

 1.7.oilを修正
  bashパス変更


 参考文献:ローカルにoilをインストールする

2.fuelPHPの配置場所
 /public_html/直下にhogeを配置します。
  例1)
  $cd public_html/
  $oil create hoge

  例2)
  $cd public_html/
  $git clone https://hoge@bitbucket.org/hoge/hoge.git

3.ファイルのアクセス権を変更する。
 「/hoge/public/index.php」のようなフォルダ構成の場合、
 hoge、publicは
   $chmod 755 hoge/
   $chmod 755 public/
 とコマンドを実行してアクセス権を変える。
 index.phpは
   $chmod 644 index.php
 とコマンドを実行してアクセス権を変える。

4./public/index.phpが読み込まれるように.htaccessを編集する。
 /public_html/直下に.htaccessという名前のフォルダを作って編集する。
 参考文献:.htaccesの編集内容

※さくらのレンタルサーバーでhoge/public/.htaccessにもRewriteBase /hoge/publicを記述しないと404エラーが発生してしまうという現象がありました。
このエントリーをはてなブックマークに追加

2013年1月6日日曜日

fuelPHPで環境を切り替える


app/config配下に「development」、「production」、「test」等の環境設定フォルダがありますが環境を切り替えるには
app/bootstrap.php
を編集する必要があります。





.htaccessで指定する方法もあります(ApacheのsuEXECが有効になっていたらこの方法は使用できないようです)。 

SetEnv FUEL_ENV production


このエントリーをはてなブックマークに追加

2012年12月30日日曜日

fuelPHPのOrm Modelのdeleteを論理削除に変える(リレーションにも対応してるよ)

fuelPHPのOrmパッケージは非常に便利なのですが、deleteがレコードの物理削除なので論理削除に挑戦してみました。
※fuelPHP1.5で論理削除がサポートされますた。ここを見てね。


[前提条件]
  1. テーブルのカラムに「deleted」という論理削除用のカラムを設ける
[実装概要]
  1. 「Model_User extends Model_Base extends \Orm\Model」のように3層構造の継承関係にする。
  2. Model_Baseにてdelete($cascade = null, $use_transaction = false){}をオーバーライドして論理削除を実装する
  3. Model_Baseにてfind($id = null, array $options = array()){}をオーバーライドして「where deleted = 0」を付加する
  4. Model_Baseにてcount(array $options = array()){}をオーバーライドして「where deleted = 0」を付加する

[ソースコード]
array型の$cascadeは対応していません

このエントリーをはてなブックマークに追加

2012年12月21日金曜日

Could not launch No such file or directory

xcodeで
「Could not launch No such file or directory 。。。」
ってエラーが出てアプリが起動しなくなってしまった時に行ったこと。

  1. xcodeの再起動
  2. アプリ削除
  3. クリーンビルド


このエントリーをはてなブックマークに追加

2012年12月11日火曜日

fuelPHPのエラー「The session data stored by the application in the cookie exceeds 4Kb.」を解消する

セッションデータのサイズが4kバイトを超えると「The session data stored by the application in the cookie exceeds 4Kb.」というエラーがでるようです。
これはセッションの保存先を変更すれば解決できます。

[手順]

1.「fuel/core/config/session.php」を「fuel/app/config/」にコピーする。
2.「session.php」のdriverの設定をdbに変更する 3.oilコマンドでセッション保存用テーブルを作成する。
$cd fuelPHPのルートフォルダ
$oil r session:create

このエントリーをはてなブックマークに追加