読者です 読者をやめる 読者になる 読者になる
スポンサーリンク

デブサミ2013 参加レポート

イベント watch Android Ruby 仕事術

今年も目黒・雅叙園にて,翔泳社主催のDevelopers Summitデブサミ) 2013が開催されている。

事前申し込み制,参加は無料。

ITエンジニアやデベロッパ向けの講演・セッションが多数。年一度2月に開催される,開発者の最大のイベント。


今年の目玉は,まつもとゆきひろ氏によるRuby2.0のトークだったろう。(満席で見れなかったが)


私は,主にスマートデバイス関連で,先端情報の収集のために赴いた。

講演者のスライドは,下記URLからまとめて閲覧できる。

[東京]Developers Summit 2013
https://event.atmarkit.co.jp/events/7...

以下は簡潔なレポート。

2/14 木曜

■Androidセキュアコーディング

一番実際的で,来たメリットがあった。

(1)300ページ以上ある無料のセキュリティ・ガイドラインが,PDFで存在。

JSSECによる『Android アプリのセキュア設計・セキュアコーディングガイド』
http://www.jssec.org/report/20121119_...

  • 忙しい開発者のために,コピペ可能なサンプルコードが多い。
  • ※NGなコードを列挙して詳しく掘り下げて説明しても,忙しい人には読んでもらえないため。

(2)Androidの脆弱性データベースが,オンラインに存在。

JVNのiPediaでAndroidの脆弱性を検索
http://jvndb.jvn.jp/search/index.php?...


(3)脆弱性の事例,内部仕様の観点から

  • Activityにexported="false"がないので,他アプリから踏み台として利用されてしまう
  • SDカードにデータを保存してしまうため,パーミッションがかけられず他アプリから読み取られてしまう(MODE_PRIVATE)
    • アプリ専用のフォルダに保存せよ
  • LogCatに機密情報をログ出力している状態のままリリースしてしまった
    • リリースビルドではログレベルを抑制せよ
  • Intent, WebView, BrowsableIntentのscheme,AccountManagerなどの利用に注意。
    • 特にWebViewは全体の7割が使用。全体の3割がaddJavaScriptInterfaceしている

何とも実用的。

■外出

ここで昼ご飯を買出しに。
なぜなら,会場の近くには飲食店やコンビニがないので,早めに調達しないと痛い目を見るから。

雅叙園には何度も来ているが,ITイベントで来るたびに,玄関やエスカレータが金色なのが目につく。メタリックかシルバーだといいのだが。


会場ではDeNAの手さげがもらえて,Amebaのペットボトルウォーターが飲み放題。なぜかカップうどんが配布された(クラウドんというジョークだそうだ)


ラウンジでは飲食自由だが,席が少ない。

エンジニア同士の「出会いの場」とするには,ちょっと無理がある。


廊下の各種コミュニティや企業スペースは,一巡の価値はある。

首から下げる受付参加証には,twitterのアカウントIDを記載。ハンドルネームで自己紹介することになる。


■自動改札機の運賃計算プログラムのデバッグ手法 〜10の40乗のパターンをいかにテストするか〜

これはPublickeyで既に読んで知っている内容だったのだが,スピーカーさんのパーソナリティが面白くて,飽きずに聞けた。

自動改札機の運賃計算プログラムはいかにデバッグされているのか? 10の40乗という運賃パターンのテスト方法を開発者が解説
http://www.publickey1.jp/blog/12/_104...

  • テストケースの全体を定義する
    • 安全なものをカット(あり得ないケース)
    • 妥当なものをカット(まずないのでいらないケース)
    • 許容可能なものをカット(同じようなものだからまあいいかというケース)

全体を定義するからこそ,

  • 絞り込む事が可能。
  • バグ発見時に,テストケースを省いた理由が明確なので,修正とトラッキングが容易。
  • 仕様書をテストする。
    • 仕様記述言語VDM++を使う。
■グリーにおけるスマホアプリ開発〜ネイティブ編

これは正直,期待した割には,あまり面白くなかった。

なぜだろう,本音を言うと,発表の内容も発表自体も,大学1・2年の「宿題の発表」みたいなものを聞いているふうな感じに過ぎなかったのだが…。

周りでノートPCで一生懸命メモを取っていた人も複数いたが,途中で飽きてやめてしまっていた。

Twitterのハッシュタグで見る限り,周りも期待外れの様子だった。


内容的には,Webアプリとスマホアプリの通信タイミングの設計方法は違う,と述べたようなぐらい。

  • UIをブロックしないでサーバと整合性を保つには,非同期通信。
  • 非同期通信が成立するためにいるのは,ユーザのアクションログ。
  • 更新頻度が低いデータはローカルに。
  • Webアプリ時代にCDNに置いていたようなアセットは,初回ダウンロード。
  • グリーではUnityを使用。画面遷移図とコード骨格はYAMLとGraphVizで自動生成。
    • ※グラフビズのことをグラファイズと読んでいた。グラフを可視化(Visualize)するからグラフビズなのだが。
