ひしだまの変更履歴

ひしだまHPの更新履歴。
主にTRPGリプレイの元ネタ集、プログラミング技術メモと自作ソフト、好きなゲームや音楽です。

タイムアウト時のエラー

2009-01-19 22:09:33 | PG(RDBMS)

Oracleでタイムアウトというと、まずSELECT FOR UPDATEの“NOWAIT”や“WAITの時間指定”。
(NOWAITはタイムアウトとは違うか(苦笑))

それから、JDBCのsetQueryTimeout()
でもあまり精度は良くない模様。

それとはあまり関係ないけど、Oracleってデッドロックをずいぶん簡単に検出してくれるんだなぁ!
てっきりトランザクションがタイムアウトするまで待つのだと思ってた。

コメント
  • X
  • Facebookでシェアする
  • はてなブックマークに追加する
  • LINEでシェアする

DPリプレイ『源平鬼御魂』

2009-01-17 22:52:29 | TRPG

デモンパラサイト異聞『源平鬼御魂 ~剣姫照魔伝~』

正式名称には「リプレイ」とも「サプリメント」とも書かれていないけど、両方(笑)
(Role & Roll Booksって、縦長なので微妙に仕舞いにくいんだよなー。
 Role & Roll Booksと言えば、シャドウランはどうなったんだろう?も書いたような気がするが(苦笑))

デモンパラサイトの“異聞”ということで、タイトルを見て分かる通り源平の時代。
と言ってもPCが平家側で敵が義経なのは珍しいか。史実どおりではない“トンデモ”系の話なので、義経も変な奴なんだが(笑)
もっとも、トンデモ具合はやはり天さんには敵わないが(爆)
(お約束として「この物語はフィクションです。実在のものとは関係ありません」が随所に現れるのだが、最後のモンゴルに対して特別にきっちりフォローされているのに感心した)

ところで、今回はプレイヤーも売りのひとつ?
鈴木銀一郎さん、F.E.A.R.の鈴吹さん、フォーチュンクエストの深沢さん。
と新人(?)の大井さん。二つ名がDMOとFMOの2つある^^;
F.E.A.R.からグループSNEの作品に出演するならまず鈴吹さんだろうと思っていたので当たったと言えば当たったけど、既にそういう構想があったのか(汗)

コメント
  • X
  • Facebookでシェアする
  • はてなブックマークに追加する
  • LINEでシェアする

Bufferクラスの使い方

2009-01-16 05:29:28 | PG(Java)

文字コード変換の実装を調べていてCharsetDecoderというものが出てきたので使ってみようと思ったら、Bufferクラスも出てきた。
ファイルチャネルの使い方を勉強したときにBuffer(ByteBuffer)クラスの存在だけは覚えていたけれど、いまいち使い方が分かってなかった。
今回改めて試してみて、ようやく使い方が分かった!気がする。要するに、使用方法がかなり限定されているんだな。
(少なくとも、StringBuffer(StringBuilder)のような使い方をするものではないようだ)

メソッドを呼び出すタイミング(利用状態)がほぼ決まっているのと、メソッドを呼び出した後に利用状態が変わるのがポイント。

  • 使用タイミング:書込中か読込中か
  • 状態の変更(書込→読込、読込→書込)

バッファーを現在どちらの状態で使っているのか意識してないといけないのが分かりづらい…。同じメソッドでも、読み取り中か書き込み中かに応じて意味が変わったりするし。

コメント
  • X
  • Facebookでシェアする
  • はてなブックマークに追加する
  • LINEでシェアする

java -jar -classpath

2009-01-15 21:49:21 | PG(Java)

javaコマンドにおいて、実行可能jarファイルを実行する指定(-jar)と-classpathを同時に使用しようとすると、出来ない。
マニフェストのClass-Pathを使うのが素直な解のような気もするけど、bootclasspathを使うなんて方法(裏技?)も考えられる。

あと、jarファイルの中にjarファイルをそのまま入れる事も出来ない。
まぁ、それが出来るようだと、さらにその中にjarファイルを入れて(以下繰り返し)…という状態に対処するのが面倒だろうし(苦笑)

コメント
  • X
  • Facebookでシェアする
  • はてなブックマークに追加する
  • LINEでシェアする

ClasspathUtils.Delegate

2009-01-13 23:41:55 | PG(Java)

Ant(build.xml)でクラス名やクラスパスを指定してインスタンスを生成してメソッドを呼び出す方法をメモ。
Ant1.6から導入されたClasspathUtils.Delegateクラスはちょっと便利かも(笑)
ClasspathUtils#newInstance()も、いちいちcatchを書かなければならない余計な(?)例外をBuildException(RuntimeException)に吸収してくれるので便利だ。

それにしても、Antでデフォルトのクラスパスに入っていない外部クラスを扱うと、同じクラス名でもクラスローダーが違って別クラス扱いになってしまうことが多くて対処に疲れる(苦笑)
いろいろ試している内に、複数のtaskdef(typedef)で同一のloaderrefを指定している場合は 最初の一つだけclasspathを指定して、他のは省略できることを発見。

コメント
  • X
  • Facebookでシェアする
  • はてなブックマークに追加する
  • LINEでシェアする