– ブラウザ上でお絵かき – DrawingCanvas クラス(Days of the Moon)
複数の描画エンジンに対応していて、さまざまなブラウザで利用可能な描画用クラス。SVG Tiny 、HTML Canvas 、CSS Positioning 、VML に対応している。
ネタ元:
– Ajax で簡単リソースモニター
JSON で実現する快適な Ajax
AJAX で JavaScript でサーバからの出力を解釈する際に、最も用意にパースできる出力形式として、JSON(JavaScript Object Notation)形式があります。出力が XML ではなくなるため、厳密には Ajax(Asynchronous JavaScript + XML)ではなくなりますが、JSON を利用することで、JavaScript でのパース作業が格段に容易になる上、クロスドメイン呼び出しが可能になるというメリットがあります。
基本的な文法についてはこちらが参考になりますが、大体このようになります。
var person = {
name: “John”, // name プロパティ
age: 30,
family: [ // 配列
{name: “Jane”, age: 24}, // 配列内オブジェクト
{name: “Richard”, age: 1}
]
};
// 参照例
alert(person.name); // John が出力される
alert(person.family[0].name); // Jane が出力される
JavaScript で動的利用する場合、
– JavaScript – JSONでデータを受信する方法2種類(s.h.log)
– dojo toolkit の ScriptSrcIO(snippets from shinichitomita’s journal)
が参考になります。
これを PHP で生成する場合、PHP 5.2.0 以降デフォルトで組み込まれるようになったJSON関数(PECL:php-json)を利用します。日本語使用時の注意として、json_encode に渡す文字列の文字コードは UTF-8 にする必要があります。
echo json_encode(array(“name”=>”John”, “age”=>30));
また、JSONP (JSON with Padding) という手法により、サーバ側からクライアントに対し非同期コールバック関数を実行させることができます。
リクエストURL:
http://foo.example.com/api/person?name=John&callback=myPersonHandler
リクエスト結果:
myPersonHandler({name: “John”, age:30});
埋め込む HTML:
<script type=”text/javascript” src=”http://foo.example.com/api/person?name=John&callback=myPersonHandler” charset=”UTF-8″><!–
function myPersonHandler(result){
alert(result.name + ” is ” + result.age + “years old”);
}
//–></script>
こうすると、サーバからの結果の出力完了後に自動的に myPersonHandler が呼ばれるようになります。なお、myPersonHandler という関数名は、リクエストURL の callback パラメータを元にしているため、クライアント側で任意の関数に置き換えることが可能です。
参考:
– PHP で JSON(Do You PHP?)
– Collection & Copy – JSON 入門
– JavaScript – dojo の ScriptSrcIO で動的クロスドメイン JSON 読み込み
– JSONP とコールバック関数(戯れ言++ – 入門 JSON 3)
最近良く使う Firefox 拡張
– All In One Gesture(関連 – Firefox まとめサイト)
– IE Tab]https://addons.mozilla.org/firefox/1419/]([[関連記事)
Java Web Start と Java 3D の関係
Java 3D を使う上で、障害になるのが、作成したプログラムの配布方法。
一つ前のエントリの方法で j3dcore-*.dll をバンドルして、manifest.mf を
Manifest-Version: 1.0
Bundle-NativeCode: j3dcore-d3d.dll;j3dcore-ogl.dll;j3dcore-ogl-cg.dll
Class-Path: j3dcore.jar j3dutils.jar vecmath.jar
Main-Class: Main
のようにして Executable JAR を作成、j3d*.jar と同じフォルダに置いて実行すれば簡単に動作するので、これをまとめて配布はできるのですが、この方法だと Java 3D のライセンス(LICENSE-Java3D-v*.txt: 2.a – 2.e)が懸念事項になります。
そこで、もう一つの配布方法として、公式のデモでも使われている手法、
Java Web Start を使うことにしました。
以下参考にした犀角(Diceros Horn)のとくながさんの記事へのリンクです。
– Java Web Start リンク集 ( 犀角(Diceros Horn) )
– Java Web Start を始めてみる
– Java Web Start のサンプル
– JWS で jar ファイルに含まれるファイルにアクセスするには
JNI で DLL, SO 等のネイティブライブラリを JAR に含めるには
作成したクラスを JAR にまとめる際にネイティブライブラリをルートディレクトリにいれて
manifest.cf を以下のようにすれば、任意のネイティブライブラリ(下の例では a.dll, b.dll, c.dll) を含めた状態で実行可能な JAR が作成可能です。
Manifest-Version: 1.0
Bundle-NativeCode: a.dll;b.dll;c.dll
Main-Class: Main
作成時のファイル構造:
<root directory>
– Main.class
– a.dll
– b.dll
– c.dll
– manifest.cf
作成コマンド:
jar cmf manifest.cf out.jar Main.class a.dll b.dll c.dll
参考:
– How to set Bundle-NativeCode in manifest file in JES? (Sun Developer Forums)
PHP で Ajax
– xajax(SourceForge.net)
– PHPでAjax! JavaScript不要のxajax(MYCOM ジャーナル)
Web API ネタ
– Geocoding API
書式: http://www.geocoding.jp/?q=<キーワード>
指定したキーワード(住所、地名、駅など)を持つ場所の座標(経緯度)を検索して XML で返します。
– Google CodeSearch
書式: http://www.google.com/codesearch/feeds/search?q=<キーワード>
指定したキーワードを、公開されているソースコードから検索して、該当したソースコードの URL を RSS フィード(Atom 1.0)で返します。
Koders.com なんかの Google 版ですね。
詳細:
– Google CodeSearch Data API Overview
– Google CodeSearch の使用法(Zend Framework)
Web API の動向については using API が参考になります。
Windows XP SP2 でプログラム実行時のファイアウォールブロックイベントを記録する
「Windows ファイアウォールの通知を有効または無効にする(Microsoft Technet)」によると、
コントロールパネル -> 管理ツール -> ローカルセキュリティポリシー を実行して
セキュリティの設定 -> 監査ポリシー -> ポリシーの変更の監査 を、
成功、失敗時に監査するようにすることで記録できます。
ちなみにイベントログは「コンピュータの管理」または「管理ツール」から、「イベントビューア」のセキュリティログで見ることができます。
Java で Ajax
– JavaをJavaScriptに変換するグーグルのツールを使ってみよう
GWT (Google Web Toolkit), おもしろい。
参考:
– Google Web Toolkit 公式サイト
– Googlipse (公式または Sourceforge.net)
Eclipse 用 GWT プラグイン。
– Google Web Toolkitを使ってJavaでAjax開発(All About)
Googlipse を使って開発するときの手順が参考になります。
この記事ではデプロイについては方法が書かれていませんが、仮想ブラウザで実行中に、仮想ブラウザの上部の「Compile/Brose」ボタンでデプロイできます。詳しくはGooglipse 公式の Docs を参照のこと。
– Google Web Toolkit 評価(Cybozu Deveoloper Network)
Java 6 とニュースサイト
@IT を見ててようやく気づいたのですが、12/12 に Java SE 6 がリリースされてました。
というわけで…
– 待望の Java SE 6 でパーシステンス(@IT)
この連載の第1回で触れられている、Scripting APIs(javax.script)のプロジェクトが興味深いです。
ついでに…
– Java News(Java に関する最新ニュース)
Java とネット開発関係の最新ニュース。