2010年09月04日
インペリアルクロスの戦士達 その1
ジェイムズ「なに,パリィされただと!?」
ベア「まだまだだねジェイムズ君.さあ次は僕の番!」
ジェイムズ「くぅ,ディフレクトしきれない…アーッ」
テレーズ「おーい野郎ども出陣でござるよニンニン(ガラッ」
ジェイムズ「ふー」
ベア「ふー」
ジェイムズ「あ,待ってくれ,違うんだテレーズ,その弓を下ろしてくれ,そうそうそうそう,ただちょっと俺の巻き打ちとベアたんのなぎ払いをアレしてただけなn(ry」
テレーズ「イド☆ブレイク」
ベア「まだまだだねジェイムズ君.さあ次は僕の番!」
ジェイムズ「くぅ,ディフレクトしきれない…アーッ」
テレーズ「おーい野郎ども出陣でござるよニンニン(ガラッ」
ジェイムズ「ふー」
ベア「ふー」
ジェイムズ「あ,待ってくれ,違うんだテレーズ,その弓を下ろしてくれ,そうそうそうそう,ただちょっと俺の巻き打ちとベアたんのなぎ払いをアレしてただけなn(ry」
テレーズ「イド☆ブレイク」
zak_raw at 17:28|Permalink│
XSLT2.0 on AppEngine for Java まとめ
AppEngineにてXSLTベースでwota-music.infoを作ってみましたのですが,途中いろいろ詰んだと思いつつ蜘蛛の糸をたどる感じに解決できたのでメモします.
1. vosaoプロジェクトがリビルドしたSaxon9.2を入手してlibに追加する
デフォルトのXSLTプロセッサ実装がAppEngine的にブラックなためです.
とりあえずXalanを使ってましたが,主にxsl:attributeでselectを使いたいという理由によりXSLT2.0対応のSaxonに替えました.
が,公式サイトから入手したSaxon9.2HEはデプロイ環境でクラスのロードに失敗.
java.lang.SecurityException: SHA1 digest error for net/sf/saxon/TransformerFactoryImpl.class
SHA1 digest errorて,どうしたらいいの
ということでgoogle先生に色々訊ねてvosaoプロジェクトのとあるIssuesにたどり着きました.
すると下の方に
3. URIResolverを実装し,TransformerFactoryインスタンスにセットする
Class#getResource()でスタイルシートをロードするようにしたのですが,その場合スタイルシート内にてxsl:importで相対パスを解決できないためです.
getResource()したものをStreamSourceにラップして返します.
1. vosaoプロジェクトがリビルドしたSaxon9.2を入手してlibに追加する
デフォルトのXSLTプロセッサ実装がAppEngine的にブラックなためです.
とりあえずXalanを使ってましたが,主にxsl:attributeでselectを使いたいという理由によりXSLT2.0対応のSaxonに替えました.
が,公式サイトから入手したSaxon9.2HEはデプロイ環境でクラスのロードに失敗.
java.lang.SecurityException: SHA1 digest error for net/sf/saxon/TransformerFactoryImpl.class
SHA1 digest errorて,どうしたらいいの
ということでgoogle先生に色々訊ねてvosaoプロジェクトのとあるIssuesにたどり着きました.
すると下の方に
Try to update saxon-9.2.jar from
http://code.google.com/p/vosao/source/browse/#svn/repository/saxon/saxon/9.2
ということでAppEngine用にリビルドされたと思しきjarを入手しまして解決しました.
ありがとうkinyeloさん
2. TransformerFactoryインスタンス入手時にSaxon実装のクラス名を指定する
引数がある方のファクトリに
"net.sf.saxon.TransformerFactoryImpl"を指定して呼びます.
classLoaderの方はnullでOKです
3. URIResolverを実装し,TransformerFactoryインスタンスにセットする
Class#getResource()でスタイルシートをロードするようにしたのですが,その場合スタイルシート内にてxsl:importで相対パスを解決できないためです.
getResource()したものをStreamSourceにラップして返します.
2010年06月09日
初めてのC言語によるwin32アプリ
しばらくBREWアプリ検証部屋だったのですが,
BREWとWindowsを連携させるシステムのWindows側の負荷試験&原因調査のお仕事をもらったので,
しばらく初めて自分の机で仕事です.
そして初めてのC言語です.この読みづらさはLunatic.
と思いきや "javaの使い手が書くCソースは美しかった"とのツイートReplyもいただき,
結局はどの言語でもどのように書くかが重要というか論点なのかと思いました.
無論言語ごとの特徴もあります.それはそれでみんな違ってみんな良い.
あと読む上で,OO言語に慣れてると
object.method( argument )
から
function( struct, argument )
への読み替えがなかなかしんどいです.
あと言わずもがな,C言語の特徴としてポインタを隠蔽してない辺りですね.
あとDWORDという型は何ぞと思ったらunsigned longの別名だったり.
あとtry-catch機構がないのでハンドルされない例外がどこで出てるのか全く分からなくて困っています.
あと言わずもがな基本ライブラリでできることできないことの差異とかなどなど.
何だかんだ言ってやっぱり言語ごとに色々違いますね^^
BREWとWindowsを連携させるシステムのWindows側の負荷試験&原因調査のお仕事をもらったので,
しばらく初めて自分の机で仕事です.
そして初めてのC言語です.この読みづらさはLunatic.
と思いきや "javaの使い手が書くCソースは美しかった"とのツイートReplyもいただき,
結局はどの言語でもどのように書くかが重要というか論点なのかと思いました.
無論言語ごとの特徴もあります.それはそれでみんな違ってみんな良い.
あと読む上で,OO言語に慣れてると
object.method( argument )
から
function( struct, argument )
への読み替えがなかなかしんどいです.
あと言わずもがな,C言語の特徴としてポインタを隠蔽してない辺りですね.
あとDWORDという型は何ぞと思ったらunsigned longの別名だったり.
あとtry-catch機構がないのでハンドルされない例外がどこで出てるのか全く分からなくて困っています.
あと言わずもがな基本ライブラリでできることできないことの差異とかなどなど.
何だかんだ言ってやっぱり言語ごとに色々違いますね^^
2010年04月27日
放置してました
放置してました^^
4月一日に入社してBREWアプリ検証の日々です.KDDIの下請けです.
この間MacとSpin買って一応DJ環境が整ったりなどありましたが以降の日記で徐々に拾わねば.
てかTwitter率が高すぎてブログの必要性に疑問を感じる昨今だが自分用に続けんとす.やはり数年後見返すと面白いと思う.
あとTwitterは「やっていること/考えていること」というか具体的なことを,こちらは「思っていること/思っただけのこと」というか抽象的なことという使い分けをしてみようと思う.
てか学校という友達ベースな環境がなくなって頭のバッファをフラッシュする機会が一気に乏しくなっている.
などと真面目なことをツイートするとアレなのでやはりブログは必要だ./dev/null 的な.
4月一日に入社してBREWアプリ検証の日々です.KDDIの下請けです.
この間MacとSpin買って一応DJ環境が整ったりなどありましたが以降の日記で徐々に拾わねば.
てかTwitter率が高すぎてブログの必要性に疑問を感じる昨今だが自分用に続けんとす.やはり数年後見返すと面白いと思う.
あとTwitterは「やっていること/考えていること」というか具体的なことを,こちらは「思っていること/思っただけのこと」というか抽象的なことという使い分けをしてみようと思う.
てか学校という友達ベースな環境がなくなって頭のバッファをフラッシュする機会が一気に乏しくなっている.
などと真面目なことをツイートするとアレなのでやはりブログは必要だ./dev/null 的な.