2005年9月アーカイブ

Google Earth(2)

| コメント(0) | トラックバック(0)

昨日研究室で久々に起動したら千葉周辺の詳しいデータがupされてた!

早速おばあさん家を見てみたり、自分ンちを見てみたりしたのだが、何故か微妙にぼやけてて最大解像度で見れなかった。
んで今日また繋いだらなにやらupdateしろというダイアログが...。verupして(Google Earth自体はサイズ小さいのでversionupも手軽に済ませられるのでイイね。)自分ンちをもう一回見たら見える見える!

おばあさんち→自分ンち→小学校→中学校→高校→大学とたどってみました。やっぱ自分が知ってるところを見るのは楽しいねぇ。


とりあえずおばあさん家がまだ取り壊されていない&大学の駐車場ががら空きと言うことから考えておそらく今年の3~4月のデータでしょうな。

ぬぉ

| コメント(0) | トラックバック(0)

書店に行ったらマガジンで連載中の「さよなら絶望先生」があったので間髪入れずに買った。

Zetubousensei_.jpg
↑カバーが微妙に凝ってて和紙っぽい。

これ、勝手に改蔵読んでた人なら違和感なくそのまま読めるなぁ~。
時事ネタ、社会風刺ネタ、マニアックなネタも健在で面白い。

「さよなら絶望先生」でぐぐってみたら宣伝Flash発見。よくできてるなぁ...。


ところで勝手に改蔵の元ネタ集を見つけた。
http://www.h6.dion.ne.jp/~fukkou/kai01.htm
こうしてみるとこんなにネタが隠れていたのかと思う。

バイト帰りに本屋に寄ったら前のエントリーで紹介した本があったので間髪入れずに買ってしまいました。

