バグ見つけた→それってどんなテスト?もしくは、なんでMVCなんて使うの? 最近ソフトウェアエンジニアリングに置ける開発手法に関して考えている。 ぶっちゃけ言ってしまうと「やっぱりTDDっぽいのがいいな」というところに落ち着きつつあるのだが、厳密にTDDをしたほうがよい、と思ってるわけではない。TDDとかExtremeプログラミング、Agileプログラミングにしても理想はいいんだけど、原理主義っぽい使い方は現実にそぐわないと思ってるからだ。 前置きはこれくらいにしておいて・・・重要だと思うのは以下の点: 開発サイクルに自動テストツールを組み込むエンジニアによるバグ/不具合発見時には「動かない」は許可しない。必ず再現コードを提出してもらうテストを自動テストツールを組み込む(=次回リリース前にはかならずテストを実行できる状態にする)テストが通るまで修正を続けるという開発サイクルを取るべきだ、とい
はじめに Webアプリケーションを構築する際のアーキテクチャとして、「MVC」が広く用いられています。PHPにおいても、「mojavi」や「Phrame」など、いくつかのフレームワークが実装されています。ググってみると、日本語の解説ページなどを見つけることもできます。 最も有名なMVCフレームワークは、Javaで使える「Struts」でしょう。多くのMVCフレームワークがStrutsの影響を受けています。Strutsは非常に強力なフレームワークですが、その分、お手軽感に欠けるきらいがあります。特に、お手軽感を求めてPHPを使われている諸氏には、馴染みにくいのではないかと思います。 本稿では、手軽に使える、軽量なMVCフレームワークの雛型として、拙作の「nagaMVC」を紹介します。nagaMVCの基本的な構成について解説します。 対象読者 主に、LAMP構成(Linux+Apac
MVCのモデルはDBじゃなくてもいいんだよ id:charsbarさんが、先ほど書いたエントリに関して 後半その通りなわけですが、CatalystはModel::DBIC系のせいでMVCが誤解されてるのよねー と言っておられる。たしかにその通り。「モデルってDBでしょ?」みたいな印象が一般的にあると思う。 そういう印象を持ってる人に説明すると、「モデルを作る」って何かというと、DBのようなストレージにあるものをどうこうする、ではなくて「データに対する操作を抽象化したものを作る」ということです。例えば、ブログを作ると、Blog、BlogEntry、BlogUserみたいなモデルを作ります。そしてその操作方法はこんな感じ: # ブログを登録するみたいなAPI MyApp::Model::Blog->create({ user => $blog_user, title => $title, .
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く