2012年7月31日火曜日

本番!


今日は昨日に引き続き、作成したプログラムを本番環境に対応させる作業を行いました。

昨日は詰まっていたものの、ようやく想定通りの動作をする様になりました!

今回の不具合の原因はfgetcsv()の引数で指定している一行の長さが小さすぎたことが原因でした。

時間がかかったけれど特定できてよかったです。

後は表示の変更なども一部あり、その対応も行いました。

動作確認も無事に進んでいて後は実際に使って不具合がないことを祈るばかりです。

新しいプロジェクトも動き出すのでより頑張って行こうと思います。

以上です。

ついに本番環境へ!

作っていたプログラムをついに本番環境へアップして動作確認を行いました。

何事もなく動作してくれっ!と思っていたもののやはり不具合はあるようで・・・

昨日はその修正をしようとするも原因が特定できませんでした。

今日はしっかり修正できるように頑張ろうと思います。

以上です。


2012年7月27日金曜日

testの大切さ。

今日も今日とてバグに苦しみました。

一度修正をして、直った!と思っても同じ項目を他の画面で実行したときにエラーが出ていました。

こういったミスはtestの甘さから来ているのかなと思います。
testをしっかり書き込んでいればtestを実行するだけで他の部分に影響がでていないかが一瞬でわかります。testの記述は手間のかかる作業ではあるけれど、書いておけば後々のミスがかなり減らせるのではないかと思いました。

今回、同じ部分に対して何度も修正をすることになり、testの大切さを痛感しました。




また、今回の作業でもっと別の方法があったのではないか?と思う部分があります。
それはバリデーションのエラーメッセージについてです。

一つのバリデーションに対して新規登録の時とインポートの時でメッセージを変えたいことがあり、その方法が何とも面倒な感じになってしまいました。。。

採用したやり方はもう一つバリデーションを書いて変数名を$validate_〇〇みたいにして使用するバリデーションをコントローラーで制御するものです。


使用するバリデーションを変える時はコントローラーで

$this->モデル名->validate = $this->モデル名->validate_〇〇;
と記述すれば変わります。

求める動作はできたものコード量がかなり増えてあんまりよくないと感じています。

スマートな方法があれば教えてください!お願いします。

以上です。











2012年7月26日木曜日

バグ修正。

ここ数日ブログを書くのをすっかり忘れていました。
注意せねば。。。

今日は項目書の修正とプログラムの修正を行いました。

バグがなかなか解消出来ず、思っていた以上に時間を使ってしまいました。

時間を使った分、bedoreValidate()など、今まで使ってこなかったものを使ったりもしたので知識は増えたのではないかと思います。

以上です。






2012年7月20日金曜日

暑かったり 寒かったり

気温の変化が激しすぎて今日は少し風邪気味でした。。。

試験項目書は一度提出したときに大量の追加、修正を抱えて帰ってきました。

実際に自分が書いていたことはバリデーションのことばっかりだったので抜けている項目は多かったです。

レイアウトとか動作が成功した後の確認とか。


今後はこのような項目も抜かさずに書けるように頑張りたいと思います。

来週からはいよいよ試験に入ります。

たくさん項目があるのでさくさく行けるように頑張ります。

以上です。



2012年7月19日木曜日

暑いですねー

最近暑いとしか言っていない気がします。
室内と室外の温度差がすごいので体調管理には気をつけたいと思います。

今日から本格的に検証項目書を書き始めました!

単純な作業なので飽きがくることもあるけど、この作業の途中で問題が見つかったりしているのでしっかり隅々まで検証したいと思います。

以上です。



2012年7月18日水曜日

デザイン終わり!

ようやく作成していたプログラムのデザインの適応が終わりました。

これからは試験項目を列挙していきます。

思いつく限りあげていくとかなりの項目数になりそうです。

単調な作業ですが、大事な作業なので頑張りたいと思います。

以上です。

2012年7月13日金曜日

デザイン中です。

今日は一日中管理ツールのデザインを行っていました。

適応するだけだしさくさく進むかなと思っていたけど全然進まないです。。。

細かい部分を修正したり、レイアウトが崩れたりと問題が結構おきて大変です。

