2011年9月25日日曜日

Google Developer Day 2011参加確定しました

実は結構前に通知メールが来ていたのですが、なんだかんだ更新してませんでした・・・(汗
20日に事務局さんから参加確定のおしらせがきました.


この度は「Google Developer Day 2011 Japan」にお申し込みいただき、誠にありがとうございます。

先般ご回答いただいた DevQuiz の結果、GDD 2011 にご参加いただけることが
決定いたしましたのでご連絡いたします。

なお参加証につきましては、10 月上旬より順次お送りいたしますので、今しばらくお待ちください。


こんなメールでした.
結構な労力をDevquizには注いだので参加できるとわかると嬉しいですね.


そんなこんなで参加証については別途送られてくるそうです



2011年9月12日月曜日

GoogleDeveloperDay 2011のDevQuiz

現在DevQuizに挑戦しています.DevQuizとはなにかというと

GoogleDeveloperDayに参加するために解く必要のあるクイズで、合計得点が高い人順に参加賞が与えられるようになってます

配点はこんな感じです
40点:ウォームアップクイズ
30点:WebGame,Go!,Android,Google Apps Script,一人ゲーム
50点:スライドパズル

内容はというと

ウォームアップクイズが調べれば答えのわかるもので、AndroidやGAEなどGoogleのサービスや技術に関する質問が5問ほどありました.


ここからは私が実際に回答した問題の感想です


WebGameは神経衰弱でGoogleChromeのExtensionを利用して解いていくものです
これはサンプルのExtensionが与えられるので拡張して自動で解くようにする問題でした(最後の方は数百枚のカードがありました)


Go!はPNG画像ファイルをGo言語で解析して、何色使われているかを調べる問題です
IDATチャンクに実際の画像データが入っているのですが羅列される順番がcolortypeによって変わります
サンプルのコードではcolortype6のものだったのでそれだけを念頭にプログラムを作成したら、不正解になる・・・
そこでわざとcolortypeをはき出させるようにして、チェックするとcolortype2の画像も検証されていたのでその部分を実装しました
RGBの順でアルファが必ず255って書いてあったから、アルファが必ず含まれるものだと思っていましたw


スライドパズルは結構鬼畜な問題です
はっきり言って難しいです.
この問題ではパズルの解法アルゴリズムを考える必要があります
しかも普通のパズルと違い壁という通ることのできないマスがあったり、マス目の数が幅3~6・高さ3~6という変則的な数なので一律のアルゴリズムでは効率が悪かったりします
というかメモリが足りなかったり、難しい問題にかかりっきりになると効率が悪かったりするみたいです・・・


あとでソースコードも公開してみます.

2011年9月2日金曜日

JavaとActionScriptのソケット通信時のEOFError

JavaとActionScriptでソケット通信を行う際に
JavaではDataOutputStreamのwriteUTFを利用して、ASではSocketクラスのreadUTFを利用すると通信ができます.

ただしプログラムを組んでみてわかったのですが、このメソッドを利用するとどうもWindowsXPと相性が悪いらしく
連続で送信や受信を行うと(もしくは特定の文字列が含まれると)EOFErrorが頻繁に発生します


なので簡単なプログラムならばread/writeUTFで問題ありませんが、実用的なものを作成するときはおとなしくBufferedWriterのwriteとSocketのreadUTFbytesを利用して実装した方が無難です

Web Analytics