艦これ専用ブラウザのような何かを作ったよ

前からネタにしていた艦これの専ブラ、そこそこまともなドキュメントをようやく書きました。

f:id:W53SA:20140306020626p:plain
f:id:W53SA:20140306013919j:plain

ドキュメントを真面目に書くのに時間かかりましたね…。ということで、取り敢えず公開してみます。

http://www.3pf.jp/products/kcb から。

配布サイトでも散々書いてますが、専ブラは割とグレーらしいので自己責任で。

一般公開前から身内に配っていて感想とか要望貰って色々弄りました。感謝ですね。

Googleスプレッドシートで.NETアプリケーションのデータを管理する

最近(というほどではないかもしれないけど)は色んなログをオンラインデータストレージに放り込むのが流行ってます。Apacheのログとかを放り込んでごりごり解析するTreasureDataとか有名*1ですね。

さて。

ログと言えば艦これ*2
f:id:W53SA:20140219003119p:plain
専ブラが吐き出す艦船建造などのログが貯まってきたので、これをオンラインデータストレージに放り込んでやりたいなというのが今回のお話。

*1:TDが流行り始めたの、ちょうど一年ぐらい前でしたか。

*2:どうでもいいことですが、Excelutf-8など非Shift_JISで書かれたcsv食わすと文字化けします。

続きを読む

WebBrowserコントロールのIEバージョン

.NETアプリでWebBroserコントロールを貼っつけたらInternet Explorerコンポーネントが貼り付けられます。
ところで、このIEコンポーネント、どんなIEなんでしょうか。

「そんなんマシンに入ってるIEと同じに決まってんやろ」という人は鴨川デルタで磔にされますよ。



f:id:W53SA:20131216203756j:plain

WebBroswerコントロールで動くIEはバージョン7です。

ほんまかいな、という人のためにAcid2テスト*1をしてみましょう。

f:id:W53SA:20131216204027j:plain

見事に失敗してますね。

In order to ensure that these existing applications remain in working order, IE8 renders pages running within instances of the WebBrowser control in IE7 Standards Mode by default.


WebBrowser Control Rendering Modes in IE8 - IEBlog - Site Home - MSDN Blogs

既存のアプリケーションが困らないようにこうしたんだって。

*1:Acid2IE7不合格でIE8は合格してる。

続きを読む

C#でJSONを読み込むメモ

Webアプリケーションでのデータ構造デファクトスタンダードがJSONなので、.NETというかC#でJSONを読みたいことがままあります。

みんな同じようなことを思うので、ライブラリがちゃんとあって、周辺環境も色々と整備されています。

基本的にはぐぐればおよその情報が出てくるので、メモ程度です。

あ、前の記事で艦これのやりとりするJSONデータが取れたんで、それを料理しましょうって話です。

続きを読む

FiddlerCoreを使ってC#でhttp通信を覗き見しよう

突然ですが、HTTP通信を覗くことを考えます。

あ、艦これの専ブラを作った話からの続きです、はい。

要するにHTTPプロキシを作ればいいわけで、C#にはSystem.Net.HttpListenerというHTTPサーバクラスもあったりして自前で実装することもできますが、FiddlerCoreという.NET向けHTTPプロキシライブラリがあるのでこれを使うことにしました。車輪の再発明はやめて、枯れたライブラリをありがたく使わせてもらいましょう*1

FiddlerCoreとは

FiddlerというHTTPアナライザのHTTPプロキシ部分がライブラリFiddlerCoreとして提供されています。

なので、単にHTTPセッションを中継するだけではなく、以下の機能があります。
「HTTPセッションをハンドルし、適当なタイミングでイベントを呼び、HTTPリクエスト/レスポンスを適当に調理したものを渡してくれる。」
完璧じゃないですか。

というわけで、早速使ってみましょう。

*1:自分の書いたコードが一番信用ならんかったりするよね。

続きを読む

艦これの専ブラを作った話

Java書くの疲れて艦これ始めたらしっかりハマってしまいました*1

で、しばらくぽちぽちやってたわけですが、だんだんUIに不満が。

  • 負傷した艦娘を修復所要時間順にソートできない
    • Lvとダメージ程度によって所要時間は変わるのに、ダメージ程度でしかソートできない
  • アイテム*2一覧がない
    • 未使用アイテム一覧しかないので、装備済みアイテムを探すのが面倒
  • 任意のタイミングで任務一覧を見ることが出来ない
  • ドックでの修理が終わっても何の通知もない

というわけで、なんとかするというか自前GUIを書く*3ことにしました。ブラウザゲーなので、専用ブラウザとか呼ぶようです。

こんな感じに出来ました。

ブラウザゲーなので、基本的にクライアント側ではサーバに指令を与えてサーバから降って来たデータを表示することしかしてないはず。サーバから降って来たデータを自分で料理すればいいことになるので、取り敢えずChromeデベロッパーコンソールで流れてるデータを眺めたりぐぐったりして情報収集しました。

結論:「httpプロキシ作って流れてるJSONをwatchすればいい」

要するに

  • サーバとFlashの間でやりとりされてるJSONを取得
  • JSONを処理して適当なGUIで表示

ってなわけで、以上2つについて調べたことを今後書いていきたいきます。

次回予告:「C#でhttp sniffing」→書きました:FiddlerCoreを使ってC#でhttp通信を覗き見しよう


ちなみに、公開しました(6 May 2013)。

*1:試験前に開発力がマシマシするように現実逃避力ってやばいですね。

*2:武装のことです。

*3:ちなみに、WindowsでやってるのでC#で書きました。

スマホにいれたアプリ一覧

Xperia Z買ったわけですが、取り敢えず、後輩に「そんなことも知らないんですか」的な煽ら食らったりしつつも試行錯誤中。

ひとことコメントつけてますが、事実誤認があるかも。

続きを読む