■RubyでiOS/Androidアプリを作るMobiRuby

一番面白かった。


MobiRubyは,Ruby(mruby)でスマホアプリが作れる不思議ツール。

その作者が,よりによってJavaScriptでスマホアプリが作れるあのTitaniumを出している会社の人だったとは…

  • Luaとかでスマホアプリを開発する試みは,DSLが書けないので微妙。
    • Rubyなら,メタプログラミング+言語内DSLでやりたい放題。
    • Objective-Cらしさを,ごっそりと排除したコードが最終形態。


面白いのは,ツールだけでなく,開発しているご本人も。

  • 「風呂で仕事をする人」として知られている
  • 「(〜〜さまざまな理由)で,順調に遅れています。」


なお,各セッションのスライドで「PROS/CONS」を「長所/短所」の略語として使っている点が共通していた。

"pros and cons"、"nature and nurture"とはどういう意味か?
http://frbourbon.cocolog-nifty.com/en...

  • ラテン語の"pro"="for":「賛成の」、"con"="against":「反対の」から派生した表現


明日も期待。


2/15 金曜

■実践!スマホアプリのマネタイズ

スピーカーさん本人も言っておられたが,一番「生々しい」話。


来てよかった。初日同様,10時始まりのセッションはいきなり密度が濃い。


始まり方からして,いかにも今風:

  • 「このスライド,SlideShareにもうアップしてあるんで,今URLをつぶやきますから,手元で見てください。・・・はい,つぶやきました。拡散してくださいって事ですからね」


内容

  • Google PlayもApp Storeも,マーケットの上位アプリはほぼ100%,無料アプリのフリーミアムであり,有料アプリという発想は基本的にあり得ない
  • ロングテールでどうやって多数インストール?
    • ASO(アプリストア最適化):KW選定,アイコン命(色・枠・線),スクリーンショット。わかりやすくて落としやすいように
    • 母数が多くなくても,アンインストール数が少なければ高評価になる
    • 30日間の新着アプリ掲載期間を大事に
    • アプリ内からソーシャルポストを促せ
    • AppAnnieで競合アプリを解析せよ http://www.appannie.com/

フリーミアムでマネタイズするためのアプリ内課金(IAB,In App Billing)

  • Consumableなものは,提供タイミングに注意(必要性を納得して感じさせること。あともう少し,というタイミング)
■グリーにおけるスマホアプリ開発〜HTML5編

混み具合がすごい。

昨日のネイティブ編とは,質が完全に異なっており,凝縮された時間を過ごせた。

昨日のセッションは,同時刻の競合セッションとの兼ね合いで力を入れない発表だったという事だろうか?

それほど,今日のグリーは昨日に比べて面白かった。


チーム体制

  • 企画(画面遷移図)
  • →デザイン(ワイヤフレーム)+演出(HTML5)
  • →フロントエンド(画面をマークアップ)+バックエンド(PHP,Ethna,Smarty)

という体制で,画面遷移図はデザイン屋に降りてくる。

  • バックエンド屋がリッチUIに手を出すのは難しい。
  • フロントエンド屋に,はじめからテンプレート化を意識させ,ハードコーディングさせない。(強く同感)

テクニカル

  • Android4.xでは画面の解像度が高すぎて重くなり,Canvasを使うと2FPSだったりする。その場合,うまくCSS利用に切り替わるようライブラリを使う。
  • SWFはまだ生きている技術。HTML5に変換して使う。
  • ビルド作業を自動化するとか,画像はアプリ内にできるだけキャッシュするとか


お昼ご飯を食べる際,雨が。しかし夜,帰宅時には止んでいた。

■モバイル HTML5 による世界への挑戦

DeNAの人。昨日のテスト手法の人と同じく,パーソナリティが面白い。

海外と照らした場合の国内事情がわかって興味深かった。

  • 日本はモバイルHTML5については米国を抜いており,最先端を行っている
  • しかしAndroidのHTML5+CSS3対応は絶望的。Webの世界で言うIE6対策よりもひどい状況。
    • 各ベンダが,自社端末のベンチマークを上げるためにあれこれ手を入れているため。
  • HTML5については,アプリ追求ではなく,Webでしかできないことを追求すべき
    • 複数端末でメーラをインストールするのではなくGMailを開けば済む,という利便性と同じ
■Androidアプリケーション開発者必見、 今求められている暗号化、難読化、セキュリティテクノロジ

これは,きわめてよろしくなかった。

途中退席者が多すぎ。

どのようによろしくなかったのかについては,Togetterにまとめられているので見てみるとよい。

私もツイートしている。

2013/02/15 デブサミ2013【15-E-4】Androidアプリケーション開発者必見、 今求められている暗号化、難読化、セキュリティテクノロジ #devsumiE
http://togetter.com/li/451438

