2012年6月29日金曜日

ページング


今日はページネーションの修正とその他細部の修正を行いました。

ページネーションはページネーションに使う条件をまとめてsessionで持ち回す形で実装しました。
これにより、ページを切り替えた時も全件表示にならなくなりました。

また初期値を入れたり、ページネーションの条件部分をモデルに移動させるなどの修正を行いました。


最初は別言語だと感じるぐらいだったフレームワークもだいぶなれてきました。

いままで長々と書いていた部分が簡潔に書けるのでコードが見やすくなった気がします。

来週はtestを書いて正しい動作が出来ているかのチェックをして行きたいと思います。

以上です。

2012年6月28日木曜日

ヒューマンエラー。。。

今日は引き続き検索機能を実装しました。

打ち間違いなどの細かいミスにかなり時間をとられました。

フレームワークって融通がきかないと思っていたけど実はしっかり設定すれば自分にやりたいように出来ることもたくさんあることがわかりました。

ヘルパーの見方も少しずつわかってきた気がします。

以上です。

2012年6月27日水曜日

ようやく作業が進んできました!


今日は一覧表示に検索機能を付ける作業を行いました。

検索条件が入力されていないと検索することが出来なかったり、検索後に次のページに行こうとすると全件表示に戻ってしまうなど、まだまだ直す所がたくさんあるものの、ベースは出来上がったと思います

少しずつフレームワークの便利さがわかってきた気がします。

最初は書き方も動作もよくわかっていなかったけどようやく書いてあることの意味が理解できるようになってきました。

まだプログラムを打つのにかなりの時間がかかってしまっているので時間を短縮できるように頑張りたいと思います。

以上です。

2012年6月26日火曜日

hasMany?belongsTo?


今日は一覧表示画面を作成しました。

基本となるデータはbakeした時点で表示を行ってくれるので問題ないのですが、
table同士の関連付けがなかなかうまくいきませんでした。

主な原因はhasManyとbelongsToを使い分けられていないことでした。

データとカテゴリの関係性がデータにカテゴリが属していると思い込んで関連付けをしていたため、
うまく関連付けが行われず、正しいデータを取得することが出来ませんでした。

仮にデータ=ユーザー、カテゴリ=部署で考えるとユーザーに部署が属しているとなるのでおかしいことに気がつきます。
部署にユーザーが属している。が正しいですね。
なのでこの場合は「ユーザーbelongsTo部署」となります。


この部分でだいぶ混乱してしまい、時間をかけてしまいました。。。
しかしこれで理解できたと思うので次からはスムーズに関連付けが出来ると思います。

以上です。

2012年6月25日月曜日

仕様に苦戦・・・

今日はcakephpを使ってログイン画面と一覧表示を作成しました。

ログイン画面はcakephpのAuthcomponentを使って作成しました。

自分の思っている挙動になかなかならず、かなりの時間をかけてしまいました。

原因は自分がAuthcomponentの仕様を知らないことでした。

ログイン成功時に設定した所にリダイレクトされると思い込んでいたけど、実際はログイン画面が表示される前のページのリファラが残っていればそちらが優先されるようになっていました。
ずーと同じ所をぐるぐるしていた原因がこれで解決しました。

また、logout時になぜか指定したところにリダイレクトされないと思い込んでいた部分もりました。実際はリダイレクトしているもののlogoutして認証が切れているためにログイン画面に戻っていたということでした。


たったこれだけのことなのに気がつくのにものすごく時間をかけてしまった・・・


