2009-01-01から1ヶ月間の記事一覧

DWR: 例外(Exception)のハンドリング

先のログ「DWR: Javaオブジェクトを画面の要素にマップする」で、「(DWRでマップする)Objectの型に合わない入力をすると例外(org.directwebremoting.extend.MarshallException)が発生する」と書いた。この場合、「Error」と書いたAlertボックスがポップ…

DWR: Javaオブジェクトを画面の要素にマップする。

DWRでは、サーバーにあるjavaオブジェクト(POJO)と画面要素を透過的にMapすることができる。dwr.warの「Editable Table」がこのサンプルにあたるが、サンプルには完全なコード(java)が付属していない。 コードを補完しようとしたところ、動かずに手こず…

DWR: サーバーからHTMLファイルを取得する(その2)。

先の「DWR: サーバーからHTMLファイルを取得する」のサンプルで、「日本語のHTMLを差し込むと文字化けする」と書いた。この問題は、ServletContextDemo.java(コードの全文は「DWR: サーバーからHTMLファイルを取得する」を参照)の // WebContext(if)はServ…

DWR: サーバーからHTMLファイルを取得する。

前回のログ(「Direct Web Remoting」)に引き続き、dwr.warにあるサンプルをみていく。今回は、非同期に、ウェブ・アプリケーション・サーバー(以下、サーバー)からHTMLファイルを取得するサンプル(dwr.warにある「Resource Forwarding」Example)。少し…

Direct Web Remoting

