読者です 読者をやめる 読者になる 読者になる

鎌玉のよしなしごと

日々のよしなしごとをつぶやいているだけ。由無し言(とりとめもない話)か、良しな仕事(nice job!)かは、あなた次第。

デブサミ関西2012 午後の記録 #kansumi #devsumi

デブサミ

午前( デブサミ関西2012 午前の記録 #kansumi #devsumi - 鎌玉 大のよしなしごと )の続き。


昼休憩時に、岩切さんを偶然お見かけしたので、ごあいさつを交わしました。


「あなたが鎌玉大か?!」
「そうです。ごめんなさい」

その後、午前中のつぶやきをまとめたTogetterを非公開で、念のため、作成しておきました。
ハッシュタグがトレンドに上がると、トレンドに上がる前のつぶやきを取得することは非常に困難になります。
幸か不幸か、今回の#kansumiはトレンドにあがることができませんでした。


では、午後の記録を、つれづれなるままに。

【B-1】[Web Tech] JavaScript 最新事情 - 開発者なら知っておきたい次世代 JavaScript

Mozilla Japan 浅井 智也 さん


HTML5の話ではなく、JavaScriptの話。
詳細は、112枚もある上記のスライドを参照してください。


印象に残った話

  • アメリカの一部の地域では、レッサーパンダのことをFirefoxという。だから、アイコンにレッサーパンダを使っている人がMozilla界隈で多い。そして、わたしも。
  • JavaScriptの商標権はSun(現Oracle)が持っているので、Oracleさんが『JavaScript使うな!オラァ!!』と言ったら大変なことになる。
  • JavaScriptの父 Brendan Eichは、Googleが新しいJavaScriptエンジン『V8』を開発していることを嗅ぎつけ、OSS化や共同開発を提案したが拒否され、V8は極秘開発を続けた*1。これは、2006年当時、Googleが表だってMicrosoftと対立することを嫌がったためだと思われる。
  • Augment.jsなど後方互換スクリプトを最初に読み込めば、仕様に対応していないブラウザ(IE5でも!)でも最新技術が使えるようになる。
  • 昔、JSONをevalで読み込むのが流行ったが、evalはセキュリティ的に問題があるため、nativeメソッドを使ってください。
  • Strict Mode( https://developer.mozilla.org/ja/docs/JavaScript/Strict_mode )を使用すると、良くあるミスをエラーとして検出してくれる。IE9では未サポートであるが、特に理由なければ、どんどん使おう。
  • フォクすけが当たるAndoroid版Firefoxキャンペーン( http://get.foxkeh.jp/ )を始めた。友達のAndoroidを奪って、Firefoxをインストールしよう。
感想

Javascriptについては未だそんなに詳しくないので、技術的な話にはほとんどついていけなかったが、とにかく話が面白かったです。

【B-2】[Web Tech] ヤフーのHTML5対応

ヤフー株式会社 是井 真 さん


Yahoo! Japan(以下、Y!J)の提供サービスは140以上、月間ページビューは約518億。
Y!Jは、Webサービス以外も、iOS/Andoroidアプリケーション、ウィジットなどのデスクトップ・アプリを提供している。
また、開発者向けAPI/ツールとして、以下を提供している。

Y!Jは、ユーザーの要望を満たすために、今でも多くのサービスを提供している。


Y!JはCoolじゃないと言われます*3が、エンドユーザーの課題解決のため、いつも真摯にやっている。


Y!Jでは、パフォーマンス重視やデバイス機能と連携させるものはネイティブアプリとして作成するが、共通化による効率化を重視するものはブラウザから動作させるものとして作成している。


スマートフォン用のものは『HTML5』を利用
HTML5は、環境が整っているスマホで先行開発している。
スマホは、ブラウザ限定で、(ソフトウェアアップデートに対応する人が多いから)下位互換の必要性がほとんどなく、HTML5が活用できる。


HTML5になると、HTML記述の簡略化ができ、構造化されたHTMLを書くことができる。
Y!Jでは、以下のHTML5やCSS3の機能を利用している。

  • input type属性にあわせたフォームの表示。電話番号の入力はソフトウェアキーボードを数字入力で呼び出すなど。
  • タッチイベント
  • 位置情報 Geolocation API
  • Web Storageによるデータの保持。過去の選択履歴などで利用。
  • History APIによる表示されているURLの書き換え。
  • パフォーマンスの向上のための、CSS3のグラデーション、角丸。*4
  • Media Query。画面を横倒しにしたときのレイアウト変更に利用。


社内では、独自開発したテンプレートシステムを利用し、ルールと手法を切り分けている。
テンプレートシステムは、HTMLを基本テンプレートとし、モジュール動作や機種別差異を吸収するためのJavascript、共通ヘッダや検索ボックスなどのモジュールパーツからなる。
対応OSは、iOS 3以上、Andoroid 1.6以上、Windows Phone 7.5以上としている。


また、社内の有志が整備および作成した、実装ガイドラインとスニペットツールがある。
実装ガイドラインでは、メンバーを萎縮させないためにルールであまり縛っていないが、HTML5はプロパティが多いためガイドラインとして案内している。
また、デバイスにキャッシュするデータとクロスドメインで受け渡すデータの扱いについては縛っている。*5
スニペットツールについては、会社から見せちゃダメと言われたので見せられない。


デスクトップのブラウザから参照できるサービスも順次HTML5化している。
ロンドンオリンピックのサイトやコミックビューアーなど。


ユーザーにアプリをダウンロードさせずに、ユーザーを満足させたい。


facebookのマーク・ザッカーマンが「HTML5に掛けたのは失敗」と言ったが、株価対策の面もあると思う。
ただ、iOSのfacebookはもっさりしていた。
そういうことでは、iOS/Andoroidはネイティブコード実装が優位である。
iOS/Andoroid/Windowsは、それぞれ デバイス - クラウド - OS と垂直統合になっている。
しかし、一般の利用者は、会社でWindowsを使用しながら、家でMacを使用するなど、多様な環境である。


ティム・バーナーズ=リー(WWWの考案者。『誰もが生のデータにWebから自由にアクセスできるようにしよう』と語った。ページが見つかりませんでした | 遊べる学習サイト Oops! Study(ウープススタディ) )にならって、Y!Jとしては、ブラウザに戻ろうと思っている。
HTML5の発展により、ブラウザはさらに便利になる。
例えば、WebGLを使用したモバイルOSであるTIZEN(タイゼン http://ja.wikipedia.org/wiki/Tizen )では、HTML5アプリもスムーズに動く。


WWWが誕生して20年、私たちY!Jもインターネット社会にJoinします。

感想

日本最大のポータルサイトおよびWebサービスを運営するY!Jの開発の裏側の一端に触れることができて勉強になりました。
Y!Jは社長も代替わりし、次々と新しいWeb APIやサービスが公開されていて非常に風が吹いているところです。
スニペットツールも見せてもらいたかったが、これはY!Jの秘密兵器なので仕方なかったでしょうか。

【B-3】[Web Tech] ブラウザテストを自動化することにした 〜TestNGSeleniumでやってみる〜

フリュー株式会社 ソーシャルネットワーク事業部 /関西Javaエンジニアの会 阪田 浩一 さん


@ITで、TestNGの連載( )、やっていた。
今日のゴールは「人間がテストを全部やる必要ってあるのかなと、疑問を思ってもらうこと。」(テストを全部やってもらうことはできないよ)
ブラウザでの操作をコーディングするツール、それが『Selenium』。


Seleniumには、以下の3つがある。

  • Selenium IDE(Firefoxアドオンでブラウザの操作を記録する)
  • Selenium WebDriver(ブラウザでの操作をコーディングする)
  • Selenium Grid(複数ブラウザでのテストを複数実行する)がある。

今回は、WebDriverとTestNG*6を紹介する。
また、Selenium GridとJenkinsを組み合わせると便利*7


説明したテストコードはgithubにある。


詳細は、147枚もある上記のスライドを参照してください。

感想

非常に熱のこもった講演で、ベストスピーカーに投票してしまうぐらい、引き込まれました。
テストコードも分かりやすいので、ソースを取得して、試してみようと思います。
また、10/24(水)の関西Javaエンジニアの会(関ジャバ) '12 10月度 (京都 http://connpass.com/event/1014/ )で再演されるそうなので、聞けなかった方は参加するといいと思います。
それで、誰か、質問するのを忘れていたスマートフォンのブラウザのテスト方法について聞いておいてください。


参加できないけど、講演を聴きたい人は、Ustreamの録画 http://www.ustream.tv/recorded/25394851 があります。

【C-4】[Mobile Tech] デスクトップアプリ開発者が押さえておきたいWindows 8 時代の変革

グレープシティ株式会社 テクニカルエバンジェリスト 八巻 雄哉 さん

Ustreamの録画 http://www.ustream.tv/recorded/25395425


Windows 8では、Windowsストアアプリ(かつてMetroと言われていた)ではない従来のデスクトップアプリは、どうなってしまうのか?


Microsoftは、Windows 7で動作していたアプリは、VB6.0で作成されたものも含め、すべて動作するとしている。
実際に、アプリをWindows 8で実行してもレイアウトは崩れない。
気をつけるのはハードの進化。


気をつけるべきことの1点目は『タッチ対応』。
消費者もどうせ買うのなら、タッチ対応のPCを買うだろう。
数年後には、タッチ対応のPCしか店頭に並んでないかもしれない。
キーボードとマウスのように、タッチも併用されることが予想される。


しかし、従来のデスクトップアプリ上のコントロールは、タッチで操作するには小さすぎる。
レイアウトを工夫する必要がある。
レイアウトの例は、Office2013のプレビュー版を見ればいい。


気をつけるべきことの2点目は『ディスプレイの高精細化』。
Intelのロードマップでは、2015年には4800×2700まで解像度が上がるとされている。
今までのデスクトップアプリだと小さく表示されてしまう。
DPIスケーリングで拡大表示できるが、スケール処理は各コントロールの実装に依存している。
グレープシティの主力商品は、高DPIに対応するから、みんな買え!

感想

発売が間近に迫ったWindows 8の対応に頭を悩ませている今、これは非常にありがたい講演でした。
以下の資料とあわせて、勉強になりました。
どうなる?Windows 8時代の業務アプリ開発
Metroスタイルで花開くか? XAMLベースのUIフレームワーク

【B-5】[Web Tech] 関西に所縁のあるITコミュニティ集まれ!デブサミ名物コミュニティLT大会

司会:まっちゃだいふく さん
ドラ子:はなずきん さん


Ustreamの録画 http://www.ustream.tv/recorded/25395940

■XPJUG関西(日本XPユーザーグループ関西) http://www.xpjug.jp/

リスクを事前に洗いだそう。
リスクベーステストで、お客様の視点で被害拡大を防ぐ。

■Hack For Japan http://www.hack4.jp/

ずーっと復興支援イベントのつぶやきをまとめている徳島在住のエンジニアがいる
http://togetter.com/id/kamatamadai

Hack For Japanは、“東日本大震災に対し、自分たちの開発スキルを役立てたい”というIT開発者の想いを形にするために生まれた、開発者を中心としたコミュニティです。


まさか、こんなところで、自分が紹介されるとは思いませんでした。
岩切さんに、Hack For JapanのLTをやってと頼まれたのですが、表だった活動ができてない自分が発表するのはおこがましいのと、大勢の前で発表するのが気恥ずかしいので断っていました。


会場の皆さんにも、「おー」とビックリされるとは思いもよりませんでした。


私は、自分のやれる範囲のことをやっているだけ。
本当はもっと、お役に立つことをしたいと歯がゆい思いで見守っているだけ。


徳島および関西は、やがて来る南海大地震で大きな被害が想定されている場所。
私たち、IT技術者にできることは何なのか?そのために、今、何をすべきか?


力を蓄えながら、今の自分ができることをやっていきたいと思います。


お誘いいただいた岩切さんの岩手の実家にも、hack4iwateが開催される際に、ご都合があえば訪問させてください。

■京都アジャイル勉強会 https://www.facebook.com/KyotoAgile

大都会・岡山で開催されていた「すくすくスクラム瀬戸内」の参加者が京都で始めた勉強会。
2次会が本番。

■Project Facilitation Project http://projectfacilitationproject.go2.jp/

プロジェクトを成功に導くためには、チームの力を引き出すことが大事。


懇親会で「家庭問題も解決させた実績がある」と豪語されていました。
「野良LTはワシが始めた」と言われていたのも、ここかな?

■VSハッカソン倶楽部 https://sites.google.com/site/visualstudiohackathon/

Visual Studioでのハッカソンを中心にしたイベントを開催。
参加すると、森理 id:moririring さんの自作のお菓子が食べられます。


接続ケーブルが抜けるという不慮の事故で残念ながらスライドは画面で見えませんでしたが、そんな中、森理さんが冷静に話されたいたのが印象的です。

■男女共同ペアプログラミング勉強会関西 https://sites.google.com/site/peaprogoukonkansai/

略してペアプロ関西。女性が集まらないのがネック。ペアプロ合コン開催が野望。


女性の方は是非!

■JAZUG(Japan Windows Azure User Group) http://r.jazug.jp/


JAZUGは2周年。Azureのユーザー会。
2年目のAzureは違う。OSSに凄くラブ。
インストールマニアックスではOSSを282個インストール。


初音ミクさんのファミマCMが、クラウディア版で流れました。
あじゅ、あじゅ、あじゅーる

■RxTstudy

http://www.rxtstudy.net/
Redmineとタスク管理の勉強会。次回は10月20日に開催。

第6回RxTstudy : ATND
プロジェクトの初っぱなで、いつもRedmineの導入にしくじり、Excel管理票になってしまうので、勉強のために参加を申し込みました。
よろしくお願いします。

わんくま同盟 http://www.wankuma.com/


わんくまとは、いろいろ情報発信を行う場所。
縦のつながりより横のつながりを大切にしている。
はっきりいうと他の人が何やっているか把握していません。


鼻眼鏡の人が説明されていました。

■SqlWorld http://sqlworld.org/


SQL Serverを中心に他のDBの話もしている。NoSQLの話も。
IT勉強会スタンプラリー( http://it-stamp.jp )は、ワシが育てた。

■日本App Inventorユーザー会 http://www.app-inventor.jp/

Googleが開発し、現在はMITに移管されているAndroid用開発ルーツ。
ブロックエディタで動きをつけられ、Androidアプリ入門向け。

最後に

デブサミは、デブのサミットとか陰口を言われますが、バイキング形式の懇親会で、名刺交換したり、人の話を聞いたりで、一皿しか食べることができませんでした。


懇親会では、メイドに女装された XPJUG関西代表の西さんがおられたり、何番目のインスタンスか分からない @irof さん*8 に出会えたり、ニフティの方に名刺をDisられたり、岩切さんから「東京スカイツリーみやげ」*9をもらえたり、VSハッカソン倶楽部の森理さんや、その他の方と話せて楽しい時間を過ごせました。


グリーの佐島さんには謝っておきます。



講演の合間に和智さんに『チケット駆動開発』と『エリック・エヴァンスのドメイン駆動設計』に、懇親会で鈴木雄介さんに『100人本』、あきぴーさんに『チケット駆動開発』にサインをいただきました。


Microsoftの長沢さんに、数量限定の「Windows 8 アプリ開発 虎の巻」をもらいにいきましたが、さすがに品切れでもらえなかったのが残念です。


また、Togetterでまとめながら思いましたが、どの講演も面白そうだったので、全ての講演に参加できなかったことが心残りです。

岩切さん>
(デブサミ関西2012のつぶやきのまとめを)相変わらず id:kamatamadai が黙々とまとめてくれてます。彼とリアルで会えたのもデブサミ関西の嬉しかったことの一つでした

2012-09-15 - I have dreams - 夢は野山を駆け巡る

来年は、デブサミ関西も、もっと盛り上げましょう。
今年は、会社の人間を誘っても誰も来てくれませんでしたが、来年は会社の人間を連れて行こう。


午前の続きのTogetterはこちらです。
デブサミ関西2012 午後のまとめ #devsumi #kansumi - Togetter
デブサミ関西2012 後日談のまとめ #devsumi #kansumi - Togetter


(2012/9/20 追記)
懇親会で、OracleJavaエヴァンジェリスト寺田佳央(@yoshioterada)さんに、四国にJava勉強会(コミュニティ)はあるのかと聞かれました。
残念ながら、私は聞いたことがないのですが、もし四国でJava勉強会をやっているよ、これから立ち上げるよということがあれば、是非、寺田さんに連絡してあげてください。
寺田さんの都合があえば、講演をしていただけるそうです。(講演は、四国に限らず、日本全国OKのようです)
今回、寺田さんに初めてお目にかかりましたが、ハッシュタグ「#てらだよしおがんばれ」にあるとおり、思わず応援したくなるような感じのいい方でした。

(2012/9/27 追記)
私の個人用ハーフサイズ名刺。セミナー、勉強会用には凝った名刺を持っていかなければいけないと思い、作成していましたが、ニフティの人に『こんな名刺、ライブドア社長時代のホリエモンに貰って以来ですよ』と言われました…

*1:及川さんの講演の通り今ではOSS

*2:筆者注:たいへん役立つので、皆さんも利用しましょう

*3:会場からエーという声。国内で満足しているのではなく世界を見据えている姿勢が分かります

*4:ブラウザ別に異なった定義をしているそう

*5:クレジットカードの情報はNGなど。

*6:JUnitと比較して、テスト間に依存関係を定義できるなどの利点がある

*7:Web+DB Press vol.67の川口さんの記事参照

*8:よく名古屋の勉強会に参加されるので名古屋の方かと思ったら、在住大阪だった

*9:なぜ、東京