今はアソシエーションに苦戦中です(汗

期限内に終わるようにがんばります。

2012年6月22日金曜日

上手に焼けました〜♪


今日はモデル、ビュー、コントローラーを焼いたり、ログイン画面の作成をしました。

モデル、ビュー、コントローラーはbakeコマンドを使って作成しました。
コマンドラインで対話形式で作成するためわかりやすくスムーズに出来る!!

と思っていたけど英語の解読に時間がかかったり、エラーが混じっていたりでなかなか思ったように進みませんでした。

ひな形を作ってくれるのは楽で良いけれどまだ慣れていない自分はエラーが起きたときにどこでエラーが起きているのかがわかりません。。。

自分で全部作っていればある程度予想がつくのになぁと思ったりしてます。


早くフレームワーク慣れてこんなことを思わずに済むようになりたいです。

以上です。

2012年6月21日木曜日

地味に大変な環境作り。


今日は開発環境を作る作業をしました。

環境作りはすぐ終わるだろうと思いながらも毎回つまづいて時間がかかってしまいます。。。

こういう時は全てが同じ環境で作っている人がいればいいのになーと思ってしまいます(笑

とりあえず一通りの設定が終わってコードを書く所まで来ました!

問題がなければいよいよ明日から本格的に開発が始まります(たぶん。

期限内に終わり、且つ定時に上がれるように頑張りたいと思います!

以上です。

2012年6月20日水曜日

いよいよ業務に入ります!


今日はアプリの管理ツールを作成するための画面構成を作成しました。

必要な機能についてそれぞれどのような動作をするか考えながら作成しました。
この画面構成の時点でユーザーにとって使いやすいかどうかが決まり、完成のイメージがしっかり出来ていればプログラムの効率も上がってくると思います。

ですからこの画面構成でしっかりとイメージを固めて、そのイメージの通りにプログラムを組めるようにしたいと思います。

以上です。

2012年6月19日火曜日

台風来てます!

台風きてますねー。
無事に家にたどりつけるか不安です。。。


今日からフレームワークに入りました!!

うん。難しい。。。
同じphpのはずなのに全く違う言語じゃないかと思うほど難しいです。

今日はブログチュートリアルをやってみました。
言われるがままソースを書いただけなのでまだわかっていない部分がほとんどです。
ただ、使いこなせば間違いなく効率が上がるし便利に感じたので頑張ってマスターしたいと思います。


またついに今日から業務が始まりました!
ついに自分にもこの時が・・・!
今まで以上にがんばりたいと思います。


今日は台風なので早く帰ります。
以上です。

2012年6月18日月曜日

修正中。。。


今日はQ&Aのプログラムの修正を行いました。

前回テストの甘さや修正し忘れなどのミスを指摘されているのでその点について注意しながら進めました。

自分が考えられるエラーは出ないようにさせたつもりです。

大きな修正もあったため今日一日使って修正を行いました。

ビューの部分を出力のみにするのは思っていたより大変だった。。。


明日こそフレームワークに入るぞー!

以上です。

2012年6月15日金曜日

ケアレスミスが目立つ・・・


今日はQ&Aのプログラムのレビューとその修正を行いました。

今回は以前に作成したプログラムを修正して作成したため、修正しきれていない部分がありました。

特にディレクトリ構成が曖昧になっていました。。。

またコメントアウトの消し忘れや関数のコメントの修正漏れなどのケアレスミスが目立ちました。

さらに動作テストも甘く、エラーが出てしまう可能性を残したままでした。
動作チェックは自分が期待している入力ばかりを調査していたために漏れがありました。


今後は今日のレビューの反省をプログラムに反映させながら開発を進めていきます。

以上です。

2012年6月14日木曜日

今日もセキュリティ。


今日も引き続きセキュリティの課題を行いました。
今日はインクルード攻撃、パスディスクロージャ、コマンド実行攻撃について勉強しました。

インクルード攻撃はallow_url_includeがoffになっているため、リモートファイルインクルード攻撃は出来ないようになっていました。

パスディスクロージャはわざとエラーを起こさせることでフルパスなどを漏洩させるものです。
対策方法としてはエラーを画面に出力せず、ファイルにログとして残しておくことです。

コマンド実行攻撃はサーバ内の任意のコマンドを実行させることで攻撃を仕掛けることです。
対策方法はプログラムの実行関数の引数にリクエストからの値を利用しないようにすることです。


今日でセキュリティは一段落したので次からはフレームワークに入ります!

以上です。

2012年6月13日水曜日

攻撃側も難しい。。。


昨日は自転車の鍵をかけ忘れてあわてて帰りました。
とりあえず盗まれていなかったので良かったです!


今日はセキュリティについての勉強をしました。

実際に脆弱性のあるプログラムを組んで攻撃してみるとその危険性がよくわかります。

httpヘッダインジェクションはphpのバージョンが高いと改行コードのあるヘッダはエラーが出力されるため確認することが出来ませんでした。

個人的にはnullバイト攻撃がかなり危険だと感じました。セキュリティチェックをすり抜けるなんて。。。


実際攻撃する側になってみると何をしたらいいのかがいまいちつかめず、攻撃するスクリプトを考えるのも結構大変だと感じました。

明日も引き続きセキュリティについての勉強の続きをします。

以上です。

2012年6月12日火曜日

次からセキュリティ!


今日はに画像アップローダーのレビューを行いました。

やはり不要な引数や変更し忘れが目立ちました。
後はファイルのパスはiniに持つか定数にしておくと階層が変わった時に修正箇所が少なくなるので良いそうです。

その後はセキュリティの講義を受けました。
びっくりするほどいろいろな攻撃手段があって驚きました。

また実際にどのようにセキュリティの甘さを突くのかもわかりやすく教えて頂きました。

威力を目の当たりにするとしっかり対策しなければいけないと感じました。

今週は自分で攻撃出来るプログラムやスクリプトを組んでみてどのようなことがされてしまうのか、またその危険性について勉強していきます。

以上です。

2012年6月11日月曜日

修正中。



今日は入力フォームの修正を行いました。

細かい修正から関数を丸々書き直すほどの修正もありました。

また修正して行く中でバグも見つかりました(汗

画像をアップロードしないと他の情報まで登録されなくなっていました。。。

またフルパスで指定している部分があり環境がかわると動かない部分がありました。。。

今後は早く気がつけるようにします。

以上です。

2012年6月8日金曜日

JSが少しわかってきた!?



今日はQ&Aの一覧をテーブル組にしつつJSの勉強をしました。

ようやくJSが少しわかってきた気がします。

最初は.でつながっているのがなぜなのかわからずソースが全く読めませんでした。

今は理解しているのでいろいろな関数やイベントを覚えて読み書きが早くなる様に頑張ります。



今週末は釣りに行きたいですね〜


以上です。

2012年6月7日木曜日

JSにチャレンジ!


今日はQ&Aの表示部分を作成しました。

表示部分を作成したことによりQ&Aが動的なページになりました!

Q&Aページ全体の流れは以下の通りです。

1.質問が投稿される
2.投稿された質問に対して回答する。
3.回答された質問は公開され、Q&A一覧に表示される。

今まではhtmlファイルに質問と回答を全て書き込んでいたためソースが凄く長くなっていたけれど、
データベースから動的に読み込むようにすることですっきりしました。

さらに今日はjsの基礎を勉強しました。
サンプルプログラムが全く理解できなかったので1から始めることにしました。

とりあえずドットインストールの動画を1~25まで見ました。
一通り見て実際に打ってみたりしながら勉強しました。

今後はプログラムに組み込んで実践しながら学んで行こうと思います。

以上です。

2012年6月6日水曜日

少しは慣れてきました!


今日はQ&Aの管理部分を作成しました。

管理部分の流れは以下の通りです。
・質問の一覧を表示
・回答したい質問のボタンを押す
・回答を記入
・送信

このような流れで作成しました。

データベースを使う処理は引き続きクラス化しており、だいぶ慣れてきたと思います。

この調子で次はサイトの表示部分を作成します。

以上です。

2012年6月5日火曜日

のたうちまわる。


今日はQ&Aの投稿部分を作成しました。

基本的な流れは今まで作成してきた入力フォームと同じなので問題ないけれど
データベースを扱う部分をクラス化するのに苦労しました。
アロー演算子がイコールみたいな物だと思っていたので???な状況に陥っていました。

動くものは出来たものの、まだまだ理解しきれていない部分もたくさんあり、クラスにするとプログラムを打つペースが低下しがちですが
頑張って慣れていこうと思います。

以上です。

2012年6月4日月曜日

風邪気味です。



今日は日曜に釣りに行って雨に打たれたため少し風邪気味でした。。。


午前中に画像アップローダーの修正を終わらせて午後はオブジェクト指向の説明や、次の課題の説明を受けました。

クラスとは、目的や用途に合わせてパッケージする手段である。
メリットは何がどこに書いてあるのかがわかりやすいので追加、修正がしやすくなる。

というのが今日の説明を受けて感じたことです。


次の課題は自己紹介サイトのQ&Aを動的にすることになりました。

質問を投稿できたり、質問に対して回答したり出来るようにし、自己紹介サイトを進化させたいと思います。


以上です。
明日は体調が良くなっているといいなぁー。

2012年6月1日金曜日

もう6月。


あっという間に6月ですねー

梅雨に入る前に傘を会社においておこうかなーと思います。


今日も画像アップローダーの作成を行いました。

今週一週間費やしてようやく形になりました。

細かいエラーチェックは残っていますがとりあえず動くものができました!


感想としては入力フォームの修正を先にやってから始めて良かったと思います。
関数化することで処理の流れが追いやすく、追加、修正が早くできるようになったと感じました。

今後も読みやすいプログラムを書けるように努めていきます。

以上です。