想像していたよりも結構見た目は薄かった。(中身は濃そうだが...

hondana.jpg

とりあえず、ばばっと斜め読みした感じだと隣に置いてあるEffective Perl同様、文章にちょっとした違和感を感じる。まぁ、2冊とも元が洋書だからこれはしょうがない。元の文章を向こうの人が書いてる以上、日本人が全く違和感を感じることのない文章に訳せと言われてもそれは無理だろう。おっと話が脱線。

とりあえず第一印象としては結構むずそうな事も書いてありそうだし、読むのに時間食いそ~。ってことかなぁ
その前に自分はさっさとデザパタ本を最後まで読み終えねばならんのですが(;´Д`)

#現在の積ん読リスト
#1,FreeBSD徹底入門 2,Perlプログラミング救命病棟 3,Effective Perl
#シェーダー関連の本とかいれたら6冊ぐらいいくな(汗


そーいえば大学の生協に行ったら夏休み中にUnix,Perl関連の本が全滅してた。
Perlデータマンジング狙ってたんだけどなぁ・・・。

今日は1~3月あたりしていたバイト関連の打ち上げでした。色々ごちそうになっちゃったり(´Д`a)...

おごってもらってるだけじゃ申し訳ないのでお礼の意味も込めて紹介してしまおう。
ここのブックメール倶楽部というサイトの構築お手伝いをしてました。現在は言語学の本を中心に取り扱ってるらしいです。

実を言うと完成したバージョンを見るのはついさっきだったりします。作ったままほったらかしで申し訳ない orz
それにしても自分が担当したページもちゃんと綺麗にデザインされてるよ~。コーディングしていたときは真っ白な味気ないページだったからなぁ...ちょっと感動。とりあえず稼働が一段落ついたというところなのでこれからの更なる発展を願います。


---
ところで酒の席でも言いましたが、最近野菜ジュースにはまってます。
↓主に伊藤園のコレ

juujituyasai.png

ついこの間まで赤い「充実野菜」の方がメインだったのですが、昨日意を決して「緑の野菜」を飲んだところ(だって青汁っぽくて絶対不味そうなんだもん)コレがめちゃうまい!緑の野菜はマスカット味なんだよね。「充実野菜」よりもツブツブ感はなくサラサラしてるしこれからは緑の方を飲もうかなぁと思ってます。

大学の生協に行ったら「充実野菜」しかなかったので一言カードに緑の野菜も置いて欲しいと書いておいた。ペヤング同様(*)うまくいけばいいのだが...。

(*)...ペヤング置いてほしいという願いは一言カード投入後2ヶ月ほどで叶いました。が、ここ2,3日ほどで消えたっぽいです(何)。ペヤング人気ないのかなぁ~。UFOよりペヤング派なんだけども。

Eclipse3.1で独自の例外クラスを作っていたら見慣れない警告文が出てきた。


The serializable class HogehogeException does not declare
a static final serialVersionUID field of type long

どうやら1.5からSerializableインターフェースを実装したクラスとバージョン番号 (serialVersionUID) を関連付けるようになったらしい。これにより受信側で変なオブジェクトを復元しないように検証できるとか。(InvalidClassExceptionが投げられるようだ)

このserialVersionUIDは別に宣言する必要はないが、なるべく明示した方がいい&スーパークラスのThrowableクラスでSerializableインターフェースを実装しているので、今回このような警告文が出てきた模様。

Eclipse3.1での解決法
 ->警告マークをダブルクリック。後は「Add default serial version ID」か「Add generated serial version ID」を選択。

#なんか直列化するのにますます手順がめんどくなってきた気がする。

CのGAソースをJavaに置き換える作業が1週間ほど滞っていたので7時ぐらいまでそっちの方を重点的にやっていた。と、いってもUMLのクラス図をゴリゴリ書いていただけだったりする。

どうやら友人数人がオレと同じプロジェクトに入ることになりそう。彼らが正式配属する前に遺伝子の初期化の部分まででイイのでクラス図だけでも完成させたい。実装が簡単なクラスは暇そーな人に任せよう。(何


---
ゴリゴリ書いたクラス図をコミットしたら次のEclipse起動時に開けなくなってた。
あー、そうだった、Free版はプロジェクトの共有ができないんだったと思い出し、泣く泣く切断。個人でもバージョン管理ぐらいしたいんだけどなぁ...。

そろそろMDから乗り換えようかなぁとかれこれ半年近く思ってるのですが、最近AppleとSonyが新しい製品を発表したようです。まだ買わなくてよかったかもしれん。

iPod nano
ウォークマンA
(インプレスの記事より)
ソニーのNW-A600シリーズは基本的に前回書いたNW-500シリーズの改良版っぽい。付属ソフトがCONNECT PlayerになったりUSB2.0に対応になったので転送速度がupしたのが大きな違いかな。なんだけどやっぱり充電池交換不能だし、有機ELの寿命はどんな感じなのかワカランところが怖い。

iPod nanoは薄くてイイナァ~。なんだけど再生時間が14時間っていうのがなぁ

むぅ、どちらも一長一短なのでどちらにしようか激しく迷う。

激しく逃避

| コメント(0) | トラックバック(0)

SWTを使ってここ1週間ほど頑張ってみたのだが破綻気味...。
どうもイベント処理がうまくいかない。LightweightSystemがどうもうまく動いてくれない。スクロールするとまたしても描写した画像が崩れるし(;;´Д`)

どーにかしたいのだが、とにかく参考になる資料が少ない。資料と言っても大部分が英語のページだし。やっぱりGUIプログラミング初心者には敷居が高すぎる。


...というわけでSwingに逃げることにした。特に速度求めてないし。こっちなら資料がメチャおおいし、SDKに標準で付いてきてるからjavadocの日本語版もあるし(言い訳

参考なるページはSwingの方が多いし何とかなるだろう。でもコネクションを貼るとか、グラフィックの描写は1から自分でつくらきゃいかんのか?と思ったのだがJGraphというライブラリを発見。(Draw2DをSwingでも使えないかなぁと思ったが、どうしてもスクロールするのにFigureCanvasが必要→FigureCanvas使った時点でSWTに依存になってしまうので無理っぽい。このページでDraw2DはSWTに依存するって言うのはこーゆうことか。)

JgraphTest.png
サンプルのHelloWorldを動かしてみたところ。こ、これはイイ。わずか80行ほどで画面に貼り付けたオブジェクトをマウスで移動させることもできるし、画面外にオブジェクトがあればスクロールバーも自動で出る。
コネクションもDraw2D同様に3行程度でお手軽にできるっぽい。正にSwing版Draw2Dって感じ。(調べたら他にもこういうグラフィックライブラリがあるらしいね。)

memo:マイナス方向はDraw2D同様にダメ。ノードをプロットする部分は使い回せそう。
#とりあえずしばらくはSwingの勉強でもしよう

EclipseUML(2)

| コメント(0) | トラックバック(0)

前回挫折したEclipseUMLに再挑戦。

構成は前に日本語化した Eclipse 3.0.2と EclipseUML 2.0.0.20050407。結果は...
UMLTest.png
普通に集約表示できたし...(´Д`;)
結局まだEclipse3.1でUMLは様子見と言うことで、3.1でコーディング。3.0.1はUMLという風に使い分けることにした。

NodeViewer(3)

| コメント(0) | トラックバック(0)

前回出たエラーの詳細。

org.eclipse.swt.SWTError: No more handles
at org.eclipse.swt.SWT.error(SWT.java:2968)
at org.eclipse.swt.SWT.error(SWT.java:2865)
at org.eclipse.swt.SWT.error(SWT.java:2836)
at org.eclipse.swt.graphics.Image.internal_new_GC(Image.java:1909)
at org.eclipse.swt.graphics.GC.(GC.java:132)
at org.eclipse.draw2d.BufferedGraphicsSource.getGraphics(BufferedGraphicsSource.java:106)
at org.eclipse.draw2d.DeferredUpdateManager.getGraphics(DeferredUpdateManager.java:129)
at org.eclipse.draw2d.DeferredUpdateManager.repairDamage(DeferredUpdateManager.java:223)
at org.eclipse.draw2d.DeferredUpdateManager.performUpdate(DeferredUpdateManager.java:145)
at org.eclipse.draw2d.DeferredUpdateManager$UpdateRequest.run(DeferredUpdateManager.java:40)
at org.eclipse.swt.widgets.RunnableLock.run(RunnableLock.java:35)
at org.eclipse.swt.widgets.Synchronizer.runAsyncMessages(Synchronizer.java:123)
at org.eclipse.swt.widgets.Display.runAsyncMessages(Display.java:3057)
at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:2716)
at org.eclipse.jface.window.Window.runEventLoop(Window.java:809)
at org.eclipse.jface.window.Window.open(Window.java:787)
at jp.ac.dendai.sie.dilab.nodeviewer.test.draw2d.zoom.Main.main(Main.java:76)

大学名出てますよというのは置いておいて~
org.eclipse.swt.graphics.GCってあるからSWT用のガベージコレクタかなんかかいなと思っていたのだが全然チガウっぽい。主に底の方で描写するためのクラス。このクラスのオブジェクトに問題のhandleが割り付けてあるらしい。更にinternal_new_GCの先も見ようかなぁと思ったが、残念ながらnativeメソッドだった。むぅ。

結局レイヤーだけ弄ってみてもだめだということが分かったのでレイヤーからレイヤーマネージャーを取ってきてhogehogeしてみたり、参考のリンク先読んだり、ぐぐってみたり、Draw2Dのドキュメント(ダウンロード先はこちら。draw2dフォルダの中にzipで入ってる)を読んでみた結果

UpdateManagerを使うんじゃないか?というところまでいけた。クラスの説明のところに再描写するとか書いてあるしね。多分コレ使えばremoveした図形分のhandleも解放してくれそう。
結局ごちゃごちゃやった割にはあんま進んでない。

NodeViewer(2)

| コメント(0) | トラックバック(0)

nodeviewer3.png
ノード間の感覚をあけるように倍率を変更すると再描写するようにしたのだが...

nodeviewer4.png
最初数十回はイイ感じで動くんだけど、ずっとグリグリホイールボタンで倍率をいじってるとこんな感じで崩れる。最終的にはOSも巻き込みそーになる。

出たエラーがコレ。
org.eclipse.swt.SWTError: No more handles

確かにホイールをぐりぐりやってるとメモリがガンガン食っていくのをタスクマネージャで確認できた。一回の再描写でこの場合だと100個もノードがあるわけだしそれを数十回やってると何千個ものオブジェクトがヒープ上に存在することになってしまう。ScalableLayeredPaneのremoveAllメソッドだけじゃ中に突っ込んでるオブジェクトの廃棄はやってくれてないのかも。メモリ1G積んでるのでGCが働く前に割り付け不能になってるのかなぁ・・・。

#倍率変更するたびに再描写っていうのもなんだかなぁ...。
#もうちょぃ調査&テストしなければ...

NodeViewer

| コメント(0) | トラックバック(0)

と勝手に命名。とりあえず前回気になったスクロールバーを表示するトコまで書いてみた。
プログラムはおおまかに見ると
フィギュア(ノードとかコネクションとかラベル等)作ってフィギュアの設定

各フィギュアを適時レイヤーに突っ込む

レイヤーをキャンバスに突っ込む...といった流れになる。

んで出来たのがコレ

nodeviewer_test3.png

やっぱりというか、想像はしていたんだけどやっぱりマイナス方向にスクロールバーを持っていくことは無理みたい。FigureCanvasのscroll系メソッドを使ってもマイナス方向はやっぱだめ。

setViewportメソッドはどうかなとやってみたがやっぱり結果は同じ。しかもコレ使うとスクロールしたときに画像が崩れてしまった。

むぅ~、そうするとノードデータを読み込むときに原点から最もx軸方向、y軸方向に離れた2つの点を探してその分他のノードもビュー用に平行移動するしかなさそう。あんましモデルの方は弄りたくないんだけどなぁ...


#とりあえずコネクション関係のユーティリティクラスを黙々と作成中

前回紹介したページを基にとりあえず作ってみた。

nodeviewer_test.png

参照したページの通りにやってみただけ。今回はJfaceを使用。SWTを簡単に扱う為のものらしい。ラッパーみたいなモノかなと思ったけど、どうやら完全にSWTの機能を提供しているわけではないらしいのでやっぱりSWTがサッパリわからんというワケにもいかなさそうだ。ApplicationWindowクラスを継承して書いていく。

簡単にコネクションが張れることに感動。これなら2-3日で完成か!?と思ったが問題が色々。
とりあえず現時点での問題点を挙げていくとしたら
・フィギュアが端に行きすぎて途切れてもスクロールできない。(これはFigureCanvasクラス使えば解決できるらしい)
・GAのマップデータ作成プログラムがマイナスの座標を吐き出す(一応マイナスの座標を指定し、プロットすることは出来たが(当然途切れているが..)、FigureCanvasクラス使ってもマイナス方向にスクロールできるのかしら)
・NodeとNodeの間隔が狭かった場合、すごく見づらい。これをどーするか。

nodeviewer_test2.png

#もっと色々テストして調べないとなぁ~

このアーカイブについて

このページには、2005年9月に書かれたブログ記事が新しい順に公開されています。

前のアーカイブは2005年8月です。

次のアーカイブは2005年10月です。

最近のコンテンツはインデックスページで見られます。過去に書かれたものはアーカイブのページで見られます。

OpenID対応しています OpenIDについて
Powered by Movable Type 4.261