DWRは、サーブレット環境で稼動するAjaxツール。そのサンプリングを始めるにあたり、ようやく辿りついた、との感慨深い。 Ajaxが流行り始めた頃、(残念ながら廃刊になってしまった)「Javaワールド」誌を休暇中の旅先に持っていった。 JavaでAjax(XHR;XMLH…

Metadataのサンプル

以前に一度、Java5の仕様評価をしたとき、先のログ(「Metadataとは」)で書いた「Dynamicな利用」は、煩雑さが先に立ってしまっている印象を受けた。Javaでは、「なんで、こんな仕様が??」ということがしばしばあって、Log4Jというデファクトスタンダード…

Metadataとは

一般に、「Meta(メタ)」という言葉は、それに続く言葉の上位概念を意味する。 したがって、Metadataは、dataの上位概念いう意味だが、「上位概念」という言葉はわかりずらい。 ITに関する限り、(誤解を恐れずに書くとすれば)「上位概念」は「属性」を意…

AutoComplete Control: Combo Box

YUIのExample「AutoComplete Control: Combo Box」へのリンク このExampleの画面は下。 入力フィールド(inputタグ)には、AutoCompltetが機能がついている。 そして、入力フィールドの脇のボタンを押すと、下のように「AutoCompleteで使われるリスト」が、…

Static Importのサンプル

Static Import(静的Import)は、他のクラスで定義されたstatic定数やstaticメソッドを、import文によって取り込むことを意味している。これもサンプルを書いてしまった方が速い。 よく、「定数クラス」といって、 package test.beans; public final class C…

Varargsのサンプル

VarargsはVariable-length arguments(可変長の引数)の意味で、コンストラクタやメソッドに渡す引数の個数が特定できない場合、引数の個数に自由度を持たせたい場合に使用する。要するに、数を限定せず、同じ型のオブジェクトを(コンストラクタを含むメソ…

Code Beautifier

MdN発行のムック「スタイルシート表現デザイン帖」はよい本だと思う。ここに、先日の「Browsershots」と並んで、「code beautifier」というオンラインウェアが紹介されていた(リンクはこちら)。トップページ(下図)上に「CSS Formatter and Optimiser」と…

Browsershots

先のログ「W3C CSS Validation Service」で、「CSSによる見た目は実際のブラウザーで」と書いた。 自分の手持ちの機械は、以下。 WindowsXP(SP3); IE7, Safari3, FireFox3, Chrome1 WindowsXP(SP2); IE6, FireFox3(2から上げてしまって失敗) OSX 10.5.6; Saf…

W3C CSS Validation Service

W3Cでは、「W3C Markup Validation Service」でメモしたHTML検証以外に、CSSの妥当性検証のツールを用意してくれている。W3C CSS Validation Service(リンクはこちら)の初期画面は以下。 HTMLの検証サービスと同様にURLを指定する場合(下の図)には、HTML…

W3C Markup Validation Service

HTMLの文法をチェックするために、W3CがValidation Service(以下、validator)を提供している。validator(リンクはこちら)にアクセスすると以下の画面が出てくる。 「ここは、HTML、XHTMLなどのValidationをするところだから、CSSなどを検証したいときは…

TypeSafeなEnumを拡張する

TypeSafeなEnumの「値」には、プロパティーを追加したり、メソッドを追加したりという拡張を施すことができる。 ここでは、このようなTypeSafeなEnumの拡張を行ってみる。一風変わった書き方になる。 サンプルを見た方が速いので、サンプルコードを以下に示…

TypeSafeなEnum(基本)

Java5.0より、Typesafe(タイプセーフ;型に関して安全)なEnumという型が追加された。 リテラル(値)を列挙して保持するのに用いられることから、「列挙型」と呼ばれる。 一種の内部クラスであって、少し変わった動きをする。まずは、簡単なサンプルを書い…

インターネット広告について

少し古くなるが、News Weekの2008/12/24号に面白い記事が載っていたのでメモしておく。内容は、FaceBookの売り上げが4月の予想よりも1億ドルも低くなる(3億5000万ドルから2億6500万ドル)、というもの。 「不況の話」のように見えるが、記事を読むと、「広…

AutoComplete Control: Searching Field A, Submitting Field B with itemSelectEvent

YUIの「AutoComplete Control: Searching Field A, Submitting Field B with itemSelectEvent」へのリンク このサンプルでは、AutoCompleteで選択した項目(item)とセットになっている情報を、「itemを選択したというイベントで取得する」方法が示されてい…

10進数と16進数(ヘキサ)の変換

ここ数日、HTML+CSSを書いている。このために本屋で色見本を見ていて、RGBが10進表記されている見本しかないのに気がついた。 (前からそうだったのか記憶がないが、10進とヘキサの変換をした記憶はある)「手書きHTMLの身」としては、10進とヘキサの変換を…

Autoboxing/unboxingのサンプル(シグナチャ)

ここでは、この機構が シグナチャ にどう影響するのか、確認してみる(基本型とラッパークラスで記述したシグナチャを、きちんと区別するか、を確認する)。たとえば、以下のような3つのメソッド(A)、(B)、(C)があったとする。この場合に、Autoboxing/Unbox…

Autoboxing/unboxingのサンプル(比較演算子)

Autoboxing/unboxingの機構は、(誤解を恐れずに書くと)ラッパークラス(オブジェクト)をプリミティブ型変数の「垣根」をなくす機構。ここでは、この機構が 比較演算子 にどう影響するのか、確認する。(比較演算においてどのように振舞うか、を確認する。…

Autoboxing/unboxingのサンプル(基本)

「プリミティブ(基本)型」と「参照型」について簡単に書いてから、Autoboxing/unboxingについて書こうと思う。プリミティブ型は、「値」だけ持つ変数であって、オブジェクトではない。 Javaはオブジェクト指向言語であるから、これらプリミティブ型に対応…

Genericsのサンプル(型引数をとるメソッド)

ここでは、型引数を使ったメソッドのサンプルコードを書いてみる。Genericsの導入により、メソッドが アクセス修飾子 戻り値の型 メソッド名(引数の型 < 型引数 > obj) ... (1) という書き方ができるようになった。 まず、以下にこの(1)の記法を用いたサンプ…

Genericsのサンプル(型引数をとるクラス)

「GenericsとAutoboxingの簡単なサンプル」では、簡単な例を使って、GenericsとAutoboxing/unboxingが対になることで、コードの単純化、実行時例外(Runtime Exception)の前倒し(コンパイルエラーにする)を実現できることを示した。ここでは、型引数を使…

拡張for文のサンプル

Tigerより、for文が簡易に書けるようになった。まずは、サンプルプログラムから見てみる。 package test; import java.util.ArrayList; import java.util.List; /** * 拡張for文のサンプル * */ public class ExampleEnhancedLoop1 { public static void mai…

AutoComplete Control: Custom Formatting, with a Proxyless Remote DataSource

YUIのExample「AutoComplete Control: Custom Formatting, with a Proxyless Remote DataSource」へのリンク 2009/4/11追記;Yahoo Video Serch APIが廃止になってしまったため、Official ExampleはFlickrから画像を取得するものに変更になっている。 変更点…

AutoComplete Control: Customizing Remote Requests

YUIのExample「AutoComplete Control: Customizing Remote Requests」へのリンク このExampleでは、サーバーにあるPHPプログラムをProxyにして、YAHOO! WebSerach(V1)からAutoCompleteの候補を取得している。 タイトルにCustomizingとあるのは、WebSearchへ…

一年の計

自分はWebのニュースより、紙面の方が好きな旧式人間。紙面がいいのは、(タイムリーでない代わりに)「保存できる」こと。 昨日から、溜まってしまったNews Week誌を眺めている。12/24号に、経済システムの支援には、先進国のみならず新興国のGDPの7%が必要…