Google Developer Day 2010

Bootcamp 2010
https://sites.google.com/site/tokyogtugusersite/bootcamp-2010
・資料とUst録画が公開されています。

Google Chrome ウェブ標準とChrome拡張入門」by @os0x

テーマ Chrome,Chromium,WebKit
Chrome拡張
HTML5との付き合い方

第1部Chromeとは

Chromium レンダリングWebKit。JSエンジンにV8
GoogleChrome ChromiumGoogleがカスタムして公開

Chromeのリリース
 stable 安定版
 beta テスト版
 dev 開発版


6週間置きにリリースする予定
リリースを短くすることによるメリット
 間隔が長いとある機能が入るか入らないかが大きな意味になってしまう。
  開発版 1週間おき
  Canary build ほぼ毎日(デフォルトのブラウザには設定できないという制約がある)
   致命的なバグがある可能性もある

WebInspector(いわゆるFireBug
 Chromeではデベロッパーツールという名前
 特集:gihyo GoogleChromeFirebug http://gihyo.jp/dev/feature/01/devtools

第2部 Chrome拡張

HTML/CSS/Javascript でつくる
つくるのは簡単だが、でも実現がむずかしいことも多い


例:WebDeveloper GoogleChrome Extension gallery
  スタイルシートを無効にしたり
  ソースをみたり、画像に対して処理をしたり
できること
・バックグラウンドしょり
・クロスドメイン通信
・データの永続化
・デスクトップへの通知
・タブ・ウィンドウの操作
・ブックマークのそうさ
・UIパーツの追加
・ポップアップの表示表示したページでの任意のJSを実行
・国際化
など


セキュリティ
 バックグラウンド処理は拡張の特権がある。
 manifest.json
  拡張を定義するjsonファイル。宣言していない機能は使用できない。ユーザーが使うときに、警告がでるようになっている


作ってみる
 manifest.json UTF-8で保存
 "キー" : "値" どちらもダブルクォート


 background.html
  localStrage データベース 文字列のみ保存
  オブジェクトの保存はJSONを使ってやる
  webkitNotifications で表示
  例:TweetNortify
  開発晩をインストールして、ディレクトリに


パッケージ化
 .pemは秘密鍵ファイル
 .crxはZIPファイル
拡張機能の公開
 初回は5ドルかかる

第3部 HTML5とのかかわり

Chrome拡張 JSで実現できるものに限られる
実現できることはどんどん増えている
Chrome OS


バズワードHTML5も重要


自分が使っているextentionのソースを読んでみるのが一番勉強になるかも

HTML5「実例から学ぶHTML5開発入門」by @Shumpei

本 HTML5&API http://www.amazon.co.jp/dp/4822284220

API基礎

できるようになること
 グラフィック canvas element,SVG
  ビットマップのようなグラフィックをいじる canvas
  XMLで画像を表示するSVG
 動画・音声の再生 video,audio element
 オフラインWebアプリケーション(GoogleGearsは開発中止。HTMLで実現)
  CACHE MANIFEST
 クロスドメイン通信
 クライアントサイドストレージ(ブラウザのデータをDBに保存すること。ファイル保存はセキュリティ的に難しいだろう)
  WebStorage(ローカルストレージ、セッションストレージ)
  WebSQLDatabase(RDB)
   現在は仕様策定が停止
   SafariChrome実装済
  IndexedDatabaseAPI
   キーバリューストア
   WebStrageより複雑だが高機能
   オブジェクトのカテゴライズやカーソルなど使用可能
   まだ実装が存在しないが、将来的にはデファクトスタンダードになるかも
 バックグラウンド処理
  固まらないように。マルチスレッド。
 サーバープッシュ・双方向通信
  WebSockets
  ファイアウォールを越えられるソケット通信
  ポート80でバイナリのデータやりとりができる。HTMLのヘッダなどは不要。
  双方向。
 OSとの緊密な連携
  ファイルの内容をJavaScriptで読み取る FileAPI ドラッグ&ドロップか、ファイル選択ダイアログ

デモアプリたち

Blowing apart fragments of Video
 HTML5VideoDestruction.html
 video、Canvas を使用
 作業用と表示用にタイルを分割
 Videoを裏で再生し、分割したCanvasに貼り付けている
 200行くらい


MovementTracker
 video、Canvas、WebWorkers
 上記の技術プラス、
 バックグラウンドで前の絵と今の絵を比べて違っている部分を計算(←計算にCPUを使うため、バックグラウンドで実施)


Quake? GWT Port
 WebGL
 Video/Audio
 WebSockets
 LocalStrage
 重い。再生するには、ハイパワーなマシンが必要
 Googleの20%ルールで作成

QA

暗号化はどうするの?
 HTML5の仕様にはない。通信だとHTTPSでやるのかなぁ
 ローカルストレージを暗号化するにはJavaScriptの部品があった


HTML5の開発ブラウザは?
 iPhoneiPadの開発が多いので、SafariChromeで作って、iPhoneシミュレーターで確認

AndroidAndroid初級ハンズオン」by @95kugo

HelloWorld
エミュレーターでHelloWorld
Intent連携するアプリを作ってみよう


ハンズオン資料
https://docs.google.com/document/pub?id=1lEoPB8xgoFSySlkBltW4Ss5KSxTVUH884y8dSp0A7Ng

オブジェクト倶楽部夏イベント2010 ですくすくスクラムやってきました

オブジェクト倶楽部夏イベント2010
http://www.objectclub.jp/event/2010summer/


オブジェクト倶楽部メールマガジン すくすくスクラムトラック紹介
http://www.objectclub.jp/ml-arch/magazine/344.html


いつからかすくすくスクラムスタッフとしてちょびちょび活動していました。
オブジェクト倶楽部様からオファーをいだだき、1トラックをすくすくにいただきました。


やったことはスクラム入門。(ドラムサークルも)
構成は、
1)アイスブレーク(ドラムサークル)
2)スクラムの歴史&用語説明(プロダクトバックログ、スプリント計画など)
3)モービル(モビール?)作成スプリント
4)振り返り、発表

