2008-01-01から1年間の記事一覧

3-7 商品編集画面を作ろう(マスタ管理編)

前節に引き続き、この節でもStrutsを使ったサンプルが掲載されています。この節では、StrutsのActionクラスもDIコンテナで管理する手法が述べられています。前節では、BeanをAction内で利用するためには、ActionSupportクラスを継承して、AplicationContext…

3-8 ログイン画面を作ろう(マスタ管理編)

この節では、既存のコードには手を入れずにセキュリティ機能を実装する方法が述べられています。そんなことが可能なのかと思って読み進めていたら、本当にログインのビューとセキュリティ用の設定ファイルを用意するだけで、認証機能が実装されてしまい、と…

3-5 ショッピングサイトを作ろう

第三章のこれまでの節で断片的に実装してきた機能が、この節で統合されます。基本的な画面遷移は、htmlタグの中で指定されたURLを、HandlerMappingを使ってコントローラに振り分ける仕組みになっています。セッションには、ユーザーオブジェクトとカートオブ…

3-6 商品カタログを作ろう(マスタ管理編)

この節では、SpringMVCではなく、Strutsが利用されています。strutsについては、その概要すら知らない状態なので、この節の内容だけではキャッチアップ不可能でしたが、アクションとロジックの依存度を軽減するためにSpringのDIコンテナを利用することができ…

3-1 商品一覧画面を作ろう

第三章「Webショッピングアプリケーションを作ろう」に入りました。SpringMVCがどういうものなのかという点を中心に、読み進めていきたいと思っています。 まず最初の節では、DBから取得したデータを表示するだけの単純なプログラムが紹介されています。Spring…

3-2 商品詳細画面を作ろう

この節では、SpringMVCを用いて画面遷移を表現する方法が述べられています。リクエストURLとコントローラをマッピングする方法や、ビジネスロジックを終えた後にビューへ指示を出す方法など、サーバー上で行なわれている処理がより具体的に見えてきました。 …

3-3 ログイン画面を作ろう

この節では、入力フォームに入力されたデータをサーバー上でどのように扱うのかということを、SimpleFormControllerクラスを用いて説明されています。SpringMVCのコントローラとしてSimpleFormControllerを使うと、フォームに入力された値からサーバーのオブ…

3-4 ユーザー登録機能を作ろう

この節では、前節で登場したSimpleFormControllerクラスについて詳しく解説されています。GETリクエスト/POSTリクエストそれぞれの処理フローと、このクラスが提供しているコールバックメソッドの役割について述べられているP268付近の説明は、前節に取り組…

2-6 チケットを予約しよう

この節では、トランザクションの管理をAOPの概念を利用して実装する方法が例示されています。データベースへアクセスするアクションが増えてくると、そのそれぞれのアクションに対して、コミットやロールバックの手続きを書くという手間が増えてきますが、AO…

2-4 チケット情報を表示しよう

この節からはO/RマッッピングツールのHibernateを使用したサンプルが掲載されています。マッピングの設定が面倒くさそうですが、それさえやってしまえば、データクラス自体はすっきりします。Middlegenというツールも興味深いので、近々試してみようと思って…

2-5 予約を取り消そう

前節に続き、Hibernateを用いて更新や削除処理を行なう手法が説明されています。HibernateTemplateクラスのメソッドを呼び出すだけで、具体的なSQL文を書くことなくデータベースに反映されるということですが、P165のコラムの「永続オブジェクト」や「一時オブ…

2-1 チーム一覧を作ろう

第二章は「データベースを利用したアプリケーションを作ろう」ということなので、まずは、MySQLを使えるよう準備を行ないました。以前購入した「Leopard UNIX的システム構築」という本に、MySQLの導入方法が書かれていたので、それを参考にしながらセットアップ…

2-2 選手登録をしよう

この節では、Insert処理ができるように機能追加する過程で、データベースアクセスに関する様々なインターフェースやその実装クラスが登場してきます。データそのものとデータベースアクセスを分離する手法や、RDBMS操作自体もSpringが提供しているインターフ…

2-3 一覧から選手情報を変更・削除しよう

この節では、UpdateやDeleteに相当する機能が追加されていきます。MappingSqlQueryクラスやSqlUpdateクラスを利用することで、SQL文とBind変数のセットからSQL実行、ResultSetをWhileで回してリソースを解放する、という一連の処理をまとめて書く必要がなく…

1-3 Beanのライフサイクル

この節を通じて、BeanFactoryやgetBean呼び出しで何が行なわれているのかということを垣間見ることができました。BeanクラスにSpringで提供されているインターフェイスを実装することで、getBeanを行なう際に様々な処理を自動的に行なわせることができます。…

