ウィリアムのいたずらの、まちあるき、たべあるき

ウィリアムのいたずらが、街歩き、食べ物、音楽等の個人的見解を主に書くブログです(たま~にコンピューター関係も)

Googleデベロッパー交流会報告(1)―Google Gears

2007-12-07 23:18:23 | JavaとWeb

これから、何回かに分けて、今日の「Googleデベロッパー交流会」の報告をしてみたいと思います。

交流会は、

1.プレゼンテーション Google Gears
2.パネルディスカッション 1部 2部
3.懇親会

というようになっていたんだけど、ウィリアムのいたずらは、懇親会に出なかったので、1と2の報告で、今回は、まず1のGoogle Gearsについてです。

 なお、この内容は、後日YouTubeにアップされ、今回のスライド資料公開も検討しているそうです。

・Gearsのサイト
   http://gears.google.com/
 (ウィリアムのいたずら注:前に出た2つのサイトはデベロッパー用。
  こっちは、一般も含めて)



日時:2007年12月7日(金)13:00開場 13:30開始
場所:東京コンファレンスセンター品川 5階のB会場

参加者:空席はあったけど、まあまあ、人は入ってた。
 なんか、私服の人が多かった。
 Googleのひとは、同じような服を来ていた(制服?)
 通訳つき(2人。訳は上手で、とてもよかった)

内容:

(1)あいさつ
   クリス シャルク氏(なんかGoogleの偉い人みたい ^^;)

(2)プレゼンテーション Google Gears
   グレゴーホーペ氏(なんかGoogleの偉い人みたい ^^;)

<<説明のないよう>>
・ブラウザの課題
   接続していないときの操作
   信頼性=もし、通信が止まったら?
   レスポンス=ローカルアクセスのほうが早い

・そこでブラウザの要望
   ローカルサーバー
   データストレージ
   ワーカープール (バックグラウンドでの操作)
 →この3つの機能をGoogle Gearsは提供

・ソースのありか
 http://code.google.com/p/google-gears/
 →NewBSDライセンスで提供
 (ウィリアムのいたずら注:
  http://code.google.com/apis/gears/
  というサイトでも情報を提供している。この2つのサイトがある理由は
  次回かそのつぎの、このブログで報告する)

・Gearsの場合


            クライアント
  インターネット ⇔ XHR|Sync  ⇔   DB        ⇔ UI
                   (ローカルデータベース)


XHR:XMLHttpResponse(をサーバーに発行すること)
Sync:サーバーとローカルDBの同期をとる部分のプログラム

・オフラインでもローカルストレージにダウンロードすることで動く

・可能とするAPI

(1)リソースストア
  =ページ、スクリプトなどを格納する。以下のような方法がある
     ・シングルリストア
     ・マネージドリソースストア(全体を保存する)
   これにより、ローカルでリソースにアクセスできる。

 <<つかうには>>
 ・offline-manifest.jsonっていうかんじのファイルを作って、何保存するするか書く
 ・プログラムで、ローカルサーバーをCreate,ストレージをCreate

(2)データベース
  =SQLiteを使う

 <<つかうには>>
  ・プログラムでdbをCreate
  ・de.executeで引数にSQLを書くとSQL実行

(3)ワーカープール
  =バックグラウンドでジョブ実行

 <<つかうには>>
  ・ワーカープール作成
  ・コールバックを設定
  ・バックグラウンドで実行したいプログラムを設定
 もちろん、そのバックグラウンドで動くプログラムも書く。

・今後
 フルテキストサーチなども考えている。




1.プレゼンテーションはここまで。
次回は、パネルディスカッション



  • X
  • Facebookでシェアする
  • はてなブックマークに追加する
  • LINEでシェアする

Google Gearsって、iアプリとBREWの差みたいなもん??

2007-12-07 17:53:40 | Weblog

 今日、Googleデベロッパー交流会にいってきた(懇親会は出なかった)。
 で、その話は、別にまた書くとして、結局、Google Gearsって、iアプリとBREWの差みたいなもん??




 ケータイで業務アプリを開発しようとすると、たとえば、受注を入力するとき、商品コードを入力したら、すぐに商品名が出てきて欲しい。

 このように、「なにかを入力したら、すぐにマスタ検索して、なにかを表示」という場合、ケータイでサーバーにアクセスしていると、時間がかかってしまい、入力がとまってしまう。

 なので、ローカルに、マスタを持たなきゃいけない・・
 となってくると、

1.ローカルに商品マスタなどのマスタ用DBをもち、
2.商品コードとか画面入力したら、すぐにDB検索して商品名表示
3.受注データを入れ終えたところで、サーバーアクセス
4.適当なタイミングで、マスタ更新データのダウンロード

というように、やらないといけないが、これをiアプリで実現しようとすると、ローカルにDBというほどの大きなものは、もてない。
 なので、この手のiアプリの開発はしにくい。

 BREWだと、結構大きなファイル領域が使えるので、上記のコトが可能(ただし、BREWは登録する必要があるとか、それはそれで、違った話がある)




 で、Google Gears。
 Google Gearsがない現状だと、上記のアプリを組む場合、商品マスタをサーバーに置けば、商品1件入力後とに、商品名を得るためにサーバーアクセスとなるので、時間がかかり、問題がある(かも)。
 だけど、Google Gearsを使えば、

1.ローカルに商品マスタなどのマスタ用DBをもち、
2.商品コードとか画面入力したら、すぐにDB検索して商品名表示
3.受注データを入れ終えたところで、サーバーアクセス
4.適当なタイミングで、マスタ更新データのダウンロード

っていうことができる(いちいちサーバーにアクセスしないでも、ローカルでDBをもち処理できる)。




ってことで、Google Gearsって、iアプリとBREWの差みたいなもん??

  • X
  • Facebookでシェアする
  • はてなブックマークに追加する
  • LINEでシェアする

事前条件、事後条件、不変表明と数学的帰納法

2007-12-07 12:12:47 | Weblog

 JUnitなどの説明でよく出てくる、事前条件、事後条件、不変表明ですが、
 事前条件と事後条件はわかる。
 不変表明に何を選ぶかだけど。。。

 事前条件、事後条件、クラス不変表明がでてくる、ホーア論理の本なんか見ると、
 不変表明は、

 最大公約数をもとめるとき、公約数の関係式
 階乗のときは、階乗の関係式

 っていうかんじで、その変数を含めた関係式が書かれている

 つまり、数学的帰納法なんかでの、n-1とnの関係式みたいなの・・・
 数列を求めるときの、漸化式みたいなやつ
 (漸化式とはちがって、すべての・・・であらわしてあることもあるけど)

ってことは、 事前条件、事後条件、不変表明は、数学的帰納法なんかと同じ?

つまり帰納法だと、


以下の条件を満たすとき

   (1)0番目のとき
   (2)N-1番目とNの関係など

なになにであることを証明せよ----(3)



なんて書くけど、これとおなじで、

(1)が事前条件
(2)が、クラス不変表明
(3)が事後条件

なのかなと思ってきた。


  • X
  • Facebookでシェアする
  • はてなブックマークに追加する
  • LINEでシェアする