2013年1月30日水曜日

UIWebViewおよびUIImageでDocuments配下の画像を読み込む

UIWebViewやUIImageViewでDocumentsフォルダ配下の画像ファイルを指定するには
次のように実装します。

ちなみに

NSString *directory = [NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES) lastObject];
では取得出来ませんでした。


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

2013年1月27日日曜日

fuelPHPのタスクを実装する際の注意点

fuelPHPのタスクを実装していて「うごかねーっ」てハマった事が一つだけあります。
例えばモデルクラスを使ってDBからセレクトしたいとき


\Model_Hoge::find($id);


なんかPHPのことあんまし詳しくないけど先頭に\をつけたら動いたーっ


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

fuelPHPのタスクをcronから実行する俺メモ

レンタルサーバーにfuelPHPを配置してタスクをcronから起動してみた時のメモ

[前提条件]

  1. cronサービスが起動されていること
  2. fuelPHPのルートフォルダは~/public_html/hogeとする

[手順概要]

  1. cronでhello
  2. fuelPHPのtasksにあるrobotsを起動してみる

[手順詳細]

1.cronでhello

 1.1.cron用のファイルを作成してviで開く
 $cd ~/
 $vi cron.txt
 ※ファイル名は何でもかまいません

 1.2.コマンドを記述して保存終了

 1.3.cron設定
 $crontab cron.txt

 1.4.「1分毎」にlog.txtにhelloが追加されている事を確認する。

2.fuelPHPのtasksにあるrobotsを起動してみる

2.1.cron.txtを編集する
※環境によってはphp-cliでは動かない場合があるようです。(php-cliのかわりにphpと書くなど)

 2.2.cron再設定
 $crontab cron.txt

 2.3.「1分毎」にlog.txtにrobotsが追加されている事を確認する。


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

2013年1月25日金曜日

xcodeのストーリーボード(storyboard)で初期値設定を独自に追加する

ストーリーボードのattributes inspectorに表示されないプロパティやUIViewを継承して追加した独自のプロパティ等をストーリーボードから初期値設定したい場合は
identity inspectorUser Defined Runtime Attributes
に追加することで設定出来ます。
例)UIViewのexclusiveTouchを初期値YESに設定する


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

2013年1月19日土曜日

gitでブランチをマージした時にコンフリクトを起こしてしまったら

バージョン管理システムを使っているといつか出会う中ボス的な存在がコンフリクトです。
gitでマージした時にコンフリクトが起きた場合は次の手順で対処できます。

  1. お・ち・つ・け・!
  2. コンフリクトを手動でマージします。(マージ元、マージ先、どちらかを採用するコマンドもあります。)
  3. 「$git add .」コマンド等でマージしたファイルをステージングします。
  4. 全てのコンフリクトが解決したらgit statusコマンドの表示がAll conflicts fixed but you are still merging.に変わります。
  5. 「$git commit」コマンドでコミットします。
  6. コンフリクトが頻繁に起きてしまう場合、開発運用に問題がある可能性が高いので見直してみましょう


おまけ1

手動マージ中に「やっぱやんぴ、マージを最初からやり直したい!」となった場合は次のコマンドを使います。
[ファイル指定]
$git checkout --merge hoge.txt

[カレントディレクリ配下すべて]
$git checkout --merge .

おまけ2

マージ元、マージ先、の一方を採用するにはマージ中にcheckoutコマンドを使用します。
例)topicというブランチをmasterへマージした場合
1.masterの内容を採用する場合
$git checkout --ours ファイル名

2.topicの内容を採用する場合
$git checkout --theirs ファイル名

おまけ3

$git pullでコンフリクトが起きてしまった場合
例えば
$git pull master origin/master

$git fetch origin/master
$git merge origin/master
をまとめて実行しているだけなのです。
つまり、本記事のブランチマージでコンフリクトが起きた場合の対処と同様の方法で解決できるはずです。

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

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


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