雑感

アイスブレークで使ったシェーカーはスタッフ手作りのヤクルトシェーカー!
ドラムサークルは大いに盛り上がり、20分ほどオーバー
またまた用語説明もオーバーし、質問も飛び交ってさらに20分オーバー。
もうもうどうしようかとアセアセっ><
スプリント0のスプリントレビューと振り返りを端折ることになりました。
もっとやりたいことはあったのですが、スタッフ力不足により中途半端に感じた方には申し訳なく思っています。
参加していただいた皆様、ありがとうございます☆


最後になりましたが、個人の時間を割いてまで一緒に取り組めたスタッフには心より感謝しています。
とても楽しかったです。

QConTokyo2010

4/19-20 にミッドタウンで行われたQConTokyoに行ってきました。
参加費が高いので会社の稟議を通して(かなりめんどくさいが)。
アイスランド火山噴火の影響で、セッション内容に変更がありました。
とても、残念。


二日目は、二日酔いでほとんどメモをとっていない><


かろうじてとったメモを残す。

1日目

Data Architecture at Twitter Scale

twitter
(遅刻した)
1ヶ月などの期間単位でパーティションを区切っている。
導入当初は問題だらけだと思われたやり方だが、リアルタイム性を重視するTwitterにとってはとても有効なやり方である。

@IT - 秒間120万つぶやきを処理、Twitterシステムの“今”
http://www.atmarkit.co.jp/news/201004/19/twitter.html

The JSON Saga

JSONの紹介。
JSONは現在多言語で採用されている。
XMLには問題がある。
XMLに比べ、JSONAjaxを考慮してある。
JSONYAMLの親和性。

認知, 言語, 領域からのソフトウェア構築 - Grailsをベースとして メタボリックス

私たちの仕事は要求とシステムの間のことばを作ること。
ビジネスから言葉を開始、コンピュータで実行可能な言葉に変換する。

有機的なユーザーインターフェイス実装における課題とアプローチ

RIA
Adobe製品多め。
Z軸で頑張る!
「かもしれない」という期待を2ndオペレーションで実現すると、ハートをつかめる。
逆に、1stオペレーションに持ってきてしまうと、難色を示される。
はじめは100で契約し、120で納品する。
人の思考を相手にするのでドキュメントにできない。
ドキュメントにできないため、動画を作る。
Dev,Test,UI,IAが1つのチーム。4-5名構成。
毎日ユーザーに使ってもらう。
カンプをはる。
Pre-Visualization
UIはルールづくりが重要。右にでる、ドラッグするなど。
ルールを徹底する。
紙にかくので、紙があふれる。
朝会後、紙を掃除する作業。
エビデンスもムービーで。
1テラあれば納品できる。

カンファレンスパーティ

会場でパネルディスカッションが行われ、聞いていたり、聞いていなかったりしてました。
コミュニティのブース(?)もありました。(なぜすくすく・スクラムがないのか!?とすくすく首謀者と語る。)
先日AgileJapanでお世話になったピーク・ワンさんにご挨拶させていただいたり。

2日目

パーティで飲みすぎたため、二日酔い。

Scaling Memcache at Facebook

(遅刻した)

Javaにおけるモジュラリティ元年 こんぴろさん

モジュール化
OSGi
情報が少ないので自分でしゃべる