1-4 AOP

以前、他のSpring本を読んでAOPの概念に触れた時は、いろんなタイプのAdviceがででてきて、それをウィービングすれば分離されている関心事をターゲットに適用できるらしいということまでしかわからず、実際にそれをどうやって実現するのかということまでは追…

「SpringによるWebアプリケーションスーパーサンプル」

Springフレームワークがどういうものなのか、ということを勉強したいと思っています。それに適しているだろうと思われる本を見つけたので、それを「写経」しながら、いろいろと試行錯誤していこうと考えています。SpringによるWebアプリケーションスーパーサン…

1-1 Hello Spring!

オブジェクトの疎結合・密結合に関する話題が述べられています。FactoryMethodを使っても、オブジェクトの生成は具体的なクラス名を宣言しなければなりませんが、Springの設定ファイルを利用することで、その部分も関連性を薄めることができるとのことです。…

1-2 DIについて

DI(Dependency Injection)についての簡単な概要が述べられています。以前、他の書籍でDIについて触れた時は、あまり理解が進みませんでしたが、本書のように実際に動かせるコードを動かしてみると、理解を深めることができるということを再認識しました。 こ…

写経

TDD

昨日の勉強会にいらしていた和田さんのTDDに関する動画をいくつか見てみました。その中に、写経をしながら理解を深めるという話があり、これが非常に印象的でした。何らかのトピックに関する書籍に掲載されているソースコードを、ただ目視するだけでなく、実…

JavaEE勉強会

昨日はDDDの勉強会に行ってきました。今回が二回目です。DDD自体の読解はそこまで進みませんでしたが、経験豊富な方々の議論を聞き、様々な開発現場の話に触れられたということが、やはり一番大きな収穫だったような気がしています。 同時に、そういう方々と…

Design Patterns

GoF

GoFのデザインパターン本を原文で読み進めています。いきなり個々のパターンについて述べられているのではなく、その前にかなり長い概要が掲載されていて、ケーススタディを読み進めながら、どういう心構えでデザインパターンを使っていくのかという雰囲気を…

「エンタープライズアプリケーション アーキテクチャパターン」

この三連休を利用して「Fowler PoEAA」を一読しました。今回は、ほんとに流し読みをしたという感じだったので、本書の中で出てきたパターンを説明せよと言われても、そんなことはできそうにありませんが、「どのようなことが書かれているか」ということを知るこ…

エンティティ

「ドメイン駆動」の第二部を一読しました。発注処理アプリケーションを少しずつ組み立てていく様子を追うことができ、どこでどういう問題があり、どういうパターンを使って解決すべきかという流れを追えて、非常に面白いなと感じつつ、そのパターンに関する理…

質問システムの実装:断念

「4.4.4 質問システムの実装」では、10ページに渡って質問システムの具体的な実装内容が説明されています。何度か読んでみましたが、今の自分では理解することは難しいだろうと思って投げ出してしまいました。そのため問題も解いていません。悔しいですが、粘…

「ドメイン駆動 デザインパターンへの適用法」

今、「Evans DDD」を原文で読み進めていますが、自分の英語能力ではなかなか理解が進まないので、まずは、DDDに関連する本で翻訳されているものに当たってみることにしました。ドメイン駆動 (Programmer’s SELECTION)作者: Jimmy Nilsson,尾島良司,株式会社ロ…

問題4-64〜66

「4.4.2 質問システムはどう働くか」「4.4.3 論理型プログラミングは数学的論理か」というトピックを何度か読みましたが、いまいち理解が深まっていません。次のトピックである質問システムの実装の部分を読み進めながら、このあたりにも戻ってこようと思ってい…

問題4-61〜62

「プログラムとしての論理」というトピックに取り組んでいます。規則を用いて、論理的推論を実行させるようなプログラムが紹介されています。 問題4-61。与えられたリストの中の隣同士の要素を見つけるnext-toについて考えます。(?x next-to ?y in ?list)とい…

方向転換

SICPを少し中断して、Springの入門書を二回ほど読んでみました。Java・J2EE・オープンソース Spring入門 ~より良いWebアプリケーションの設計と実装作者: 長谷川裕一,伊藤清人,岩永寿来,大野渉,(株)豆蔵出版社/メーカー: 技術評論社発売日: 2005/04/16メディ…

問題4-55〜56

「4.4 論理型プログラミング」に入りました。宣言的(何である)知識を用いる数学的な方法でプログラムが登場します。その事例としてデータベースが取り上げられています。この節も、前の非決定性プログラミング/amb評価器と同様、最初に論理型プログラムの使い…