2011年5月17日火曜日

話題を3件ほど

話題1.前回エントリのGAEのChannel APIがAIRで使えない件ですが、外国のどなたかがIssue Trackerにあげてくれてました。めでたし・・・なわけない。正直、使用者数から考えて優先度は低だろうな。だいたい、GoogleのWebAPIで、AIRだのActionScriptだの見たことないし。

話題2.GAEのSDKが、1.5.0になりました。大きく変わってるんですが、Quotaがまた変わりました。回数系の制限が取っ払われて、リソース使用量(帯域とかデータ容量、CPU使用時間など)のみになりました。APIを呼びまくってでも、いかにリソースを食わないプログラムを書くか、腕の見せ所です(前向きに捉えれば)。

話題3.すっげー久々にPush It!をバージョンアップしました。といってもサーバ側。でも有用だと思うのでぜひご活用を。
  • ニックネームを登録できるようにした。
    →タグを共有/公開する際に、Googleアカウント(という名のメールアドレス)をさらさずに良くなりました。
  • メールで付箋紙が登録できるようになった。
    →出先などでふと思い立ったらその場でPush It!にメール!

2011年4月25日月曜日

AIRでChannel APIを使う・・・続編

GAEのChannel API
という前回のエントリにて、AIRでChannel APIが使えねーよー、と嘆いてはや・・・忘れたけど、打つ手なしで困って途方に暮れて放り出していたところ、ふとしたこと(あまり関係ないことだったんだが)からヒントが見つかりました。

AIR でサポートされていない WebKit の機能

このページの先頭にて、

window.postMessage 経由のクロスドメインメッセージング(AIR は独自のクロスドメイン通信 API を提供)。

という文言が。

あやしいぞ、と思って、GAEのChannel APIのJavascriptの中を覗くと、

使ってるよ、postMessage・・・

ビンゴかな・・・困ったね。
独自のクロスドメイン通信APIを提供、って勝手なマネすんな!Adobe!世の中一般のJavascriptライブラリが使えなくなるじゃねーか!

おまけにChannel APIの将来の本命と目される「WebSocket」についてもお得意の「独自の・・・」なんだそうで。

アホなの?

う~ん・・・。う~ん・・・。
せっかくChannel APIっていう素敵な代物があるのに指を加えて見てろと・・・。
読み込まれたHTMLにpostMessageを無理やり埋め込むってできるのかなあ。
できないんじゃ今のまま短周期ポーリングによる疑似Push継続だよ・・・悲しいし、しょぼい。

あ゛~!

どうしてくれよう。 

★★★★★★ 宣伝 ★★★★★★
そんなこともありますが、オンライン&オフライン付箋紙ソフトPush It!は今すぐ、誰でも、問題なく使えます。今すぐページ右上のリンクをClick!

2011年3月9日水曜日

GAEのChannel API

あ~さて、GAEのChannel APIが公開されてけっこうな時間が立ってるわけですが、未だに使えません。

Channel API自体は使えるんですが、AIRから使えないという話です。
Channel APIのクライアントライブラリはJavascriptになっていて、そのままじゃもちろんAIRでは使えない(FLEX形式の開発の場合)ので、HTMLLoaderクラスにJavascriptを読ませて、ActionScriptにブリッジする、みたいなことをしようとしてるんですが、ブリッジする以前に、HTMLLoader上のJavascriptがブラウザで動くようには動作してくれない。

困ったちゃんだなあ。。。
私がスーパープログラマなら、Javascriptを解析してActionScript化しないでもないのだけど、そんな技量はないし、あったとしても、ライブラリの中身が変わる可能性もある(現状はGoogle Talkのサーバを利用してるみたいだけど、将来的にはもっとネイティブなものに変わる可能性大)ので、あまりいじりたくないんだよね。いや、技量ないですけど。

かれこれ1ヵ月くらい悩んでるんだろか。もう諦めたい・・・。

2011年3月2日水曜日

AIR2.5

遅ればせながら、AIR2.5対応でもしようかと、最新のSDK(AIR SDKとFLEX SDKね)を落としてきて、コンパイルかけたら。。。あらら?mxmlで「そんなプロパティねぇ!」とか言われてしまう。

いつからなのかちゃんと調べてないのだが、従来使えていたプロパティは「Halo」とかいうテーマを使うことにしないと有効にならない模様。。。

って、ええと、、、どうやってテーマを適用するのかわかんないんですが・・・。

Flash Builderが欲しいよう!

