 |
 |
 |
 |
 |
 |
Seasar2: 第 4 回 WebSphere Application Server Toolkit での HOT deploy の利用 連載の第 4 回目となるこの記事では、統合開発環境である WebSphere Application Server Toolkit と Seasar2 の HOT deploy 機能を利用して Web アプリケーションを快適に開発する方法を紹介します。 |
|
|
|
2008/05/09 |
|
| |
多彩な新技術を週変わりで紹介、「渋谷テクニカルナイト」とは? 最新の技術や動向を知ることができる週末夜のセミナー。その仕掛け人であり講師でもある日本IBMのエバンジェリスト 米持幸寿氏、ITスペシャリスト 根本和郎氏にお話を伺いました。 |
|
|
|
2008/05/09 |
|
| |
IBM Web 2.0 Feature Pack を使って Ajax スタイルのアーキテクチャーを作成する この記事では、IBM(R) WebSphere(R) Application Server Feature Pack for Web 2.0 を利用することによって、J2EE (Java(TM) 2 Platform, Enterprise Edition) アプリケーションを Ajax スタイルのアーキテクチャーでどのように強化できるのかを説明します。そして Web アプリケーション全体を再作成することなく、既存のアプリケーションに Ajax スタイルのアーキテクチャーを組み合わせる方法を学びましょう。またこの記事では IBM WebSphere Application Server 用の皆さん自身の J2EE アプリケーションに Web 2.0 Feature Pack を適用する方法についての考え方の一端も学びます。 |
|
|
|
2008/03/18 |
|
| |
Java Portlet Specification V2.0 (JSR 286) の新たな内容とは? Java Portlet Specification のバージョン 2.0 (JSR 286) の全容を学んでください。仕様の内容と API の数が 2 倍以上になったバージョン 2.0 では、ほとんどの使用事例をベンダーの拡張機能なしで実装することができます。また、ポートレットのプログラミング・モデルにはイベントと共通レンダリング・パラメーターが用意されているため、現在使用しているポートレットから大規模な複合アプリケーションを構築したり、さまざまなシナリオでポートレットを再利用したりすることができます。 |
|
|
|
2008/03/18 |
|
| |
メインフレームで動く WebSphere Application Server の世界: 第 1 回 メインフレームでの Java 活用 この連載では、メインフレームで動く Java およびサーバー・ミドルウェアの IBM WebSphere Application Server for z/OS の世界を連載でご紹介します。第 1 回は、IBMメインフレーム OS である z/OS と、z/OS の Java をバッチ処理で活用する方法についてご紹介いたします。 |
|
|
|
2008/03/14 |
|
| |
動的計画法と配列アラインメント 分子生物学では、コンピューター・サイエンスのアルゴリズムを研究用のツールとしてますます利用するようになってきています。この記事では、コンピューターを使って生物学上の問題を解決する、バイオインフォマティクス (bioinformatics: 生命情報科学) を紹介します。そして多くのプログラミング・プロジェクトで役立つ高度なアルゴリズム手法である、動的計画法の基本を学びます。 |
|
|
|
2008/03/11 |
|
| |
Grails をマスターする: Groovy Server Pages によるビューの変更 GSP (Groovy Server Pages) は、Grails Web フレームワークの Web の部分になります。連載「Grails をマスターする」の第 3 回目では、Scott Davis が GSP の操作について詳細に説明します。Grails TagLib は簡単に使用できること、そして GSP のコード・フラグメントを組み合わせたり、scaffold により自動的に生成されるビューのデフォルト・テンプレートをカスタマイズしたりするのも簡単であるということを学んでください。 |
|
|
|
2008/03/11 |
|
| |
万人のためのオートメーション: 継続的インテグレーションのアンチパターン、第 2 回 継続的インテグレーション (CI) はプロジェクトでのリスクを軽減する上で極めて有効ですが、それと同時に、コーディングに関連する日常のタスクがなおのこと重要になってきます。CI アンチパターンを話題にした 2 回連載の第 2 回目となるこの記事では、オートメーションのエキスパートであり、『Continuous Integration: Improving Software Quality and Reducing Risk』の著者でもある Paul Duvall が引き続き一連の CI アンチパターンを取り上げ、さらに肝心なその回避方法を伝授します。 |
|
|
|
2008/03/04 |
|
| |
Javaの理論と実践: フォークを活用する、第 2 回 Java 7 で登場する java.util.concurrent パッケージに追加されているものの 1 つが、フォーク/ジョインのスタイルによる並列分割のライブラリーです。このシリーズの第 1 回で著者の Brian Goetz が紹介したのは、さまざまなアルゴリズムを分解し、ハードウェアによる並列処理を効果的に活用するための機構を、フォーク/ジョインで提供する方法です。この第 2 回の記事では ParallelArray クラスについて説明します。ParallelArray クラスを利用すると、メモリー内のデータ構造に対する並列ソートや並列検索の操作を単純化することができます。 |
|
|
|
2008/03/04 |
|
| |
Seasar2: 第 2 回 UOWManager によるトランザクションの制御 WebSphere Application Server(以下WAS)のV6.0.2.19またはV6.1.0.9以降では,WASのトランザクション・コンテキストを制御するための新しいインターフェースUOWManagerが使用できます。Seasar2などのフレームワーク製品は,このインターフェースを使用してトランザクション制御を行っています。 |
|
|
|
2008/02/29 |
|
| |
名前付きパラメーターを使って CallableStatement を処理する IBM Informix Dynamic Server (IDS) の強力な新機能、「CallableStatement 内の名前付きパラメーター」について学んでください。パラメーターを順番で識別する代わりに、名前で識別することを可能にするこの機能は、CallableStatement が適用可能な範囲を広げ、順番によってもパラメーター名によっても CallableStatement を使用できるようにします。この記事では、パラメーターを識別するこの 2 つの手法の違いを説明し、パラメーターを順番で指定する代わりに名前付きパラメーターを使用した場合の利点を探ります。 |
|
|
|
2008/02/21 |
|
| |
多忙な Java 開発者のための Scala ガイド: クラスの動作 Java 開発者が Scala を理解するための最初のポイントとしてオブジェクトに言及することは妥当なことです。この、「多忙な Java 開発者のための Scala ガイド」の第 2 回である今回は、Ted Neward が言語を評価するための基本前提に従って話を進めます。その前提とは、言語の能力は、新しい機能 (この場合は複素数のサポート) を統合する能力と直接関連させることで評価できる、というものです。この記事では、そうした言語の能力を説明する中で、Scala でのクラスの定義と使い方に関連する興味深い内容についてもいくつか学びます。 |
|
|
|
2008/02/19 |
|
| |
Grails をマスターする: GORM: おかしな名前の真面目な技術 どんな優れた Web フレームワークにも、確固としたパーシスタンス・ストラテジーは必要です。連載「Grails をマスターする」の第 2 回目では、Scott Davis が GORM (Grails Object Relational Mapping) API を紹介します。この記事を読めば、Grails アプリケーションでテーブル間の関係を作成し、データ検証ルールを設定し、さらにリレーショナル・データベースを変更するのがいかに簡単であるかがわかるはずです。 |
|
|
|
2008/02/12 |
|
| |
JSF と CSS、JavaScript を使用して作成する Ajax アプリケーション: 第 2 回 動的な JSF フォーム この 2 回連載の第 1 回目の記事では、Java 開発者である著者、Andrei Cioroianu が JSF (JavaServer Faces) コンポーネントのスタイル属性を使用し、これらの属性にデフォルト値を設定する方法を紹介しました。2 回目となるこの記事では、標準 JSF コンポーネントが持つ JavaScript 関連の属性を使用する方法を取り上げます。DOM (Document Object Model) API、JavaScript、そして CSS (Cascading Style Sheets) をベースとしたいくつかの Web テクニックを学んでださい。また、Web ページを更新しないで、オプションの JSF コンポーネントを非表示にしたり表示したりする方法、Web ブラウザーで実行されるクライアント・サイドの検証を実装する方法、さらに Web フォームの入力要素に関するヘルプ・メッセージを表示するカスタム・コンポーネントを開発する方法を紹介します。 |
|
|
|
2008/02/12 |
|
| |
XML を使った RESTful な SOA SOA (Service Oriented Architecture) は通常、大企業のための重量級の技術を意味します。しかし SOA によるアーキテクチャー・パターンの利点は小規模な環境にも当てはまります。SOA の原則に従うためには、大規模な環境では便利なオーバーヘッドが必ずしもすべて必要なわけではありません。REST のように軽量な原則を使って SOA を利用することもできるのです。この記事ではその方法を説明します。 |
|
|
|
2008/02/12 |
|
| |
Seasar2: 第 1 回 WebSphere Application Server へ Web アプリケーションをデプロイする 本連載では、軽量コンテナ Seasar2 を IBM WebSphere Application Server(以降 WAS と表記)や IBM DB2 と連携させる方法について紹介します。連載の第1回目となるこの記事では、Seasar2 を利用するWebアプリケーションをWASへデプロイする際に気をつけるべき事柄について説明します。 |
|
|
|
2008/02/01 |
|
| |
Castor によるデータ・バインディング: 第 3 回 スキーマ間のマッピング 扱いにくくて不自由な XML 文書を Castor を使ってカスタム Java オブジェクトに変換してください。 |
|
|
|
2008/01/29 |
|
| |
JSF と CSS、JavaScript を使用して作成する Ajax アプリケーション: 第 1 回 JSF ページの外観を整える 一般的な Web アプリケーションには、カスケーディング・スタイル・シート (CSS) と JavaScript を JSF (JavaServer Faces) などのサーバー・サイド・フレームワークと一緒に使用する必要があります。CSS によって Ajax やその他のアプリケーション内での Web コンポーネントの視覚的特徴を変更し、見た目のよい独特の外観にすることができるからです。この 2 回連載記事の第 1 回目では、標準 JSF コンポーネントが持つ CSS 関連の属性を利用する方法を説明します。さらに、ネストされたコンポーネントのデフォルト・スタイルを設定するカスタム JSF コンポーネントを作成する方法も学びます。この方法を使えば、Web アプリケーションのすべてのページを統一された外観にするのが非常に簡単になるだけでなく、他のコンポーネントの属性をプログラムによって設定することも可能になります。続く第 2 回目の記事では、JavaScript を使って JSF フォームを一層動的にする方法を紹介します。 |
|
|
|
2008/01/29 |
|
| |
Eclipse で開発する iPhone の Web アプリケーション iPhone の Web サイトを Eclipse、Aptana の iPhone Development プラグイン、そして iUi フレームワークを使って作成する方法を学んでください。この記事では iPhone の Javadoc ビューアーを開発する手順に沿って、ユーザー・インターフェースを設計する際のヒントを明らかにするとともに、今後の iPhone アプリケーション開発について説明します。 |
|
|
|
2008/01/29 |
|
| |
XMLBeans からのイベント受信 XMLBeans は XML と Java のデータのバインディングを行う素晴らしい技術ですが、モデル変更のオブザーバーを登録することはできません。ただし、生成された POJO (Plain Old Java Object) をカスタマイズすれば、必要なインターフェースと変更の通知を組み込むことができます。この記事では、数独 RCP (Rich Client Platform) のゲーム・アプリケーションを Eclipse で作成し、イベンティング (イベント通知機能) を使用してユーザーの入力を検証する方法を学びます。 |
|
|
|
2008/01/29 |
|
| |
コンポジット・アプリケーション連載: 第2回 QRコード を活用しよう(後編) 前編では、インターネット上で公開されているQRコード生成サイトを利用したコンポーネントを開発し、サンプルとして提供した別のコンポーネントと合わせて1つのコンポジット・アプリケーションに配置・ワイヤリングしました。今回は前編の続きのステップ2として、QRコードを表示するコンポーネントを改良していきます。 |
|
|
|
2008/01/25 |
|
| |
多忙な Java 開発者のための Scala ガイド: オブジェクト指向のための関数型プログラミング Java プラットフォームは、その登場以来ずっとオブジェクト指向プログラミングの領域のものでしたが、熱烈な Java 言語支持者でさえ、アプリケーション開発における『古いものは新しい』という最近の傾向である、関数型プログラミングに注目し始めています。この新しいシリーズでは、Ted Neward が Scala を紹介します。Scala は JVM に対して関数型の手法とオブジェクト指向型の手法を組み合わせたプログラミング言語です。Scala を紹介する中で、なぜ Scala を学ぶために時間を費やす必要があるのか、その理由 (1 つは並行性です) を説明し、また学んだことをすぐに生かせることを示します。 |
|
|
|
2008/01/22 |
|
| |
J2EE プロジェクトの IBM Lotus Expeditor V6.1 へのマイグレーション IBM Lotus Expeditor Toolkit を使って J2EE プロジェクトを IBM Lotus Expeditor V6.1 にマイグレートし、マイグレートされたプロジェクトを Lotus Expeditor ランタイムにデプロイしましょう。この記事では、J2EE プロジェクトをマイグレートするためにはどのようなステップが必要なのか、また J2EE のどの機構が Lotus Expeditor ではサポートされていないのかを説明します。 |
|
|
|
2008/01/22 |
|
| |
pureQuery について学ぶ: 第 2 回 クラス・モデラーを支援するためのデータ・モデリング オブジェクト指向開発者が従来のクラス・モデリングを使用してデータベース・リレーショナル成果物を定義する上で、pureQuery の機能がどのように役立つかを学んでください。 |
|
|
|
2008/01/17 |
|
| |
Grails をマスターする: 初めての Grails アプリケーションのビルド 最新の Web 開発フレームワークを採用するために、Java プログラマーが好みの言語や既存の開発インフラストラクチャーを放棄する必要はありません。毎月 1 回お届けする新連載、「Grails をマスターする」の第 1 回目では、Java のエキスパートである Scott Davis が Grails を紹介し、初めての Grails アプリケーションをビルドする方法を手ほどきします。 |
|
|
|
2008/01/15 |
|
| |
JavaFX Script で作るリッチ・アプリケーション 昨年春にデビューした JavaFX Script は、Java SE (Java Platform, Standard Edition 6) 上で動作し、高度なユーザー・インターフェースを簡単にコーティングできるようにするスクリプト言語です。この記事を読んで、JavaFX スクリプト言語の基本事項を学ぶとともに、サンプル・アプリケーションの作成を通して基本的な UI コンポーネントについて理解してください。 |
|
|
|
2008/01/15 |
|
| |
jpa2web を使って Ajax J2EE Web アプリケーションを生成する 新しいオープンソース・ツール、jpa2web を学び、試し、そしてこのツールに貢献しましょう。jpa2web は JPA アノテーション付きの Bean から J2EE Ajax ベースの Web アプリケーションを生成します。ZK フレームワークを利用してこのツールで生成されたアプリケーションでは、使いやすい Ajax ベースの Web ユーザー・インターフェースをとおして、データベースに同期されたオブジェクトのインスタンスの追加、削除、検索、修正、さらにはそのインスタンス間の相互接続をすることができます。 |
|
|
|
2008/01/15 |
|
| |
万人のためのオートメーション: オートメーションによるデプロイメントの円滑化 自動ビルドは開発チームのためだけのものではありません。自動ビルドを拡張することで、ソフトウェアを開発から実動へと容易に移行させることもできます。「万人のためのオートメーション」では今回、オートメーションのエキスパート、Paul Duvall が Ant を Java Secure Channel と組み合わせて使用して、リモートでソフトウェアを複数のターゲット環境にデプロイする方法を説明します。 |
|
|
|
2008/01/08 |
|
| |
コンポジット・アプリケーション連載: 第1回 QRコードを活用しよう (前編) 第0回ではコンポジット・アプリケーションを学ぶ上で有用な背景知識を整理しました。今回からはプログラムコードを交えて、実際のアプリケーション開発のステップの例を紹介していきます。 |
|
|
|
2007/12/21 |
|
| |
pureQuery について学ぶ: 第 1 回 Java データベース・アプリケーション作成のための IBM の新しいパラダイム pureQuery プロジェクトは、データベース・アプリケーション開発者に設計および実装の両フェーズで大幅に生産性を向上させる手軽な GUI ベースの手段を提供します。これを実現するのは、データにアクセスして操作する際にユーザーが起動する、リレーショナル・データから Java オブジェクトへの自動変換です。変換後のオブジェクトは、ビジネス・ロジックやベースとなるコードを作成する際に、通常の OO プログラミング・パラダイムでそのまま使用することができます。問い合わせ言語を Java 自体に統合する pureQuery の機能によって、実質的に、従来の JDBC プログラミングは排除されることになります。この記事は、pureQuery に関するシリーズの第 1 回です。 |
|
|
|
2007/12/14 |
|
| |
javax.tools を使って動的アプリケーションを作成する 最近のアプリケーションの多くには、アプリケーションの静的機能を拡張した難解な計算をユーザーが提供できるといった、動的機能が必要になってきていますが、このような目標を達成するとっておきの手段となるのが、Java SE (Java Platfo rm, Standard Edition) 6 に Java ソースのコンパイル用標準 API として追加されたパッケージ、javax.tools です。この記事では、このパッケージに含まれる主要なクラスについて概説します。さらに、これらのクラスを使用してファイルではなく Java String から Java ソースをコンパイルするためのファサードを作成し、このファサードを使って対話型のグラフ描画アプリケーションをビルドする方法を実演します。 |
|
|
|
2007/12/11 |
|
| |
多忙な Java 開発者のための db4o ガイド: トランザクションと分散管理、そしてセキュリティー db4o のようなオブジェクト指向データベースにオブジェクトを直接保存することで、Java 開発者はさまざまなメリットを得ることができます。しかし分散環境でトランザクションをサポートしたりデータを使用したり (さらにそれをセキュアに保つことが) できないと、あまり OODBMS の使い道はありません。今回は Ted Neward が「多忙な Java 開発者のための db4o ガイド」シリーズの最終回として、Java によるエンタープライズ開発での 3 つの主な懸念事項 (トランザクションと分散データ管理、そして Web アプリケーションのセキュリティー) を db4o がどのように処理するかを説明します。 |
|
|
|
2007/12/11 |
|
| |
ヒント: 非同期コールバックを最大限に利用する JavaScript アプリケーションで Ajax データ・ソースに対する非同期コールバックを最大限に利用するためには、ある程度工夫した処理が必要です。このヒントでは、なぜ Ajax データ・ソースに対して非同期コールバックを使う必要があるのかについて説明します。また、相互に依存するアプリケーションのデータ・ソースを適宜利用できるように調整し、いつでも非同期呼び出しに対応できるようにする例についても説明します。 |
|
|
|
2007/12/11 |
|
| |
Castor によるデータ・バインディング: 第 2 回 XML のマーシャリングとアンマーシャリング このシリーズの前回の記事では、Cator をダウンロードしてインストールし、セットアップしました。今回の記事では、Java(TM) クラスを XML に変換し、そしてその XML を Java コードに逆変換する方法について学びます。また Castor がどのように動作するのかについて、そして Castor の API でうまく動作するようにクラスを設計する方法についても説明します。 |
|
|
|
2007/12/10 |
|
| |
コンポジット・アプリケーション連載: 第0回 コンポジット・アプリケーションを取り巻く技術 コンポジット・アプリケーションとは、複数の画面を集約し、さらに連携させることによって既存の資産を再利用しながら作業効率のよい新しいアプリケーションを作るモデルです。
この概念自体は決して新しいものではありません。しかしながら適用された場はまだまだ少ないのではないかと思います。IBMではコンポジット・アプリケーションを作業効率のよいユーザー・インターフェースを実現するための重要な概念と位置づけ、このモデルを採用したアプリケーション、ミドルウェア、開発ツールを提供しています。
本連載ではデベロッパーの皆様がお持ちの資産や技術をどのようにコンポジット・アプリケーションに適用できるのか、どのように新規にコンポーネントを作ることができるのか、サンプルコードを交えてご紹介する予定です。 |
|
|
|
2007/12/07 |
|
| |
万人のためのオートメーション: 継続的インテグレーションのアンチパターン、第 1 回 継続的インテグレーション (CI) はプロジェクトでのリスクを軽減する上で極めて有効ですが、それと同時に、コーディングに関連する日々の取り組みがなおのこと重要になってきます。連載「万人のためのオートメーション」では今回、オートメーションのエキスパートであり、『Continuous Integration: Improving Software Quality and Reducing Risk』の著者でもある Paul Duvall が一連の CI アンチパターンを一つひとつ明らかにし、さらに肝心なその回避方法を伝授します。 |
|
|
|
2007/12/04 |
|
| |
ロボットと迷路、そしてサブサンプション・アーキテクチャー ロボット・シミュレーターは本格的な研究ツールであると同時に、IBM のコンピューター・プログラマー Paul Reiners がこの記事で示すように、Java プログラミングを使った本格的な楽しみへの道でもあります。光を求めて迷路を進む仮想ロボットを、Java 言語で Simbad を使って作成する方法を学びましょう (Simbad は Java の 3D 技術をベースにするオープンソースのロボット・シミュレーターです)。そしてサブサンプション・アーキテクチャーによるロボット設計の概念を実現する方法を学びましょう。 |
|
|
|
2007/12/04 |
|
| |
Java EE 5: その威力と生産性、そして軽減された複雑さ Java EE 5 (Java Platform, Enterprise Edition 5) のコンテナー・サポート、開発者向けツール、教材が改善され、そして開発者コミュニティーが実績を積んだことから、このプラットフォームを導入する組織は着実に増えてきています。この記事では Java EE 5 での新しい生産性向上機能と強化された API の概要を説明し、その単純化された開発モデルを実証する Web サービスの例を紹介します。 |
|
|
|
2007/11/29 |
|
| |
XSLT 2.0 でカスタム照合を使う XSLT 2.0 で注目すべき点の 1 つは、国際化、特にテキストのソートと比較に関する国際化サポートが改善されたことです。この記事では、カスタム照合関数を作成するための方法と、その関数を XSLT 2.0 のスタイルシートから呼び出す方法について説明します。 |
|
|
|
2007/11/27 |
|
| |
開発元直送シリーズ: OmniFind ESSearchApplication 解説 IBM OmniFind Enterprise Edition(以下OmniFind)は、イントラネットに存在する様々な情報を検索可能にするエンタープライズ向けサーチシステムを提供するソフトウェアです[文献1, 2, 3]。エンドユーザーはOmniFindのESSearchApplicationというWebアプリケーションを通じて、必要な情報を簡単に検索することが可能になります。このESSearchApplicationは、製品として利用可能なWebアプリケーションであると同時に、開発者が自由にカスタマイズできるようにソースコードも付属しております。開発者は、エンドユーザーの要望に添うようにアプリケーションを書き換え、よりビジネスニーズにあった検索ソリューションを提供することが可能になっています。本稿では、このESSearchApplicationの概要を紹介するとともに、実際の処理の流れを追いながらコードの解説を行っていきます。 |
|
|
|
2007/11/23 |
|
| |
developerWorks インタビュー: Web 2.0 EXPO Tokyoにてティム・オライリー氏に聞く 2007年11月15、16日、アジアで初となる Web 2.0 EXPO Tokyo が開催されました。私は、アドバイザリー・ボード・メンバーとして、USからロッドスミスを迎え、キーノート・スピーチの準備をするなど、このイベントを裏で支えてきました。Web 2.0 という単語の生みの親とも言えるティム・オライリー氏と、2日目のキーノートの直後にちょっとした会話をする機会を得ました。ティムはとてもフランクに、そして、楽しそうに会話してくれました。そのときの様子をIBMのXMLデータベース/Info 2.0 エバンジェリストである中林紀彦とともにお送りします。 |
|
|
|
2007/11/19 |
|
| |
Castor によるデータ・バインディング: 第 1 回 Castor のインストールとセットアップ データ・バインディング用にCastor をダウンロード、インストール、そして構成します。 |
|
|
|
2007/11/13 |
|
| |
Javaの理論と実践: フォークを活用する、第 1 回 Java 7 で登場する java.util.concurrent パッケージに追加されているものの 1 つが、フォーク/ジョインのスタイルによる並列分割のフレームワークです。フォーク/ジョインによる抽象化では、さまざまなアルゴリズムを分解し、ハードウェアによる並列処理を効果的に活用するための機構が提供されています。このシリーズの次回の記事では、メモリー内のデータ構造に対する並列ソートや並列検索の操作を単純化することができる、ParallelArray クラスについて説明します。 |
|
|
|
2007/11/13 |
|
| |
Java EE と Web 2.0 との出会い 標準 Java EE (Java Platform, Enterprise Edition 5) ベースの手法で開発した Web 2.0 アプリケーションはパフォーマンスとスケーラビリティーに関する深刻な問題に直面します。その理由は、同期 API の使用をはじめ、Java EE プラットフォーム設計の基礎となる多くの原則が、Web 2.0 ソリューションの要件には適用されないためです。この記事では、Java EE と Web 2.0 での手法の違いを解説し、非同期設計がもたらすメリットを検討するとともに、Java プラットフォームで非同期 Web アプリケーションを開発する際のソリューションをいくつか取り上げて評価します。 |
|
|
|
2007/11/06 |
|
| |
Java の診断を IBM スタイルで: 第 4 回 分析モジュールで IBM Dump Analyzer for Java を拡張する 連載第 1 回目の記事では、フォーマット済みシステム・ダンプを分析して問題の診断を支援するツール、IBM Dump Analyzer for Java を紹介しました。このツールが非常に優れている点の 1 つは、独自の分析モジュールを作成して機能を拡張できることです。今回の記事では、Java プラットフォーム用 IBM 診断ツールに関する連載の締めくくりとして、アナライザーの作成方法を紹介します。独自のアナライザーを作成して、システム・ダンプの詳細を完全に把握し、Java コードを微調整するのに役立ててください。 |
|
|
|
2007/10/23 |
|
| |
AjaxTags で Ajax 開発を容易にする Web 2.0 の時代には、Web ベースのアプリケーションのユーザビリティーと応答性に関する開発者やユーザーの期待はずっと高くなっています。この 2 年間ほど岩の下に住んでいたのでもない限り、皆さんはAjax (Asynchronous JavaScript + XML) の手法について聞いたことがあるはずです。Ajax を使えば、洗練されていていて、応答性が良く、しかも非常に動的なブラウザー・ベースのユーザー・インターフェースを、ブラウザーがページをリロードせずに作成することができます。この記事では AjaxTags について見ていきます。AjaxTags は Java/JavaScript ライブラリーであり、JSP ページに Ajax の機能を容易に統合することができます。 |
|
|
|
2007/10/23 |
|
| |
Java の診断を IBM スタイルで、第 3 回: Lock Analyzer for Java を使って同期とロックの問題を診断する alphaWorks から入手できる IBM Lock Analyzer for Java は、実行中の Java アプリケーションで、ロックが起こっていないかをリアルタイムで監視するツールです。このツールを使うと、ロック競合の問題があり、アプリケーションのパフォーマンスを劣化させている可能性があるスレッドが明らかになります。開発者はこの情報を利用して、ロック競合が軽減するようアプリケーションを修正し、パフォーマンスを向上させることができます。今回の記事では IBM Lock Analyzer for Java を取り上げ、その基礎となるアーキテクチャーを説明するとともに、このツールの将来的な方向についての見解を紹介します。 |
|
|
|
2007/10/16 |
|
| |
Ajax による JSF フォームの自動保存: 第 3 回 この連載の第 1 回では、Java 開発者である著者の Andrei Cioroianu が Ajax (Asynchronous JavaScript + XML) によって Web フォームのユーザー入力を送信し、JSF (JavaServer Faces) によって Ajax リクエストを処理する方法を説明しました。続く第 2 回では、サーバー側でのデータ管理を取り上げ、自動的に保存されたフォーム・データを維持するためのデータ・リポジトリーを紹介しました。3 回からなる連載の最終回となるこの記事で説明するのは、おそらく読者が想像する以上に巧妙な JSF フォーム・データのリストア方法です。興味深い JSF 手法として、JSF コンポーネントの immediate および onclick 属性を使用する方法、JSF リクエスト処理のライフ・サイクルのいくつかのフェーズを省略する方法、隠しフォーム要素を使って JSF リスナーを起動する方法を学んでください。この記事ではさらに、JSP/JSF 式を JavaScript コードに組み込む方法や JSF コンポーネントのレンダラーで生成された HTML フォーム要素と併せて JavaScript を使用する方法、そしてアプリケーション Bean のシリアライズおよびデシリアライズを行うサーブレット・コンテキスト・リスナーを実装する方法も説明します。 |
|
|
|
2007/10/09 |
|
| |
XForms を Google Web Toolkit と統合する、第 3 回: GWT を使って XForms を作成する この 4 回シリーズでは、GWT (Google Web Toolkit) と XForms とを組み合わせて動的な Web アプリケーションを作成する方法を説明します。第 1 回では、それぞれの技術について解説し、両者が JavaScript という基盤とどのような関係を持っているかを説明しました。第 2 回では、2 つのページを持つ小さなアプリケーションを作成する方法を説明しました。1 つのページは、レコード会社が管理するアーティストのリストを GWT を使って表示し、もう 1 つのページは、ある特定のアーティストが録音したアルバムを XForms を使って表示しました。第 3 回では、同じページで GWT と XForms を使い、それぞれの技術と JavaScript との関係を活用し、JavaScript を使って GWT と XForms との間の対話動作を実現します。 |
|
|
|
2007/10/09 |
|
| |
Java の診断を IBM スタイルで、第 2 回: Extensible Verbose Toolkit を使用したガーベッジ・コレクション IBM の新しいツール、Extensible Verbose Toolkit は、診断を支援し、メモリーに関連した Java パフォーマンス上の問題を分析することを目的に設計されています。4 回連載記事の第 2 回目では、このツールキットの入手方法と使用方法を説明し、Extensible Verbose Toolkit を使って一般的な問題を素早く診断する手順を実例で紹介します。 |
|
|
|
2007/10/09 |
|
| |
XML と Java 技術: 基本に戻る Brett McLaughlin が、文書構造から始まって、属性か要素か、という昔ながらの問題に至るまで、XML の基本のいくつかに立ち返ります。XML を最適化する方法を再び学び、いつも XML を最高の状態に保ちましょう。 |
|
|
|
2007/10/09 |
|
| |
オブジェクトの安全な公開と実質上の不変性を組み合わせてパフォーマンスを改善する 複数のスレッドが可変のコレクションへのアクセスを共有できるようにする一般的な方法、つまりコレクションへアクセスする際の同期は、パフォーマンスのボトルネックになり得ます。この記事を読んで、頻繁に読み取られる一方、更新頻度の少ないデータ構造に対してこのボトルネックを最小限に抑える手法を学んでください。この手法は Java 5.0 以降で使用することができます。 |
|
|
|
2007/10/02 |
|
| |
Java の診断を IBM スタイルで、第 1 回: IBM Dump Analyzer for Java の紹介 Java アプリケーションがますます複雑になった今、Java アプリケーションの問題を診断するのは容易なことではありません。場合によっては外部サービス組織との広範な作業も必要になってきます。そんななか、診断を正しい方向に導く指針があれば時間と経費の両面での節約になります。IBM Dump Analyzer for Java は、フォーマット済みシステム・ダンプで基本的な分析を行い、簡潔なレポートを生成して次に取るべき措置を示すツールです。 |
|
|
|
2007/10/02 |
|
| |
Java SE 6 でのパフォーマンスの監視と診断 パフォーマンスに重点を置いた Java SE (Java Platform, Standard Edition) バージョン 6 では、アプリケーションの管理、監視用ツール、そして一般的な問題を診断するためのツールが拡張されています。この記事では Java SE プラットフォームにおける監視および管理の基礎を概説するとともに、それに関連する Java SE 6 での機能強化について詳しく説明します。 |
|
|
|
2007/09/25 |
|
| |
Acegi を使って Java アプリケーションをセキュアにする、第 3 回: Java オブジェクトのアクセス制御 Acegi Security System を紹介するこの 3 回連載の最終回では、Bilal Siddiqui が Java クラスのインスタンスへのアクセスをセキュアにする方法を説明します。Java クラスへのアクセスをセキュアにしなければならない理由、Spring が Java クラスのインスタンスを生成してセキュアにする仕組み、そして Java アプリケーションにクラスのセキュリティーを組み込むように Acegi を構成する方法を学んでください。 |
|
|
|
2007/09/25 |
|
| |
Ajax による JSF フォームの自動保存: 第 2 回 連載「Ajax による JSF フォームの自動保存」の第 1 回では、Java 開発者である著者、Andrei Cioroianu が Ajax (Asynchronous JavaScript + XML) および JSF (JavaServer Faces) 技術を用いて、Web フォームを自動的に保存する Java アプリケーションを作成する手順を紹介しました。この手順に沿って、JavaScript と XMLHttpRequest を使ってフォーム・データを取得、エンコード、送信する方法、Ajax リクエストの処理に JSF リクエスト処理のライフ・サイクルを適応させる方法、JSF コンポーネント・ツリーから送信されたデータをサーバー側で取得する方法を理解できたはずです。3 回連載の 2 回目となるこの記事では、ブラウザー・セッション間で匿名ユーザーを識別する方法、複数のユーザーとページに対して自動保存されたフォーム・データを管理する方法、データ・リポジトリーを選択する方法、そしてスレッド・セーフの問題に対処する方法を説明します。 |
|
|
|
2007/09/18 |
|
| |
コード品質を追求する: ビヘイビア駆動開発を舞台にした冒険 テスト駆動開発 (TDD) は実際には素晴らしいアイデアですが、一部には、テストという言葉に結び付けられた考え方の飛躍にどうしてもついていけないという開発者もいます。そこでこの記事では、より自然な形で TDD のこの考え方をプログラミング・プラクティスに取り入れる方法を紹介します。JBehave を使ったビヘイビア駆動開発 (BDD) を試して、結果ではなくプログラムの振る舞いに重点を置くと、どんな変化が生まれるのか自分自身で確かめてください。 |
|
|
|
2007/09/18 |
|
| |
多忙な Java 開発者のための db4o ガイド: 配列とコレクション コレクションと配列によって、「多忙な Java 開発者のための db4o ガイド: 単純なオブジェクトを越える」で最初に解説した構造化オブジェクトは、一層複雑なものになります。幸い、db4o は多重度を持った関係の処理にも問題なく対処できるので、皆さんも恐れる必要はありません。 |
|
|
|
2007/09/18 |
|
| |
XForms を Google Web Toolkit と統合する、第 1 回: GWT の JSNI (JavaScript Native Interface) を紹介する この 4 回シリーズでは、GWT (Google Web Toolkit) と XForms とを組み合わせて動的な Web アプリケーションを作成する方法を説明します。第 1 回ではまず、GWT と XForms とを組み合わせて使う場合の問題をボトムアップの方法で説明します。それぞれの技術の基盤をいくつか調べ、両者をうまく共存させるための共通基盤を検証します。こうした作業は、GWT と XForms の両方を使う Web アプリケーションを開発するための基礎となります。 |
|
|
|
2007/09/18 |
|
| |
eJFace を使って組み込みアプリケーションを開発する 今後数年間はモバイル機器用アプリケーションの需要が増えると考えて間違いないでしょう。そんな今こそ、オープン・スタンダードの組み込み JFace ライブラリー、eJFace を学ぶにはちょうどいい時期です。組み込みアプリケーションの新しいビルド技術として登場した eJFace (embedded JFace) は eRCP (embedded Rich Client Platform) のコンポーネントの 1 つで、組み込みアプリケーションのユーザー・インターフェースを構成するための組み込み環境を開発者に提供します。この記事では eJFace を JFace と比較し、eJFace を使用してアプリケーションを開発する方法を紹介します。 |
|
|
|
2007/09/11 |
|
| |
XML と Java 技術: 3 つのタイプの XML パーシスタンス XML を利用すると、ありとあらゆる興味深いことができます。しかし XML をファイルに保持することができないと、すべては無駄になってしまいます。この記事では Brett McLaughlin が、XML のパーシスタンスに関するさまざまな戦略と、それぞれの長所、短所を解説します。 |
|
|
|
2007/09/11 |
|
| |
Java プログラミングで XML サービス定義を操作する SOA (Service-Oriented Architecture) は通常、一連のサービスをエクスポートします。XML サービスをモデル化し、さらにこれらのサービスをユーザー (人間、機械、あるいは他のサービス) が利用する上で、Java 技術は XML データを処理する強力な機構を提供してくれます。また SOA の概念を利用する上での重要な基礎でもあります。XML と Java 技術を利用した実用的な SOA の側面を調べ、この一見複雑に思える技術が、なぜこれほど人気が高いのかを示す明確な例を見つけましょう。 |
|
|
|
2007/09/11 |
|
| |
動的言語を動的に呼び出す、第 2 回: 実行時にスクリプトを発見し、実行し、そして変更する Java SE 6 に追加された Java スクリプト API、そして Java SE 5 との後方互換性によって、非常にさまざまな種類のスクリプト言語を、実行中の Java アプリケーションから単純で統一された方法で呼び出すことができます。この 2 回シリーズの記事の『第 1 回』では、この API の基本的な機能を紹介しています。第 2 回では、この API の強力さを、さらに詳しく紹介します。Ruby と Groovy、そして JavaScript で記述された外部スクリプトをプログラムの実行時に実行でき、また変更できることを説明し、それによってアプリケーションを停止して再起動せずにビジネス・ロジックを変更できることを示します。 |
|
|
|
2007/09/11 |
|
| |
動的言語を動的に呼び出す、第 1 回: Java スクリプト API 入門 動的言語を Java アプリケーションで使用するために Java バイトコードにコンパイルする必要はありません。Java コードからは、非常にさまざまな種類のスクリプト言語を、単純で統一された方法で実行時に呼び出すことができます。そのためには、Java SE (Java Platform, Standard Edition 6) に追加され、Java SE 5 と後方互換性がある、スクリプト・パッケージを使います。2 回シリーズの第 1 回である今回は、Java スクリプト API の機能について紹介します。この記事では単純な Hello World アプリケーションを使いながら、Java コードがスクリプト・コードをどのように実行するか、また逆にスクリプトはどのように Java コードを実行するかについて説明します。第 2 回では Java スクリプト API の実力を掘り下げて解説します。 |
|
|
|
2007/09/04 |
|
| |
リッチ・クライアント・アプリケーションのパフォーマンス、第 2 回: メモリー・リークの修復 Eclipse リッチ・クライアントのパフォーマンスに関するこの 2 回連載記事の第 1 回では、アプリケーションのパフォーマンス測定、インスツルメンテーション手法の適用、UI の応答性維持、そして誤ったスレッド化を避けるための Job の使用についての基本を説明しました。第 2 回となる今回は、メモリー使用量に焦点を当て、メモリー・リークを突き止める方法を説明します。 |
|
|
|
2007/08/07 |
|
| |
Java EE 5 の紹介 新たな Java EE 5 仕様、その大幅な機能拡張の数々、そしてこの仕様が WebSphere アプリショーンにとって何を意味するかを概説します。 |
|
|
|
2007/08/01 |
|
| |
リッチ・クライアント・アプリケーションのパフォーマンス、第 1 回: パフォーマンス分析のツール、手法、そしてヒント どんなに綿密に計画されたアプリケーションであっても、重大なパフォーマンス問題というのは持ち上がるものです。この 2 回連載の記事では、Chris Grindstaff がパフォーマンス問題を分析し、それに対処する手法を紹介します。第 1 回となる今回の記事では、Eclipse ベースの RCP (Rich Client Platform) アプリケーションのパフォーマンスを測定し、速度低下が CPU または I/O のどちらのボトルネックによって発生しているかを判断し、応答性を維持するために UI スレッドをアイドル状態にしておく方法を説明します。続く第 2 回ではメモリー問題を取り上げます。 |
|
|
|
2007/07/31 |
|
| |
Java Web サービス: 第 3 回 Axis2 でのデータ・バインディング Apache Axis2 Web サービス・フレームワークは、当初から複数の XML データ・バインディング手法をサポートするように設計されています。現行のリリースで完全にサポートしているのは、XMLBeans および JiBX データ・バインディング、そして Axis2 専用に開発されたカスタム ADB (Axis Data Binding) の手法です。この記事では、Axis2 でこれらの異なるデータ・バインディングを使用する方法を紹介するとともに、アプリケーションに応じてデータ・バインディングを使い分ける理由を説明します。 |
|
|
|
2007/07/26 |
|
| |
Geronimo への転向: 統合パッケージを使用する: Codehaus の Woodstox XML パーサーがハイパフォーマンスで堅牢なアプリケーションの鍵となることは珍しくありません。従来からの XML の構文解析手法には DOM (Document Object Model) と SAX (Simple API for XML) などがありますが、今や革新的な新しい構文解析手法が登場しています。それが、Java EE (Java Platform, Enterprise Edition) 5 仕様に統合されるほど有益な StAX (Streaming API for XML) です。Java EE 5 の完全実装である Apache Geronimo 2.0 でも、StAX パーサーとして Codehaus の Woodstox を組み込んでいます。今回の記事では、StAX の利点、そして Geronimo チームが StAX パーサーとして Woodstox を選んだ理由を説明します。 |
|
|
|
2007/07/24 |
|
| |
Eclipse でとびきり快適にする Mac OS X Java の開発エクスペリエンス Mac OS X は、Java 開発のための強力なプラットフォームです。Java 開発環境は Mac OS X にすっかり統合されていますが、Eclipse 統合開発環境 (IDE) を使えば、一貫したクロスプラットフォームな体験を実現する完全に統合された Java 開発環境を Mac OS X にもたらすことができます。この記事を読んで、Eclipse IDE を使用して既存の Xcode プロジェクトを Eclipse にインポートする方法、キーの割り当てを調整する方法、そして Eclipse を Mac OS X にバインドされた CVS (Concurrent Versions System) に統合する方法を学んでください。 |
|
|
|
2007/07/24 |
|
| |
コード品質を追求する: Ajax アプリケーションのユニット・テスト Ajax アプリケーションを作るのはワクワクすることですが、そのアプリケーションのユニット・テストには実に四苦八苦します。今回の記事で Andrew Glover が取り上げるのは、そんな Ajax のマイナス面 (マイナス面のひとつである)、非同期 Web アプリケーション特有のユニット・テストの問題です。彼が発見したように、Google Web Toolkit の助けを借りれば、この非同期 Web アプリケーションのコード品質の問題を思ったより簡単に解決することができます。 |
|
|
|
2007/07/24 |
|
| |
XPath インジェクションによる危険を回避する 単純な XML API、Web サービス、そしてリッチ・インターネット・アプリケーション (RIA) が普及したことにより、構成ファイルからリモート・プロシージャー・コールに至るすべてのものに対して XML をデータ・フォーマットとして採用する組織が増えてきました。なかには、フラット・ファイルやリレーショナル・データベースの代わりに XML 文書を使っている人までいます。しかし、外部のユーザーに対してデータの実行依頼を許可する他のあらゆるアプリケーションや技術と同じく、XML アプリケーションはコード・インジェクションによる攻撃、具体的には XPath インジェクション攻撃を受けやすいものです。 |
|
|
|
2007/07/17 |
|
| |
Geronimo 内部の Apache Pluto を管理する Web 2.0 対応アプリケーションを開発するときには言うまでもなく、ポータルとポートレット技術による開発は身に付けていたい最新の手腕です。Apache Pluto プロジェクトは Java Portlet Specification のリファレンス実装で、元々は Java Community Process と JSR (Java Specification Request) 168 によって作成されました。Java Portlet Specification は、Java プログラミング言語で開発するポータルおよびポートレット・コンポーネントに関するガイドラインを定義しています。この仕様は現在、従来のポータルに関する世界共通の標準、そしてプラグ可能な Web アプリケーションを構築するためのフレームワークとして認められています。この Pluto プロジェクトと Apache Geronimo の Java EE (Java Platform, Enterprise Edition) プラットフォームとを組み合せることによって、ポータルとポートレットを使用してカスタマイズ可能かつ管理しやすいシステムをビルドできる、極めて柔軟で強力な環境が実現することを学んでください。 |
|
|
|
2007/07/17 |
|
| |
XML と Java 技術: Sun の Java API と XML API は役に立つのか、それとも邪魔者なのか 長年 Brett McLaughlin の記事を読んできた人は、彼が SAX を好み、DOM はあまり好きではないことを知っているでしょう。彼がことさら快く思っていないことは、Sun がこれらの API をJAXP (の初期のバージョン) のようなパッケージの中にラップしてしまうだけではなく、最新バージョンの Java 技術と J2SE (Java 2 Platform, Standard Edition 1.2-1.4) が、ほとんど完全にこれらの API に取って代わろうとしていることです。 |
|
|
|
2007/07/10 |
|
| |
万人のためのオートメーション: アーキテクチャー健全性のアサーション 皆さんのソフトウェア・アーキテクチャーは思い通りのものになっていますか? ソース・コードに関して言えば、お互いに伝達し合った設計が、必ずしも期待していたとおりに実現されるとは限りません。今回、Paul Duvall が再開する連載「万人のためのオートメーション」では、アーキテクチャー上の逸脱をそれが発生してから見つけるのではなく、JUnit、JDepend、そして Ant を使って作成したテストで事前に見つける方法を紹介します。 |
|
|
|
2007/07/10 |
|
| |
Hamlet を実装する Hamlet フレームワークは、Java サーブレットを拡張してコンテンツと表示を強制的に分離するために開発されました。この記事では、著者の Ren Pawlitzek が、このフレームワークをさらに進化させ、テンプレート・エンジンの洗練した使い方をすることで、動的コンテンツを提供するための、新しい方法を紹介します。 |
|
|
|
2007/07/03 |
|
| |
Merlinの魔術: もう1つのシンプルなフレーム AWT Frameクラスを変えることによって、タイトル・バーなどのプラットフォーム固有のウィンドウ装飾をプログラム上で隠すことや、フレームを最大化することができます。 |
|
|
|
2007/07/01 |
|
| |
多忙な Java 開発者のための db4o ガイド: 単純なオブジェクトを越える 前回までは、db4o の中でオブジェクトを作成したり操作したりすることはとても簡単に見えました。実際のところ、少し簡単すぎるかもしれません。今回の記事では、熱狂的な db4o 支持者である Ted Neward が、単純なオブジェクトが、構造化オブジェクト (つまりオブジェクトを参照するオブジェクト) になった場合に何が起こるのか、また無限再帰やカスケーディング動作、参照整合性などの問題が発生した場合に何が起こるかについて説明します。 |
|
|
|
2007/06/26 |
|
| |
Geronimo への転向: OpenEJB 3.0 の最新情報 J2EE (Java 2 Platform, Enterprise Edition) の仕様は Java 技術をエンタープライズ・アプリケーション開発における最高位の技術にのし上げました。その地位を守るべく長年進歩を重ねている Java 技術ですが、Java EE 5 (Java Platform, Enterprise Edition 5) の仕様では特に大きな飛躍を遂げています。OpenEJB は当初から Geronimo に欠くことのできない部分となっていましたが、その 3.0 リリースが Java EE 5 の仕様を Geronimo へ実装する際の中核となっています。今回の「Geronimo への転向」では、EJB (Enterprise JavaBean) 3 を支える原動力、そして OpenEJB が Geronimo に大胆な新機能を提供するまでに強化された過程を明らかにします。 |
|
|
|
2007/06/26 |
|
| |
プロパティー・エディターの調整
JVEを利用していると、「自分のコンポーネントもJVEできちんと使いたい」と思うようになります。自分で作成したコンポーネントを共通部品のような形で再利用し、ビジュアル・エディターの上で活用するには、ツールそのものを拡張していく必要があります。今回から、JVEを拡張(改造)して、独自コンポーネントをビジュアルエディターに統合する方法を紹介していきます。
|
|
|
|
2007/06/20 |
|
| |
JOLAP による複雑な分析型クエリーの実行 Shashank Tiwari が、Java エンタープライズ・プラットフォームでの OLAP (On Line Analytical Processing) データおよびメタデータの作成と管理をサポートする前途有望な仕様、JOLAP を紹介します。 |
|
|
|
2007/06/19 |
|
| |
Javaの理論と実践: volatile を扱う Java 言語に元々含まれている同期機構として、synchronized ブロック (およびメソッド) と volatile 変数の 2 つがあります。どちらも、スレッド・セーフにコードを描画するために提供されています。2 つのうち、volatile 変数の方が同期の仕組みとしては強力でない (しかし場合によると、より単純、あるいはコストが安い) のですが、誤った使い方をしやすいものでもあります。今回の Java の理論と実践では、Brian Goetz が volatile 変数を正しく使うためのパターンをいくつか調べ、volatile 変数を適用できる限界について注意を促します。 |
|
|
|
2007/06/19 |
|
| |
Cypal Studio for GWT を使って Ajax 開発をもっと簡単にする GWT (Google Web Toolkit) を使えば、Java プログラマーが完全に Java プログラミング言語でリッチな Ajax (Asynchronous JavaScript + XML) アプリケーションを作成することができます。この GWT 構造の管理サポートするのが、Eclipse IDE 用に設計された Cypal Studio for GWT です。この記事を読んで、Cypal Studio for GWT が GWT モジュールの新規作成を支援する方法、そしてリモート・プロシージャー呼び出しをサポートして Web アプリケーションを簡単に表示、デプロイできるようにする仕組みを学んでください。 |
|
|
|
2007/06/19 |
|
| |
第2回スーパー・カブロボ・コンテスト: 上級編(6) 約1ヶ月半に渡って紹介してきましたスーパー・カブロボ・コンテスト 上級編の紹介ですが、定期連載としてはいよいよ今回が最終回になります。今まではどちらかというと上昇する株や下落する株の選び方をテクニカル指標をベースにしたり、ファンダメンタル情報に基づきながら選別する方法を中心に紹介してきました。今回は少し視点を変えて、選別された株の注文方法を工夫するような投資ロボットを作ってみます。 |
|
|
|
2007/06/15 |
|
| |
リアルタイム Java、第 5 回: リアルタイム Java アプリケーションの作成とデプロイメント リアルタイム Java を話題にした 6 回連載の第 5 回では、IBM WebSphere Real Time に用意されたツールを使ってリアルタイム Java アプリケーションを作成し、デプロイする方法を紹介します。サンプル・アプリケーションを例に、ガーベッジ・コレクションによる一時停止を制御する Metronome ガーベッジ・コレクター、ランタイム・コンパイルによる一時停止を回避するための AOT (Ahead-Of-Time) コンパイラー、そしてとりわけ厳しいタイミング要件に対応するための NoHeapRealtimeThread について説明します。 |
|
|
|
2007/06/12 |
|
| |
Apache Pluto を組み込んだ Apache Geronimo に対してポートレットを作成し、デプロイする ポートレットは、複数の場所にあるデータの集約や、異なるアプリケーションの統合を実現し、さまざまなユーザーのグループが協力する作業空間を提供するための、強力なツールです。Apache Pluto はポートレット仕様の参照実装であり、開発中のポートレットをテストするのに適しています。この記事は、Apache Geronimo サーバーの中に Pluto ポートレット・コンテナーをインストールし、構成するための方法について解説します。 |
|
|
|
2007/06/12 |
|
| |
シームレスな JSF、第 3 回: JSF と相性のいい Ajax JSF のコンポーネント・ベースの手法は抽象化を促進しますが、大抵の Ajax 実装は基礎となる HTTP 交換を公開するため、抽象化の妨げとなります。連載「シームレスな JSF」の最終回となるこの記事では、Dan Allen が Seam Remoting API と Ajax4jsf コンポーネントを使って、ブラウザー・サイドの Bean と通信しているかのようにサーバー上の管理対象 Bean と通信する方法を説明します。JSF イベント駆動型アーキテクチャーにふさわしい改善として Ajax を利用するのがどれほど簡単か、そして JSF コンポーネント・モデルに影響を与えずにこの改善を行う方法を学んでください。 |
|
|
|
2007/06/12 |
|
| |
JavaOne 2007: Sun が再びクライアントに力を入れ始めています 作成されたコード、討議された言語拡張、そしてダンスするロボットに、大量消費されたビール。どれを取っても今年の JavaOne 開発者のカンファレンスは成功でした。Elliotte Rusty Harold が振り返ってみると、カンファレンス最大のニュースだったのは JavaFX Script を初めとするクライアント・サイドのイニシアチブです。Sun がクライアントに再び力を入れていることが、この先 1 年、Java ベースのリッチ・インターネット・アプリケーション開発でどんな意味を持つのか、この記事で読んでください。 |
|
|
|
2007/06/05 |
|
| |
Apache Solr でもっと賢く検索する: Apache Solr でもっと賢く検索する、第 2 回: エンタープライズに対応した Solr Solr の紹介を締めくくるこの記事では、Lucene Java のコミッター Grant Ingersoll が、管理インターフェース、高度な構成オプション、そしてキャッシング、複製、ロギングなどのパフォーマンス機能を含め、Solr のエンタープライズ向け機能を説明します。 |
|
|
|
2007/06/05 |
|
| |
第2回スーパー・カブロボ・コンテスト: 上級編(4) 今回は一般的なテクニカル分析の範疇からはいったんはずれて、どちらかというとファンダメンタル的な情報を元に動作するようなカブロボの例を紹介します。具体的にはカブロボの SDK を利用して取得できる外国為替の情報を頼りに、輸出関連銘柄や輸入関連銘柄を売買する、というロジックを実装してみます。 |
|
|
|
2007/06/01 |
|
| |
Eclipse 流のユニット・テスト 皆さんのレガシー・コードをテストする場合、そのソース・コード・ベースに対して実行するのに適したクラスを集めたテスト・スイートが必要でしょうか。jMock は、そうした目的に最適なテスト・フレームワークです。しかし、jMock はすべてのケースに最適とは限らず、特に jMock の想定外の方法でオブジェクトを作成しなければならない場合には最適とは言えません。アプリケーションの中でのユニット・テストをサポートするためにカスタムのモック・オブジェクト一式を作成する手間を避けるために、RMock を調整することで jMock をシームレスに扱うことができ、望ましい結果を得ることができます。
|
|
|
|
2007/05/29 |
|
| |
Apache Solr でもっと賢く検索する: Apache Solr でもっと賢く検索する、第 1 回: 基本機能と Solr スキーマ Solr は Lucene をベースにしたエンタープライズ対応の検索サーバーで、ファセット検索、検索結果の強調表示、そして複数の出力形式をサポートします。Solr を紹介するこの 2 回の連載記事では、Lucene Java コミッターの Grant Ingersoll が Solr ならではの優れた全文検索機能を簡単に Web アプリケーションに取り込む方法を伝授します。 |
|
|
|
2007/05/29 |
|
| |
Rational Application Developer V7 を使って JSR 168 連携ポートレットを作成し、デプロイする IBM Rational Application Developer V7 で利用できる連携ポートレット (cooperative portlet) ツールについて、単純な連携アプリケーションを作成して IBM® WebSphere Portal 6.0 サーバーにデプロイしながら学びましょう。ここで示すサンプル・アプリケーションでは JSR 168 の JavaServer Faces ポートレットを中心に説明しますが、基本ポートレットと Struts ポートレットについても簡単に説明します。 |
|
|
|
2007/05/29 |
|
| |
Apacheの戦士Geronimoが持つ実力: 第6回 Ruby on Geronimoを試す(後編)
|
|
|
|
2007/05/25 |
|
| |
Apacheの戦士Geronimoが持つ実力: 第4回 GBean×DI徹底解剖
|
|
|
|
2007/05/25 |
|
| |
Apacheの戦士Geronimoが持つ実力: 第1回 勇気を出してジェロニモとお近づきになってみる
|
|
|
|
2007/05/25 |
|
| |
多忙な Java 開発者のための db4o ガイド: db4o を使ってデータベースをリファクタリングする Java コードのリファクタリングはリレーショナル・データベースのリファクタリングよりもずっと簡単ですが、幸いにもオブジェクト・データベースの場合には、そうとも言えません。今回の「多忙な Java 開発者のための db4o ガイド」では、Ted Neward が、彼の好きなオブジェクト・データベースの、もう 1 つの利点を紹介します。つまり db4o によって、ほとんど取るに足らないと思えるほどリファクタリングを単純化できるのです。 |
|
|
|
2007/05/22 |
|
| |
Apache Derby を使用した開発 ― 3 連単を当てる: Apache Derby を使用した開発 ― 3 連単を当てる: Apache Derby を使用した Java データベース開発、パート 5 Apache Derby データベース・アプリケーションで準備済みステートメントを使うときに利用できる拡張機能について学んでください。まず初めに、ij ツールで動的に PreparedStatement を実行して迅速なプロトタイプ化を有効にします。続いてデータを PreparedStatement に流し込んで大量のデータを特定の列に効率的に挿入する方法、そして ParameterMetaData オブジェクトを使って、ベンダー固有の実装詳細をはじめ、PreparedStatement に含まれる個々のパラメーターに関する情報を取得する方法を説明します。 |
|
|
|
2007/05/22 |
|
| |
第2回スーパー・カブロボ・コンテスト: 上級編(2) スーパー・カブロボ・コンテストの Java プログラミング上級編の第2回目である今回は、「過去の株価を取得する方法」を紹介します。 |
|
|
|
2007/05/18 |
|
| |
理論的・計画的なWebアプリケーションのテストの実現: Mercury QuickTest Professionalを使ったテスト オープンソースの機能テストツールであるJameleonを使ったWebアプリケーションのテスト作成とは別に、今回は、商用製品である「QuickTest Professional 9.0」を用いて同様の内容を行ってみます。 |
|
|
|
2007/05/18 |
|
| |