念のため断わっておくが,何かスピーカさんが悪いというわけではない。

日本のパスポートの中身のデータの暗号化をしてくれている,ありがたい会社の人だ。

■ブラブラ

この時間は空き。


廊下にオライリーのコーナーがあったので,本を買い物。

全部の書籍が10%オフで消費税もカット,ということだったので,この機を逃すまいと。

■開発者の "資産形成" につながる Action とは?

こういう啓発系のセッションがあると,頭が切り替わってモチベーションが湧く。

  • 開発って何?(→人間にいいものを生み出す)
  • SW開発って何?(→ユーザのニーズをSWに変換)
  • 価値って何?(→使用価値・交換価値)
  • 開発したSWの価値はどう決まるの?(→まずは交換価値で決まり,その後に使用価値で増減)

という根本的な問いかけから。


あとあと思いだしたくなる名言が多かったような。

  • 技術者としての路線は,
    • お客にビジネスやサービスを提供するか,
    • 新しい技術を提供するか,
    • 基礎的なアルゴリズムなどを研究するかの3択
  • 行なった作業のうち,再現可能な部分が多いほど,エンジニアとしての自分に資産が残る
  • 自分が価値を見いだすポイントを,テクノロジ以外で何か見つけよ。UXとか。
  • マクガイバリズム=目の前にある困難に対して,とにかく今あるものだけで何とか対処してしまおう
  • SWは目に見えず,UIを通して見えるようになる。だから,そこで差がつく。
  • どういうスキルをエンジニアとしての自分に貯金して,その貯金で何をしたいのかを真剣に考えなさい


あとは,コミュニケーション能力に「英語」という一点が加わるだけで,圧倒的に年収が変化する点とか。

■反復型ソフトウェア開発の勘所

この人も良いパーソナリティだった。マイクロソフトの方。

下記の本を書いた人。

ここからの引用が多かったらしい。


開発に限らず,時間術に関連した物の考え方としても参考になった。

  • 全開発期間=タイムボックスという箱
  • 全タスク=バックログという入れる物
  • 入りきらないとわかった場合,どうしたらよいか
    • 全部入れるのをあきらめて,いらないものを探し,次回のタイムボックスにpantするのが正解。
    • 目の前のゴールが動いてはならない。まずは目下のゴールをクリアして,その次のタイムボックスでまたトライすればよい。
    • 優先順位が大事。15分のミーティングも,15分でいきなりブツッと切るのではなく,優先順位の低いものを見極めて,それは次回のミーティングに回せばよいということ。

大事なことを思い返させてくれた気がする。


あとは,CI(継続的インテグレーション)の話も。

Windows NTは毎週水曜日にウィークリービルドしてましたよ,と。


■タブレット進化論

ラスト。しかし,これが本番だったと言ってもよいのでは。

今回,スマートデバイス狙いで参加した私にとっては,これは最高の締めセッションだった。

スピーカーは,下記のブログを書いているITジャーナリストさんである。

ITジャーナリスト星暁雄の"情報論"ノート
http://hoshi.air-nifty.com/


使われたスライド

Developers Summit 2013【15-B-8】タブレット進化論
http://www.slideshare.net/AkioHoshi/d...


いまのタブレットの勢い

  • iPadは,iPhoneの3倍の速度で普及した。(スライドの16ページ目のグラフを見よ。)
  • Androidは,iPhoneの6倍の速度で普及した。
  • OSシェアは,もはやPCよりもスマートデバイスのほうが多くなった。→「モバイルファースト」
  • 従来,PCを持ちこめない現場にも,タブレットなら持ちこめる。そこに新しいユースケースがある。手術室,工事現場,学習塾,カード決済レジ,接客業等でたくさん活用事例あり。


今後のタブレットの目の付けどころ

  • 今の世界人口の分布は
    • 10億人はある程度お金を持っており
    • 20億人はあまりお金を持っておらず
    • その他は極貧である。

1番目は,台数からして伸びきった。

とすると,次は2番目の層に目が向けられる。

そして,低価格タブレットが販売されるようになる。

  • インドでは学生向けで1600円など。
  • iOSのシェアは,安いデバイスを出すかどうかで今後大きく左右されうる。


質疑応答の時間があったので,思い切って質問をぶつけてみた。

  • Q. スマホとタブレットは,今後,共存しうるのか?
  • A. 境目があいまいになっていくと思う。何にでも「〜〜フォン」という名前はつけられるから。

なるほど。


すると…。。



2日間を通して,今後やるべき事,やりたい事,身につけたい事,調べたい事が一挙に色々見えてきた気がする。

例のごとく,ここには書けないけども。有意義なイベントだった。


デブサミ2013、講演関連資料まとめ
http://codezine.jp/article/detail/7003


全セッションのテーブル
http://event.shoeisha.jp/detail/1/tim...


【デブサミ2013】セッションレポート:CodeZine(コードジン)
http://codezine.jp/article/corner/476