設計技法 リアルタイム協調型ドローツールCacooのアーキティクチャと設計 ヌーラボ

Cacoo
ユーザーは国内より、海外のほうが多い。

デザインパターンの "本当の" 使いこなし
Failure Comes in Flavors

Release-IT!

その他

@IT - 「ソフトウェアは工業製品ではない」、Rubyのまつもと氏が講
http://www.atmarkit.co.jp/news/200904/10/matz.html

AgileJapan2010

ボランティアスタッフとして参加してきました!
早期割引の期間中に申し込み忘れてしまったので、半ば諦めかけていたところに、ボランティアスタッフ募集がキタっ☆
野中先生のお話だけでも聴けたらラッキーと思って手を挙げた感じです。


8時集合という私には大変困難な集合時間だったのですが、なんとか15分遅れで到着。(すみません)
811のお部屋担当でした。
会場セッティングや誘導、受付のお手伝いなどなど走り回っていたら、足パンパン。
万歩計持ち歩いてなかったので正確ではないですが、1日15000-20000歩くらいいったのではないかと思われ。


そんなこんなでお手伝いをしていると、東さんから声をかけて頂き、
PFP九州では、1参加者でしかなかった私の顔を覚えておられる!!!
感動でした。
もはや佐賀に足を向けて寝られない><


正直、翌日は軽い筋肉痛に襲われ、ダイエットにも成功したのですが、翌々日には見事にリバウンドしましたっ(T◇T)

体験しよう!考えよう!行動しよう!
Agile Japan 2010
― 日本のアジャイルはここにある ―
http://www.agilejapan.org/2010/02/09175518.html

マクドナルドのドライブスルー

なぜ注文確認をしないのだろうか?
いつも聞こえているのか聞こえていないのか不安になる。
で、10回に1回くらい、間違えている。
1回目はシャカシャカチキンを注文したのに、入っていなかった
今日はハッピーセットのおもちゃを間違えていた
両方とも、レシートを確認すると、注文から間違えていた。
ドライブスルーなので、店を出て、食べるときに気がつく。
今日は家に持ち帰って、おもちゃが違っていたため、交換するためにすぐ店に行った。
ドライブスルーが混んでいたため、車をとめて店まで行くと、中でも並んでいる。
10分くらい待って、
私「まちがえていたので交換してください」
おばちゃん「ああ、どうもすみませんねー」
くらいの返し。
クレーム言おうかと思ったが、おばちゃんに言っても気持ちはすっきりしないのでやめといた。
で家に帰ったのが20分後。
ハンバーガーはさめてるし。


今度から、どんなに迷惑がられても、商品を渡された時点で袋の中身をチェックすることにする。

オブジェクト倶楽部2009冬イベント『オブラブ忘年会』のLTやってきました!

http://www.objectclub.jp/event/2009winter/

忘年会ということで、お酒を飲みつつ、セッションがありました。
LTに応募したこともあり、旦那もオブラブ中の人で、あーちゃんどうしようか。
預ける人もいないので、一緒に忘年会に参加。


開始当初はあーちゃんが人見知りしまくって、私に捕まっていたのですが、id:ngtyk おねぇちゃんに遊んでもらい、緊張も解けたのかおおはしゃぎでした。
くじの売り子をさせてもらって大満足!


実をいうと、今回が社外初LTなわけで。
社内も1回しかやったことないわけで。
でもみんな酒飲んでるからどうせ聞いちゃいないだろうし。
まじめな話しても聞いちゃいないだろうし。
ここは酔っててもわかる子育てネタで!
という戦略どおり、ワイガヤな場でした。
スライドアップしてもいいんだけど、あまりに中身のないスライドなため、自重。
主なコンセプトは、"ママ友募集"


最後に、ユウコおねぇちゃんの仕事っぷりにはホレましたっ☆

”TDD” BOOT CAMP  〜 ”TDD” をつかめ! 〜 に参加してきました。

http://kokucheese.com/event/index/750/

午前 TDDとは
午後1 言語に分かれてTDD+ペアプロ、ソースレビュー
午後2 ペアをかえてTDD+ペアプロ、ソースレビュー
夜 表彰、懇親会

Rubyで参加したのですが、Mac率の高さに唖然。
Macを一度もつかったことのない私にはハードルが高かったです。
RubyをやるからにはMac使えないとダメかな〜と今後の課題。


講師が回ってくるって聞いてたけど、回ってこられず、結局ペアに任せられる形でした。
ペアになった方々が、お二人ともTDD+ペアプロの経験者で、流れに任せることができました。


参加者の技術レベルの高さを実感することができた会でした。


いろいろなハードルの高さを考えさせられそうです。