SQLite (SQLite3) で JPA

JPA (Java Persistence API) でも SQLite を使いたい!ということで試してみる。いちいちデータベースサーバとか用意したり起動したり面倒くさいし。環境としてはMacでこんな感じ。要Maven2。 $ java -version Picked up _JAVA_OPTIONS: -Dfile.encoding=UTF…

システム日付を安易に使ったプログラムのテスト

全くテストを意識しないで Calendar.getInstance() とか new Date() とかを使いまくるプログラムがあったとする。例えば、以下のようなものだ。 public void oomisoka() { Date date = new Date(); if (date.getMonth() == 11 && date.getDate() == 31) { //…

ヘッダ固定テーブルの最良解 Pushpin Header

CSS

HTMLで、ヘッダを固定してボディを縦方向にスクロール可能にしたテーブルを作る方法はいろいろあって、テーブル ヘッダ固定 でぐぐると百花繚乱、群雄割拠という感じだけれども、個人的には http://codylindley.com/CSS/249/pushspin-header-a-simplified-da…

ActiveScriptRuby で WAVE DASH 問題にハマる

Windows 7 に ActiveScriptRuby 1.8.7 をインストールして使っているんだけど、Oracle+JDBCではよくあるWAVE DASH問題的な問題にはまってしまった。こんな環境で、 > ruby -v ruby 1.8.7 (2010-01-10 patchlevel 249) [i386-mswin32]UTF-8の文字列をShift JI…

プログラマのための文字コード技術入門

プログラマのための文字コード技術入門 (WEB+DB PRESS plus) (WEB+DB PRESS plusシリーズ)作者: 矢野啓介出版社/メーカー: 技術評論社発売日: 2010/02/18メディア: 単行本(ソフトカバー)購入: 34人 クリック: 578回この商品を含むブログ (129件) を見るも…

Apache Pluto による簡易ポータル開発(ポートレット開発編)

前回 の続き。Spring の Portlet MVC Framework を使って、ユーザ検索を行う簡単なポートレットを開発してみる。 ポータル側の各種設定 依存性の追加 pom.xml に Portlet MVC Framework 用の依存性を追加する。 <dependency> <groupId>org.springframework</groupId> <artifactId>spring-webmvc-portlet</artifactId> <version></version></dependency>…

Apache Pluto による簡易ポータル開発(準備編)

ポータルっぽいサイトを作りたいので色々調査したところ、オープンソースものとしては Liferay と Jetspeed2 あたりが有力らしいことがわかったものの、両方ともかなり重量級であり中身を理解するのが相当大変そうなので、とりあえず Java Portlet Specifica…

Apache Pluto による簡易ポータル開発(動的ページ構成編)

前回の続き。データベースからページ・ポートレットの構造を取得し、ログインユーザのロールごとに異なるページ構成を見せられるようにしてみる。 データベースの更新 前回作成したデータベースに、さらにページ・ポートレット関連の情報を追加する。 CREATE…

Apache Pluto による簡易ポータル開発(ユーザ認証編)

前回の続き。Plutoについてくるポータルアプリケーションのページ構成は、 src/main/webapp/WEB-INF/pluto-portal-driver.config.xml の静的な記述から構築されているけど、どんなユーザでログインしても全員同じページ構成ではポータルの名が泣くので、ユー…

Windows7 64bit版のEclipseセットアップ

Windows 7の64bit版を導入したので、JavaやEclipseもWindows/x64のものを試してみた。 JDK 6.0 update 17 Eclipse 3.5.1 みたいな環境。あと、普段は Pleiades で色々入ったものを一発セットアップしているので、できるだけその環境に近づけるのが目標。 Jav…

解決:TSUTAYA Wカードのサイトは信用してよさそう

以前 TSUTAYA Wカードのサイトを信用していいのか迷った(セキュリティ的な意味で) - penultimate diary でTSUTAYA Wカードのサイトがいまいちと書いたんだけど、今日見てみたらログインページがちゃんと https://service.famimacredit.co.jp/wcps/top.do …

CXF と Spring Security でWebServiceのBASIC認証

前回 の続き。WS-Securityはちょっと大げさだし重いという噂なので、もっと単純にHTTPのBASIC認証を試してみる。前回はWebサービス自身が認証を行う形式だったけど、今回はWebサービスの前に Spring Security のフィルタをかませて、認証は Spring Security …

JSF 2.0のPROJECT_STAGEをアプリケーションの外部から指定する

JSF 2.0ではProjectStageなるものを指定できて、開発時はDevelopmentにして詳細なエラーメッセージを表示し、正式運用時にはProductionとかに変更したりする。巷のサンプルでは、この値を以下のようにweb.xmlで指定しているものが多い。 <context-param> <param-name>javax.faces.PROJEC</param-name></context-param>…

CXF で WS-Security を試してみる

前回の続き。WS-Security(まだよくわかってない)でクライアントとサービスプロバイダの間で認証情報をやりとりしてみる。前回のTODOではログインしたユーザの情報を渡す予定だったけど、固定のユーザ名・パスワードを渡すところまでしかできなかった。 サ…

JSF 2.0 + CXF でWebサービス呼び出し

前回 の続き。クライアントをWebアプリケーションにしてみる。Webアプリケーションフレームワークは、最近気になるJSF2。環境はこんな感じ。 JDK 1.6 Eclipse 3.5 (Pleiades) + m2eclipse 0.9.8 (+ WTP Integration) Apache CXF 2.2.5 Mojarra 2.0.1 Tomcat …

Eclipseの「DTDまたはXMLスキーマが検出されませんでした」警告を消す

Logbackの設定ファイル のように明確なDTDやスキーマ定義のないXMLをEclipseのソースフォルダに置くと、以下のような警告が出る。 文書に対する文法制約 (DTD または XML スキーマ) が検出されませんでした。定義のあるものは検証したいのでオプションで検証…

CXFでWebサービスを試す

Webサービスを実装する必要に迫られたので CXF で試してみる。以下のような環境で、Webサービスインタフェースの定義、Webサービスのサーバ、Webサービスのクライアント、の3つのMavenアーティファクトをEclipseで開発できるところまでが目標。 JDK 1.6 Ecli…

TSUTAYA Wカードのサイトを信用していいのか迷った(セキュリティ的な意味で)

TSUTAYA Wカードで申し込み時の情報を変更したくなったのでホームページ http://wcard.famimacredit.co.jp/ にアクセスして「ログイン」を押したら、 https://portal.expay.net/servlet/FMWPoLogin とかいう別ドメインのサイトに飛ばされる。SSLなのはいいと…

プロキシがある場合のツール等の設定いろいろ

会社勤めで開発していて面倒なのが、セキュリティの関係でインターネット接続時にプロキシ(しかも認証つき)を通らなくちゃいけないこと。このせいで少々面倒な目にも遭ってきたので、ある開発ツールを認証つきプロキシ環境で使う場合にどうすればいいかを…

Tomcatの環境構築って皆どうやってるんだろう?(オレオレ設定を晒す)

Tomcat をそれなりに本気でセットアップしたいんだけど……WebLogic を多く使っていたので Tomcat はほとんど経験が無く、ネットでも実用的な情報がほとんど見つからないので一般的にはどうセットアップするのが正しいのかよくわからない。本も買ったけどカバ…

GuiceとCubbyとトランザクション管理

前から気になっていたWebアプリケーションフレームワークCubbyが2.0からGuiceやSpringに対応するという話なので、ちょうど最近Guice 2.0が出たことだしちょっと試してみる。 初期セットアップ Maven 2.0.9 と Eclipse 3.4 (Pleiades) で、公式ページのGuice…

Springを利用した アプリケーションで、設定ファイルを外出しする簡単な方法

Spring Framework を使っているアプリケーションで、設定ファイルを外部から読む簡単な方法を考えてみる(簡単なだけであって、ベストプラクティスかどうかは不明)。アプリケーションの設定を保持するクラスは以下のような感じとする*1。 package example; …

OGNLとs:pushの組み合わせでハッピーStruts2ライフ

Struts2でWebアプリを作る際に、JSPを部品化したいと思って以下のような「ユーザー表示」テンプレートを作ったとする。 <table> <tr><td>お名前</td><td><s:property value="user.name" /></td></tr> <tr><td>メールアドレス</td><td><s:property value="user.mail" /></td></tr> </table> これを表示するときに、うまくAction側で user というプロパティ名にできればいいんだけど、同じページにユー…

LogbackのJMX設定インタフェースを使って設定ファイルの切り替えを行う

LogbackにはJMXで設定を行える機能がついていて、設定ファイルで <configuration> <jmxConfigurator /> ... と jmxConfigurator 要素を追加するだけで有効にできる。あとは、jconsole等を使えば外部から設定のリロードや設定ファイルの切り替えを行うことができる。問題なのが、どこからjconsol</jmxconfigurator></configuration>…

Spring Securityで、セッションタイムアウト時のAjaxリクエストに対応する

例えば、jQueryで $("#div").load("content_fragment.jsp");のようにコンテンツをロードする処理を想定する。こういったAjaxによる画面更新では、ロード先のコンテンツがログインを必要とするもので、さらに「ログインしていない場合はログインページにリダ…

Ibatorで件数制限つきのselectByExampleを自動生成する

データベースを検索して複数件の結果を取得するような場合、iBATISではSqlMapClient#queryForList メソッドを使用する。queryForList には skip と max という引数があり、これを指定するとMySQLで言うところの SELECT ... LIMIT (skip), (max) のような結果…

RequestPolicyを試してみる

「NoScript」をやめて「RequestPolicy」にした で紹介されていたので、RequestPolicy (0.5.5) を使ってみた。このプラグインは、訪問先のドメイン*1ごとに、別ドメインへの(ユーザが明示的に行った場合以外の)リクエストの許可/不許可を設定できる、という…

m2eclipse+WST+Tomcatで開発するときの落とし穴

Java SE 6.0 + Servlet 2.5 + JSP 2.1 Eclipse 3.4.2 (Pleiades 1.3.1) m2eclipse 0.9.8 WST 3.0.4 Tomcat 6.0.18 みたいな環境でStruts2を使ったWebアプリケーションを開発していて、意味不明なエラーに遭遇する。こんな感じの、何の変哲もないJSPを表示し…

TomcatでJNDIのcomp/コンテキストに値を登録する

JTA実装は Atomikos Transaction Essentials トランザクション管理を Spring Framework の JTATransactionManager に任せる のようなWebアプリケーションをTomcat6 の上で動かしたい。折角なので JNDI を使って、データベースやトランザクションマネージャの…

commons-logging を SLF4J に置き換える

問題 commons-logging を使用している既存のコードを変更することなく SLF4J を使うために、jcl-over-slf4j がある*1。これは Commons Logging の一部を含んでいるため、commons-logging.jar はクラスパスから外す必要がある。しかし、Maven2 を使っていて S…