JavaEEでUnitTest書く方法はモックを使うとかglassfish-embedded使うとか色々合ったわけですが、先日コンテナ非依存のテストツールであるArquillianがJBossより正式リリースしたので、試して見ることにしました。まずは、こないだ痛い目を見たのでJPA周りをTDDしてみます。開発環境はNetBeans 7.1.2, GlassFish 3.1.2ですが、Mavenベースにしてあるので、Eclipseでも問題なくそのまま動きました。 1. プロジェクトの作成 まずはプロジェクトの作成をします。「新規作成」 -> 「Maven」 -> 「Webアプリケーション」で作成します。 サーバはGlassFish 3.1.2を選択します。JBossとか別なのを使う場合は、後述のpom.xmlの設定を適当に変更してください。 プロジェクトの作成が終わったら、pom.xmlにA
コードレビューをしてると「なんじゃこりゃぁ!?」というコードにまれに出くわします。 既存のコードとの兼ね合いでなってる場合は、致し方無くても、新規コードまで真似するのは良くないですよね。 そろそろ新人エンジニアの中には「はじめてのこーでぃんぐ」をする人も現れるのではないでしょうか。 そんな時、参考にするのは当然、既存のコードでしょう。でも、果たして既存のコードは真似するべき綺麗なコードでしょうか? というわけで、私がレビュー時に良く注意する点をアンチパターンとしてまとめてみました。 ちなみに私はWeb屋さんなので、業界違うと微妙に違うところもありそうですけど、本質的なところは変わらないと思ってます。 パターンの名前は一般的なのをWikipediaから引っ張ってきたり、自分で思いついたのを適当に書いたりしています。 太っちょメソッド 名前のとおり大きすぎるメソッドを作るアンチパターンです。
IT業界に所属する皆様の間では、「NoSQL」というキーワードを目にすることが最近多くなったのではないでしょうか。 しかし、「NoSQL」とは随分と乱暴な言葉だと感じます。 1つのコンピュータ上の表現にすぎない「SQL」に「No」をつけてしまう。「No」は「Not Only」の略だと言われますが、それなら大文字の「NOSQL」であるはず。 「NOSQL」と表現している人々も確かにいますが、多くは「NoSQL」と表記しており、「どう見ても『ノー』だよな、これ」と感じ、「No」という言葉の持つニュアンスに反感を覚える人もいるようです。 名前で損をする必要は無いので、表現を変えた方が良いような気もしますが、「NoSQL」という言葉は、そんな必要も無くなりつつあるくらい定着してきました。 表現にはあまり目くじらを立てず、ビジネスの現場で実際に問題となる、この単語の「分かりにくさ」や誤解について、現
Struts ActionFormとビジネスロジック層のインターフェイスはStrutsの悩みどころの一つです。(個人的に) ActionFormをビジネスロジック層に渡すのは論外ですが、DTOパターンを使ってActionForm-ビジネスロジック層を疎結合にしようとすると、DTOオブジェクトにActionFormのプロパティを転記する、といった処理が必要になり、それがなかなかめんどくさかったりします。 「BeanUtils#populateでActionFormからDTOにプロパティを転記する」方法が有名ですが、DTOに転記するプロパティのうち、一つでも型が違うと例外が投げられてしまいます。 独自のConverterを使って型変換を行なうという方法もありますが、たかだかDTOの転記でConvertUtils#register使うのも・・・ 「DTOをActionFormがプロパティとして保
Wicketとは WicketはApache Software Foundationで開発されている、Webアプリケーション開発用のフレームワークです。フレームワークにもさまざまなものがあり、それぞれ用途が異なります。Wicketの行うことは、ブラウザからのリクエストを受け付け、処理を振り分け、ページを生成してブラウザにレスポンスを返すことです。位置づけとしては、Apache Strutsと同じと考えれば良いでしょう。 Wicketの特徴 Wicketには他の多くのWebフレームワークとは異なる、大きな特徴があります。多くのWebフレームワークが、リクエストからレスポンスまでのフロー(流れ)をどのようにコントロールするか、という方針で作られているのに対して、Wicketは「Webページをページというオブジェクトとして扱い、オブジェクトを組み立てることでアプリケーションを構築する」という考え
研修の講師をやることになり、サンプルアプリを作ることになったので、Struts+Tomcatでアプリを作ろうとしたら、開発環境構築で大分躓いてしまいました。久しぶりでほとんど覚えてなかったのでメモっておきます。 使用したStrutsのバージョンは1.2.9、Tomcatのバージョンは5.5です。*1 Tomcatと各JavaEE仕様のバージョンの対応 JavaEE Servlet JSP EJB JSF 備考 Tomcat4.x 1.3 2.3 1.2 2.0 Tomcat5.x 1.4 2.4 2.0 2.1 Tomcat6.x 5.0 2.5 2.1 3.0 1.2 JAX-WS2.0、JAXB2.0、JPA1.0、JSFとJSTLの共存が可能 Tomcat7.x 6.0 3.0 2.2/EL2.2 3.1 2.0 JAX-RS、CDIなどが追加、JAX-WS2.2、JAXB2.2、J
webアプリはいろいろ関わってきてるはずなのに、このあたりの話を全然理解してなかったことに愕然とする。 普通のひとには常識なんだろうけど、今回調べたことで体得できたよ。 追記 少し理解が進んだので追記。 TomcatのGETパラメータのデフォルトの挙動 iso-8859-1とみなしてURLエンコードしてくれる。また、GETパラメータには、HttpServletRequest#setCharacterEncodingは適用されない。 URIEncoding URI文字列に多バイト文字があった場合にどの文字コードとみなしてURLエンコードするかを設定する。パラメータに限らず、URIのファイル名とかもこれに則る。 useBodyEncodingForURI これをtrueにすると、GETパラメータであっても、HttpServletRequest#setCharacterEncodingを適用させ
Struts2を利用方法、 Struts2+Spring Framework+iBatisを利用したデータベース操作の方法などを紹介します。 Webアプリケーション作成時に調べた覚書です。Struts2 Spring Framework iBatis Tutorial Struts2、Spring Framework、iBatisを利用したWebアプリケーション作成のメモです。 はじめに はじめに Javaで作成されたフレームワーク、Struts2を紹介します。 Javaのインストール、Eclipseの環境構築からStruts2の利用方法、 Struts2+Spring Framework+iBatisを利用したデータベース操作の方法などを紹介します。 Webアプリケーション作成時に調べた覚書です。 Struts2の紹介 Struts2はApacheからリリースされたオープンソースのフレー
最新の20件2018-10-21 Will Jonas Brothers Concert Tickets Break The Bank 2018-10-20 This Is It Tickets To Be Consumed On Sunday 2018-10-12 Amazon Coupon Deals Released Every Day Through December 23, 2011 2009-06-11 PukiWiki/1.4/Manual PukiWiki/1.4 FormattingRules 2008-07-18 Prolog 写経記 2007-06-14 pukiwiki 2007-02-14 pukiwiki/1.4/manual/plugin/o-r pukiwiki/1.4/manual/plugin/s-u pukiwiki/1.4/manual/plugin
This domain may be for sale!
タイトル RESTful Webサービス 著者 Leonard Richardson (著), Sam Ruby (著), 山本 陽平 (監修), 株式会社クイープ (翻訳) 出版社 オライリー・ジャパン Amazonで購入する REST とは リソースの状態を表す「何か」を転送するということを表した、Webアーキテクチャスタイルです。REST はアーキテクチャではなく、アーキテクチャのスタイルであり、実際に REST スタイルのアーキテクチャとして、ROA(リソース指向アーキテクチャ)などがあります。 本書は、この REST と ROA に関して解説されたもので、RESTful なシステム(REST スタイルに則ったシステム)の設計方針、ROA の考え方などが解説されています。 Web アプリケーション開発をこれまでしてきた中で、RESTful や ROA な考えでシステムを設計したこと
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く