2009-01-01から1ヶ月間の記事一覧
昨日に引き続きAndroidでゲームを作るパターンを紹介します。 ゲームを作成する場合、なんらかのタイミングで画面を再描画していきますが、イベント駆動で再描画するパターンと一定周期で再描画するパターンの2つがあります。先に紹介したパターンはイベン…
Androidを使ってゲームでも作りたいな、という事でAPIとか調べならが試してみました。AndroidではSwingは使えないのですが、比較的に似たインターフェイスのAPIが用意されているため、Swingで簡単なゲームを作ったことがあればすぐになれるのではないでしょ…
Reflection APIを使ってClassのMethodを取得し、そのメソッドの修飾子をチェックする場合、次のように記述します。 if ((method.getModifiers() & Method.PUBLIC) != 0) { // Publicの場合の処理 } このように書いてはいけません。 if (method.getModifiers(…
そろそろ導入しようかと検討中ですが、ポイントを幾つか。 体験版は30日使用可能。 ただし、http://www.act2.comでは配布していないので、https://www.vmware.com/からダウンロード(要登録) ダウンロード版は9,980円、パッケージ版は13,800円(多少は割り…
Macと格闘中です。本日の嵌りポイントは、NetbeansでJDKを指定する、JRubyのgemを利用するの2本です。 NetbeansをJava6で起動する Apple Dev CenterからJava6はダウンロードしてインストールできている前提です。 インストール後は、Application/Utility/Ja…
ちょうどタイムリーなエントリーがありましたので便乗ネタです。PilikaはJavaで実装しているテンプレートエンジンですが、JSPの式言語と同じようにして変数を埋め込むことができます。 <p>${title}</p> ここまではよくあるパターンです。 Expressionで重要なのは、E…
結局、StAXのパーサが環境によって異なる位置情報を返す問題は、同梱されている実装クラスが異なりどうにもならない、という結論に達しました。少なくともJava6に同梱されている実装(sum実装)ではうまく動かないのでどうにもならないです。なので書き直す…
PilikaではStAXをXMLのパーサに採用しているわけですが、実装時からどうもおかしな挙動をしていました。 XMLStreamReader#getLocationは「プロセッサの現在の位置」を取得するメソッドなのですが、実際にとれる位置は現在の位置ではなくて次の要素が取得でき…
MacbookにMaven2をインストールしてみました。 Maven2をダウンロードする http://maven.apache.org/ よりMaven2をダウンロードします。圧縮ファイルをダウンロードして適当なディレクトリで展開します。 tar xzvf apache-maven-2.0.9-bin.tar.gz mv ./apache…
Java6から加わった標準XMLパーサにStAXというパーサーがあります。JavaのXMLパーサーといえば、SAXとDOMが有名ですが、StAXは第3のパーサーでSAX寄りの性質を持ちます。 DOMはXMLをパースした上で構造化した文書モデル(Document Object Model=DOM)へ変換…
JRubyを使ってRubyのスクリプトからJavaのメソッドを呼び出す時、引数がjava.util.Map型となっている場合、次のようにしてRubyのHashをJavaのjava.util.HashMapに変換できます。 map = java.util.HashMap.new({'key' => 'value'}) 追記 Hashをそのまま渡して…
SVNを使用してソースコードを管理している時、共通して使用するライブラリなどを複数のプロジェクトで使用したいケースや、プラグインのようにあるプロジェクトの一部を異なるリポジトリに配置したいケースがあります。 このような時、Subversionの外部定義…
Netbeans6.5にバンドルされているJRubyのgemは1.2です。Rails2.2系にするとgemが古いと怒られます(Railsは更新できるのに…) で、updateしろといわれるわけですが、指示通りにやってもUpdateできません・・・。 >gem update --system Updating RubyGems Not…
初期化プロセスのメモ。 boot.rb environments/development.rb plugins/xx/init.rb initializers/yy.rb というわけで、pluginの初期化よりも先にinitializersが実行される事になってました。pluginを使って何か初期化をするケースを想定してるのでしょうね。
JRubyのパッケージ名に関して嵌っていたと昨日のエントリーで書きましたが、幾つかのトップレベルパッケージとそれ以外のパッケージで使用できる書式が違うという事が原因でした。サンプルなどでは、Swingやjava.lang.Systemなどがほとんどなのでミスリード…
JRuby(1.1.6)で色々とテストしていますが、不思議な現象に悩まされています。
おー、地味に「修正OK」なんて出力されているよ! http://www.deathmarch.jp/hudson/job/pilika/jp.deathmarch.pilika$pilika/7/testReport/jp.deathmarch.pilika/RenderTest_script/ Hudsonかわいいよ、Hudson。
というわけで解決いたしました。 ・・・原因はこちらです。
テンプレートエンジンpilikaの特徴として、スクリプトを必要に応じて好きな言語で記述できる、という事を考えているのですが、いきなり暗礁にのりあげてしまいました。Java6のスクリプト言語サポートは、様々なスクリプト言語を同時に使える可能性を秘めてい…
最初はMavenの依存ライブラリにGroovyとJRubyを入れてみたが、案の定asmがコンフリクトしました。そこで、ClassLoaderを指定するScriptEngineManagerを使い、スクリプト関連のライブラリはローカルフォルダから個別のクラスローダでロードする形にしました。…
Hudsonいいですね。非常に直感的に使い易いインターフェイスで日本語化もされている為、最初に使うCIツールとしては敷居が低いのはポイントです。Maven2の設定がある程度できる人ならば、すぐに使いこなせるのではないでしょうか? というわけで色々設定して…
継続的インテグレーション(CI: Continuous Integration)は、プロジェクトのビルドとテスト、更にはそれらのレポートの作成までを全て自動化する事です。CIツールとしては、Continuum が有名ですが、SubversionやMaven2などと組み合わせて使用します。以前…
昨年の新型の発売に合わせてMacBookを購入したわけですが、初Macという事もありWindowsのアプリを使うことも多かった事から、ほとんどBoot Campで使っていました。年末年始で時間も取れたのでMacに慣れるべく色々とやろうと思ったものの、色々とはまっていま…