2007 it合宿 発表資料/佐瀬 武志

15
2007年 あいてぃー合宿 佐瀬 武志

Upload: kurubushionline

Post on 20-Jul-2015

1.229 views

Category:

Technology


0 download

TRANSCRIPT

2007年あいてぃー合宿

佐瀬 武志

自己紹介

• 名前 佐瀬 武志

• 生年月日 1978 年 3 月 6 日

• IT 社会人 8 年目

複写機の画像処理開発(組み込み C/C++ )

FX の XMLTool 開発( Java )

複写機 UI 開発( Java 、 Swing )

FX 商品の Web アプリ( C# 、 ASP.NET )

2000 年 2001 年 2002 年 2003 年 2004 年 2005 年

相馬さんと仕事で関わる 相馬さん、朝倉

さん、、舟波さん

と一緒に開発

くるくるコッシー体験

• 好きな MS ガンダムMkⅡ

• 好きな女優 竹内結子

• 好きな食物 鰤の照り焼き

2006 年

プロローグ

I T に携わる人々は、日々、忙しい

顧客のため、 会社のため、 上司のため、 部下のため・・・

誰のためでもなく、自分のために考え、努力したあの頃を・・・

そこには、仕事にはない喜びがあるのかもしれませんよ

あなた、今、楽しめてますか?

時々でいいから、思い出してください

させ たけし より

出会い

2006 年 4 月

お客様先の組織変更により

そして、長年お昼休みの日課になっていた

僕はお客様先を離れることになった。

Age of Empires Ⅱ を引退した・・・。

不思議と涙は出なかった・・・

自分でも気づいてのかもしれない

終わりなんてはじまりのきっかけに過ぎず

新しい出会いがすぐに待っていることを・・・

まうじゃん とは

•パソコンで楽しめる麻雀ゲーム(フリーソフト)

•最大 4 人までネットワーク対戦が可能

•クライアントでプレイヤーの成績を保存することが可能

•サクサク動くので仲間がいればワイワイ楽しめます

きっかけ

俺、今日は負けたけどトータルでは勝ち越してるはず

この前、大三元あがったよ

なんか2着が多い気がするな・・・

降り込み過ぎだーーっ

キターー、

ドラ爆

弱い奴ほどよく吠える

それで、結局だれが一番強いの・・・?

俺、最強じゃねっ? おまえ、鳴き過ぎじゃねーか

おまえトイトイばっかな

雀士からの呟き・・・

こんなのがほしい

• 自分と対戦相手の成績をいつでも閲覧できること

• プレイヤーの成績を簡単に比較できること

• どうせならもっとキレイなものを見たいものだ

• 簡単に見れなきゃイヤッ

• 『まうじゃん』でもプレイしている自分の成績は見れことはできる

• 順位

• あがり役

• 平均得点 : : でも、こういうのって他人と

比較してみないと、良し悪しがわからないな~

すんなりいかないのも IT

• 成績は『まうじゃん』が記録してくれているし、表示のほうだけ考えれば OK !と楽勝ムードで考えていたら・・・

強敵、『まうじゃん』成績ファイル現るっ!

テキストエディターで開いても

バイナリエディターで開いても

ピンチ!!成績のファイル

が読めない・・・

①まうじゃんの調査

• 『まうじゃん』の開発者である『石畑 恭平』さんのホームページにアクセスして『まうじゃん』情報を調査

• AI システムの API は公開しているようだが、成績ファイルに関しては情報ゼロ。需要がないしね。

• 『まうじゃん』は我々がプレイしているWindows版の他に Java版、 Pocket PC版、シグマリオン III版が存在することが判明。

一筋の光を発見! まうじゃん for Javaの調査へ

②まうじゃん の調査( for Java 編)

*1 ソフトウェアの逆コン○イルは違法です。絶対に真似しないでください。

まうじゃんライブラリ( ja r )で成績ファイルを読み込めば 解決!

…と思い、試してみると

Windows版とJava版で成績ファイルに互換性がないことが判明!!

• いつもの Windows版 と似ているが画面が小さく遊びにくい

• でも、遊んでるだけじゃわからないので・・・

• まうじゃんのライブラリ( jar)に禁じ手を行使 *1

• 成績ファイルはバイト数をカウントし、バイナリ形式でデータを読み書きしていることを確認

• 多くのクラス、メソッド public で定義されていることを確認ここは J a va …版で妥協というのも考えたが、

今までのデータが蓄積されてる Win d o w 版を使いた

いッ!調査続行!

でも、これはライブラリは利用できるな

③成績ファイルの違いを調査

• 逆コンパイルしたコードを元にバイナリデータを見比べるWindows版 Java

• ファイルのフォーマットはほとんどは同じ

• 違いはプレイヤー名の保存方法だけ

• Windows版では Shift-JIS で保存されている

• Java版では Unicode で保存されている

これで全ての

情報はそろった!!

解決策

1. まうじゃん Windows版の成績ファイルをバイナリデータとして読み込む。

2. プレイヤーの名前を Shift- JIS として読み込む。

3. プレイヤーの名前を Unicode 変換し、元の成績ファイルとしてマージし、まうじゃん for Java 版の成績ファイルを作成する。

4. まうじゃん for Java 版のライブラリ( jar )を利用し、上記3で保存したファイルから読み込む

5. まうじゃん for Java 版のライブラリ( jar )のクラスから成績ファイルの情報を参照する

成績ファイルの読み込み

大成功!!

システム構成

• まうじゃんクライアントは成績ファイルが保存されるフォルダを共有フォルダとして公開し、サーバー PC から参照できるようにする。

• サーバー PC は成績ファイルを読み込み、 Webページを構築する。

• 成績ファイルはキャッシュとしてサーバー PC 内に保存する。これによりまうじゃんクライアント PC がシャットダウンしてても Webページの閲覧が利用可能となる。

でも、こういうのって他人と比較してみないと、良し悪しがわからないな~

• Web のフレームワークには JSF ( myfaces )を採用

• CSS はほとんど myfaces のサンプルからパクり

• 円グラフや棒グラフの表示に JFreeChart を採用

• 開発期間は約 1ヶ月(早く帰った平日に 1,2 時間と土日の暇なとき)

• ソースコードステップ数:約1000ステップ

• 画面数: 4 画面

技術的なことを少し

最後までお付き合い頂き、ありがとうございました

私の思い出でしたが、ちょっとはを楽しんで頂けたでしょうか?少なくとも開発しているときの自分は楽しかったです。

エピローグ

ホテルの宿泊費 ・・・・・ 10000円

ヤマダ電機で買った USBメモリ

・・・・・  2000円

皆さんと過ごすこの時間 ・・・・・  priceless