ビューもデザイン用にかなり書き直しました。


難しいけれど自分が作ったプログラムにデザインが組み込まれると楽しくなってきます!


デザインにはtwitter bootstrapを使っていますが、僕みたいにデザインが超苦手な人でもある程度のものが作れるので便利です。

来週もデザインを引き続き行って、検証に入れるように頑張ります。

以上です。



2012年7月9日月曜日

トランザクションが効かない。


今日はインポート機能にバリデーションやトランザクションを加えました、

早速トランザクションでハマりました。


何度試してもトランザクションがかからない。。。
特にエラーが出ていなかったので構文エラーではないし、関数も呼び出せているはず。
そこで、見ていた情報がcake1.3のものだったので、cakeのバージョンの違いによるものだと推測し、
ひたすら調べていました。

しかしながらいつまでたっても答えは見つからず。。。

先輩に訪ねてみた所、エンジンがMyISAMになっていないか?と言われ確認してみると、確かにMyISAMになっていました。
なんとMyISAMはトランザクションをサポートしていないようで、
トランザクションを使う場合にはInnoDBにしなければならないとのことです。
InnoDBにエンジンを変えた所、トランザクションが無事に効くようになりました。


悔しかったのでMyISAMとInnoDBの違いについて調べてみました。

MyISAMの利点と問題点

利点…シンプル、高速に動作、フルテキスト検索に対応
欠点…トランザクションや外部キー制約をサポートしない、クラッシュ時に使えなくなる、テーブルレベルでロックをかけるという点でロックの粒度が荒い

InnoDBの利点と問題点

利点…トランザクションをサポート、外部キー制約が装備されている、クラッシュ時のリカバリに対応、列レベルでロックを実施
欠点…フルテキスト検索ができない、パフォーマンスが悪い


このような違いがあるらしいです。
今後はハマることなく、使い分けが出来るようにしたいと思います。

以上です。

2012年7月6日金曜日

そろそろ梅雨明けですねー

もう明けてるのかな?
最近暖かくなって来ましたね。
だた、朝の電車が冷房強すぎて寒いです。。。


今日は登録画面と修正画面とcsvインポート機能を作成しました。
テストもガシガシ書きました!
そろそろ慣れてきて、開発スピードが上がってきた気がします。


昨日はブログ書き忘れてすいません(汗
この記事を書くときになってようやく気がつきました。
忘れないように気をつけます。。。

以上です。


2012年7月4日水曜日

バリデーションにハマる。。。

今日は削除画面と新規登録画面を作成しました。

削除画面はテストまで順調にすすんだものの、新規登録のバリデーションでつまずきました。

オリジナルの関数を作り、バリデーションをかけようと思ったものの、その関数になかなか入らず、原因も特定できませんでした。


原因はallowEmptyがfalseになっていたことでした。
動作確認の際に何も入力せずに動作確認をしていたため、allowEmptyに引っかかり、関数に入らずに処理が終わっていました。。。


動作確認の方法にも気をつけないとなぁとつくづく思いました。

以上です。

2012年7月3日火曜日

テスト。



今日もTestを書きました。

だいぶ慣れてきたので昨日より早く書けました!

自分ではほとんどのTestパターンを網羅したつもりでも抜けがあったのでしっかり書きたいと思います。

明日からは登録、修正、削除など別の機能の作成に取りかかりたいと思います。

以上です。

2012年7月2日月曜日

もう7月ですねー


今年は雨が少ない気がしますね。
野池の水が減水しないか心配です。


この3ヶ月は本当に早く感じました。
毎日新しいことに取り組んでいるからなのかとても充実しているように思います。


今日はcakephpのTestを書きました。

理論も書き方も完全に理解している訳ではなかったので開始に時間がかかりました。。。
書き始めてからもかなりのエラーに遭遇しました。

その中でもデータは取れているにも関わらず、配列の構成を考えていなかったのは盲点でした。

出力すればすぐわかるのに出力の仕方を探すのも地味に時間を取られました。。。

ただ、こういったことは今回限りにするのでこれからはガシガシTestを書けると思います。

以上です。