2013年3月16日土曜日

プログラミング生放送勉強会 第21回@福岡 #pronama 参加その後・・

プログラミング生放送勉強会 第21回@福岡 #pronama
参加してきました。

プロ生なるものを初めて知ったのですが、プロ生ちゃんマジ天使
面白そうだったので参加しました。

参加を決める決定打は、アセンブラに関するセッションがあること。
以下自分なりに軽くまとめます。

1. ディスプレイよりこっち側をプログラミング

組み込み基盤になんかマリオのコインの音出力させてた。
まぁこういう世界もあるんだなぁと、ハードウェアプログラミングとは
無縁の私にはよくわかりませんでした・・。すみません。

2. Androidのテストってどないすんねん!

自分が一番関わる可能性が高い、一番実務的に勉強になったのがこのセッション。
会場のメモそのまま貼り付け。
--
UIテストの自動化(バージョンアップ時、新機種登場時)
- Android SDK標準のテスティングフレームワークは使いづらい

ドメインロジックの分離
・Webアプリケーションとアプローチは同じ
(何でもActivityに書くのはダメ)
・Androidに依存しなければJUNITで普通にテストが書ける。
 JUNIT4とか使える

画面構成に依存したテストは書かない
NativeDriverを使用する

Activityを操作するDriverクラスを作って、Driverクラス経由でActivityを
操作してテストする

Androidでテストせず普通のJavaクラスとしてJUINTでテストする。
ビジネスロジックの品質はこちらで担保

UIテストでは、NativeDriverを使うのが良い。テストを書くにも保守するにもコストがかかる。
リスクと費用対効果の観点から集中が必要。

設計段階でテスタビリティを考慮すること。

DI(RoboGuiceなど)やモックライブラリ(Mockitoなど)を導入する

テストカバレッジ100%はプロジェクトが炎上するから割り切りが必要。
--

3. 温故知新、アセンブリ言語を触ってみる

このセッション、実はこれが一番目当てのセッションで参加した。
セッション参加してみての感想としては、参加して良かった!
わざわざ足を運んだかいがあった!という感じ。
専門学校時代にCASL2をかじった程度の自分には内容は難しく感じたものの、
本物のアセンブリのソースがチラチラ見れたり解説がわかりやすく
大変興味深かった。
とりあえず「お〜!なるほど!」と思ったのが
--
xor eax,eax でeaxは0になるんだよね(move eax,0 よりはやい) 
--
即値(リテラル)を使うより、上記のように0を算出したほうが高速に動作するらしいという事。
専門学校時代に「XORっていうのは、違ったら1で同じだったら0になるんだよ!」
と習ったのを思い出しました。
上記のソースで言うと eaxとeaxは同じものだから、必ず0になるんですね。


4. FPGA でおれおれコンピュータつくるよ

プレゼン中にプレゼン資料をWindowsのペイントで手書きしながらプレゼンするという
発表スタイルが周りの笑いを誘うw
内容は難しく正直ほとんど理解できなかったのが私の未熟なところ。
いやーしかし凄い、頭の中に全部入ってないとあんな即興的なプレゼンは
出来ないと思う。天才なんだろうなぁ・・・・・・。

以下LT(ライトニングトーク)があったんですが、一言書くとするなら
LISPer 怖ぇぇ・・・・・。

お疲れ様でした。


自分がなにかLTで発表するようなネタを持っているかな?と
考えを巡らせてみたりするんですが、特に凄いプログラミング能力を
持っているわけでもないし、話が得意というわけでもなく
自分が得意なことと言えばLinuxの事かなぁ〜?ぐらいで
なんかまだまだLTとか出来る気がしません。
セキュリティの勉強会で自己紹介すら満足に出来なかったレベルじゃ
まだまだ敷居が高そうですね・・・・。

0 件のコメント:

コメントを投稿