と、アフィリエイトのテストをしてみる俺だった。
いや、欲しいのはほんとです。横の広告クリックしてみんな購入してください。30本くらい買ってもらえると多分自分が買えるだけの収入になります。

冗談はさておき、Adobe製品って高いなあ。。。AIR GEARって開発進んでるのかなあ。

2011年1月18日火曜日

Channel APIが触りたいよ~!

去る12月くらいに、GAEにChannel APIというものが正式に追加されました。

これを使うと、簡単に言うとチャットアプリが作れます。
別にチャットアプリを作るためのAPIじゃないですけど。
要はリアルタイムに近い情報のやり取りがサーバとクライアントの間でできるようになるということです。

現在のPush It!は、サーバとの同期のためにポーリングモデル(定期的にサーバに「新しい情報ありますかね~?」と聞きに行く)を採用しているのですが、どうしてもタイムラグが発生するし、サーバ側も負荷がかかり過ぎないように色々工夫してあげないといけません。(GAEの無料Quotaに引っ掛かりやすくなるので)

ということで、すぐにでも対応したいChannel APIなのだが、全然時間が取れない。。。くやしい。。。

2010年8月18日水曜日

GAEのDashboardがまたえらいことになり、Quotaもえらいことになっていた

GAEで管理者だけがアクセスできるページ(なんて呼ぶんだろうね?管理コンソール?)で初期表示される画面が「Dashboard」って名前なんですが、ここのChartっていうグラフに、1秒あたりのリクエスト、送信バイト、受信バイト、などが表示できるのです。

で、今日ふと開いてみたら、 過去30日分を表示できるようになってる!
今までは24時間がMAXじゃなかったかと思うんだが。。。

そして、30daysを選んでみると、過去30日分が表示される。。。ってことはこれまでも表示してなかったけど、データとしては保持してたってことですね!?

恐るべしGoogle、である。
これまでも管理コンソールには気付くとメニューが増えていたりして、侮れない。

あとついでだから言っておこう。
GAEには無料でどこまで使えます~という制限があって、ま、端的に言うとそれを超えると(GAE利用開発者を悩ますOver Quotaというやつだ)使えなくなるわけなんだが、その制限が大きく緩和されている。いつの間にか。

古いのは日本語版を見れば分かる(2010/8/18時点。気付いたら英語版に追随しているかもしれない。気をつけよう)
http://code.google.com/intl/en/appengine/docs/quotas.html
を開いて、言語をEnglishと日本語で切り替えてみよう。

例えば1日当りのリクエスト数は、
旧:1,300,000 件
現:43,200,000 requests
とかになって、、、増えすぎじゃね!?


俺かつがれてる??実は課金が発生してる?どうしよう。。。

2010年7月16日金曜日

ごめんなさい・・・

もう対処済みですが、本サイトの方で案内した通り、付箋紙が登録も変更も削除もできなくなる状態が発生してました。本当に申し訳ありませんでした。

原因、、、なんですが、分かってるんですが本当のところは良く分かってないのです。
(どっちやねん!)

AIRのクライアントを立ち上げると、
(1) HTTP(non SSL)のサイトにアクセスして、Googleログインする。
(2) セッションキー(Cookie)が払いだされる。
(3) そのCookieを使ってHTTPもHTTPSも通信する。
という動きになっていたんですが、

ある時から(1) の方法で取得した(2)のCookieがHTTPSで使えなくなってしまっていました。

AIRのクライアントは、
・更新の確認(だけ)はHTTP
・付箋紙の取得、登録、変更、削除はHTTPS
でおこなうように作られているので、後者が全部失敗しちゃってました。

前は(3)がOKだったんですけどね・・・。HTTPでアクセスして取得したCookieをHTTPSで使えなくしたのは誰なんだ?というところが分かってません。
・GAEか?
・Googleアカウントか?
・Windows(InternetExplorer)か?
・AIRランタイムなのか?
嫌疑がかかるのはこれだけいます。

とはいえです。セッションキーをHTTPで送り続けるのもセキュリティ的にまずかったなとは思うので、(1)はHTTPSにするように変更しました。

じゃあ、HTTPを使ってる「更新の確認」はどうすんの?とお思いでしょうか。
ええ、そこをクリアするのに少々時間がかかってお待たせしてしまいました。

結論としては、HTTPSでログイン後、HTTP専用のセッションキーを内部的には払いだすようにしてます。HTTP専用セッションキーは例え盗まれたとしても「更新があるか・ないか」しか分かるものはない(Googleアカウントすら秘密)ので、セキュリティ的には大丈夫かな、と思います。

ふぅ。。。あせったな。。。