Google Developper Day 2009 の セッション情報

GDD の セッション説明会に行ってきました。情報を公開です。

クラウドコンピューティングがもたらす 5 つのメリット

  • Google Apps(Mail, Office, Calendar, Video, Site, IM...)
    • アプリ: コスト: \6,000/year
    • ランニング: グーグルが一元管理する
    • ビジネススタイル: Chrome, Android と連携。オフライン作業も可能
    • 生産性: Office 製品による共同作業
    • 統合: 他のSaaS製品とかと統合可能 (Salesforceなど

Google エンタープライズ エコシステム

  • Google Search Appliance
    • Google Enterprise Partner (GEP) が多種多様な情報のインデックス化をしてくれる
      • リアルコム: ノーツデータを検索可能とする
      • 印刷した紙媒体もインデックス (会社名聞き取れませんでした)
    • Google Apps クラウド内に保存しているデータも検索可能
  • Google Apps
    • LDAP や AD と連携した SSO
    • SAML2.0 に同期可能なアプリケーションであれば同期可能

HTML 5

  • ハイパーテキストというよりはアプリケーションプラットフォームになる
  • HTML本体の中の構造化ドキュメント、メディア系のタグ、フォームの新機能を詳しく紹介予定
  • ユーザーメリット、開発者メリットを紹介予定
  • 2010 年にファイナライズ予定
  • Gears と HTML 5 対応ブラウザ のすみわけを聞いてみた -> 古いブラウザへの HTML 5 の一部機能の提供?
  • HTML 5 に対応したアプリのみの提供は不可。下位互換をプロバイダーが保障する必要がある

HTML 5 になると、Flash とか アプレットはいらなくなるのではという話が興味深かったです。Google IO の結果が楽しみです!

pyAWWS バグ対応とか

Sekimura さまより、pyAWWS のパッチを送っていただきました。ありがとうございます!初歩的なバグでした・・・。送っていただいたパッチは http://gist.github.com/114552 です。さっそく当てたものをコミットしました。

バグはあんまほめられたことじゃないですけど、パッチ送ってもらうのはうれしいもんですねw

Google Developper Day 2009 について

Google Office Google Developper Day 2009 のサポーターブログ vol.1 です。12日に事前MTGがあるとのことで参加してきました。以下、事前情報で公開されている内容です。

Google Developper Day 2009 について

  • 開催日: 2009 年 6 月 9 日
  • 場所: パシフィコ横浜
  • 概要: Google の最新テクノロジーの紹介、デベロッパーとの交流
  • 参加方法: 満席のため、締め切り終了 (紹介枠のみ)
    Google Group 等で最新情報を取得することができます

以下、事前 MTG で紹介されたセッションの概要です(おそらく公開して良いと思われるw)。

  • App Engine, Geo (Maps API), Open Social, Chrome, HTML5, Social Web等などのGoogle テクノロジー。ライトニングトーク、オープンソース、エンタープライズエコシステム、新ユーザエクスピアリアンス、新卒 Engineer のお話他。ほぼ Fix ですが、変更の可能性あり
  • 今年は、Open Social のセッションの枠が拡大されています
  • スピーカーは Open Social プロバイダーの有名な会社の社長さん ("m" ではじまる) 等、非常に豪華です。楽しみです!
  • ライトニングトークには、@tmatsuo さんも参加されます

以下、その他の有用な?情報です。

  • 当日は早く来るといいこと(Google ノベルティ的な)がある。
  • Office Hour にスピーカーとお話ができる。
    ※ Office Hour: 米国大学で使われている用語で、教授が絶対に捕まる時間らしい。Developper Day では教授ではなく、有名なスピーカーの皆様が捕まります。
  • サードパーティーがディスプレイしたりしてます。

以下、Hack-a-thon 情報です。

  • 今年から、Hack-a-thon に時間を割くため、Developper Day とは別に Hack-a-thon の時間を設けることに
  • Hack-a-thon は 6/10-11 に秋葉原でやる予定
    • 6/10: Geo API, Android (cross presentation) 定員 30
    • 6/11: App Engine, Open Social (cross presentation) 定員 30
  • Hack-a-thon の申し込みは別途

以下、私のメモ。

  • レポート担当セッション: HTML5, Social Web, Open Social, Open Social Advanced, Open Social Panel Discussion
  • Idea-Thon が事前にある予定
  • 京都から来られてる方もいらっしゃいました

pyAAWS for Product Advertising API

Python library of Amazon Associates Web ServiceProduct Advertising API に対応させました。電子署名とか・・・。追加点は新API仕様のとおりです。解説がめんどいので、diff 貼ります。

+import hashlib
+import hmac
+import base64

-Version = '2009-02-01'
+Version = '2009-03-31'

   def _get_url(self, kw):
-    url = 'http://%s/onca/xml?Service=%s&AWSAccessKeyId=%s&Version=%s&' % (
-      supported_locales[self.locale],
-      Service,
-      self.AWSAccessKeyId,
-      Version,
-    )
     if not kw:
       kw = {}
+    kw['Service'] = Service
+    kw['Version'] = Version
+    kw['AWSAccessKeyId'] = self.AccessKeyId
+    kw['Timestamp'] = datetime.datetime.utcnow().isoformat()
     if (not 'AssociateTag' in kw) or (not kw['AssociateTag'] and self.AssociateTag):
       kw['AssociateTag'] = self.AssociateTag
     if (not 'MerchantId' in kw) or (not kw['MerchantId'] and self.MerchantId):
       kw['MerchantId'] = self.MerchantId
     if (not 'Validate' in kw) or (not kw['Validate'] and Validate):
       kw['Validate'] = Validate
-    url += '&'.join(['%s=%s' % (k, urllib.quote(unicode(v))) \
-      for (k, v) in kw.items() if v])
-    return url
+    [kw.pop(k) for (k, v) in kw.items() if not v]
+    payload = urllib.urlencode(sorted(kw.items()))
+    urllib2.quote
+    strings = [
+      'GET',
+      supported_locales[self.locale],
+      end_point,
+      payload
+    ]
+    digest = hmac.new(
+      self.SecretAccessKey,
+      '\n'.join(strings),
+      hashlib.sha256
+    ).digest()
+    signature = base64.b64encode(digest)
+    return 'http://%(uri)s%(end_point)s?%(payload)s&Signature=%(signature)s' % {
+      'uri':supported_locales[self.locale],
+      'end_point':end_point,
+      'payload':payload,
+      'signature':signature,
+    }

詳細の diff は bitbucket (なんちゅうブログやw) へ。ノットリファクタリング。使い方が変わったところは、Secret Access Key が必須になったところぐらいです。

import awws
- api = Api('[取得した Access Key Id]')
+ api = Api('[取得した Access Key Id]', '[取得した Secret Access Key]')

Python library of Amazon Associates Web Service

Python library of Amazon Associates Web Service を公開しました。既存で pyAWSというのがあるみたいですが、正直使いにくかったので、自分用に作成しました。Google App Engine に乗っけたかったので、Pure Python で dom をパースできる pxdom を同梱してます。もち、xml.dom.minidom でも動作します。APIのバージョンは、いまんとこ最新の "2009-02-01" です。とりあえず、ItemSearch の機能しかありません。

import aaws
api = Api('1MGVS72Y8JF7EC7JDZG2')
items = api.ItemSearch('Python', SearchIndex='Books', ResponseGroup='Small')
print '%s' % items.url
print 'TotalResults: %s' % items.count
print 'TotalPages: %s' % items.num_pages
print 'ItemPage: %s' % items.number
for item in items.object_list:
  print '  * Title: %s' % item.Title

if item.has_next()
  next = items.next_page_number()
  items = api.ItemSearch('Python', SearchIndex='Books', ResponseGroup='Small', ItemPage=next)

という使い方ができます。とりあえず、結果のクラスは paginator と互換性を持たせているので、ある程度直感的に使えるかもと期待w。Amazonで遊ぶアプリを作っているので、今後 ItemLookup 等のAPIも追加していく予定(いつもながら亀のスピード)。コードはいつもながらひどいと思います。

それと、公開しといてなんですが、AAWS は、もうすぐ Product Advertising API になるため 2009-08-15 で使えなくなるそうです・・・。いらないですね。まだ API 仕様読んでないですが、対応予定。予定は未定。

Windows 7 を触ってみた

本当に触ってみただけです。VMWare に Windows 7 build 7100 が出たということで早速インストール。ダウンロードして、isoにマウントして、通常通りインストール。その後、VM -> Install VMWare Tools でイーサーネットを含むドライバをインストール。



ビジネスユースには不要なぐらい GUI が綺麗ですね。あと、Vista (VM上) と比較しても若干早い気がします。特にIE。XPとの互換を強化したところが大きなポイントらしいですが、Vista使ってて(遅いこと意外で)困ったことがないのでわかりませぬ。なので今のところ、IE8での CSS 表示テストなどにしか使う予定はありません(笑)