AWS Workshop#2に行ってきました。

概要

Amazonに限らず、Webサービスについて話したり作ったりするコミュニティを作りたい。そんな集まり。主催者はAmazon.co.jpのEmerson Millsさん。今後月1で開催。

AmazonのWebサービスを使った面白い事例

発表者:Jeff Barr(Amazon.comの人)

flowser.com

  • Amazonの各種サービスカテゴリを花びらにみたてたサービス
  • flowerとbrowserをかけてる
  • ECSを使ってる
  • Flashで出来ててUIがユニーク、1クリック購入ならぬ、ゼロクリック購入(かも?)

The DVD Wars

  • ECSのデータからBlue-ray DISCとHD DVDのどっちが優勢なのかいろいろな角度から統計を出してる。
  • 実際にメーカーでこれを戦略会議の資料とされてるらしい
  • Q. データを保存しといちゃいけないって規約がなかったっけ?
    A. 過去のデータ(特に値段)を見せられると紛らわしいので禁止してる。この場合はそうとわかるからOK。(規約を変えたほうがいいかも)

tvmojo.com

  • 裏は全部ECSを使ったECサイト(Amazlet.comみたいなもん)
  • 実はAssociate o maticを使ってGenerateされたサイト。
  • Associate o maticとはECSを使ったECサイトを生成するツール。ちょっとしたコンフィギュレーションでアサマシショッピングサイトができる。(MetaMetaAmazon)
  • アサマシサイトのアソシ料の1割がAssociate o maticに入る仕組み(規約であらかじめ書いてあるから問題ない。)
  • Q. co.jpのでもいける?
    A. comとco.jpの違いはクエリのエンドポイント(URL)と返りがマルチバイトってだけだからいけるんじゃないか?Jeffさんが作者と友達なので誰か協力してくれればすぐJP対応できるよ。
  • 個人が暇な時に作ったソフト
  • どうせネズミ講やるならピラミッドの上の方から入ろうみたいな考えが超怠惰(良い意味で)

liveplasma.com

  • ECS使って似たアーティストを検索・表示できるサイト
  • 線や色でアーティストの共通する性質を表してる

Pricenoia

  • 一個の商品を世界のAmazonで価格比較。
  • DVDとか.comの方が.co.jpより全然安かったりする

AWSコミュニティの話

  • デベロッパ用コミュニティが.comでは盛ん
  • 質問に答えるとポイントがもらえる
  • ポイントもらうとステータスのランクがあがる(人力検索系と同じ)

ECS必殺技

発表者:Emerson Millsさん(Amazon.co.jpの人) *Ubuntuつかっとる

  • co.jpのモバイル版はほとんどECSで作ってます。
  • ECS 利用制限: 1 秒 1 コール(1 ユーザ ID から)
  • 1 コール = ASIN(Amazonの商品コード=エイスン)ではない、最大 10 ASIN まで
  • バッチオペレーション
    • ASIN(Amazonの商品コード)を10個までいっぺんに渡せます。
  • マルチオペレーション
    • 検索とルックアップ、ルックアップとルックアップなど複数種類のリクエストを一回のリクエストで取れます

フリートーク

ここで出たAmazonへの要望は日本からの要望ということで必ず.comの上司にぶつけるよ。

AWSZone便利だよ

  • フォーム入力してAmazonの各種APIの返り(XMLとか)が見える。
  • S3とかいろいろ試せる。手っ取り早い。

Amazon Mechanical Turk

システムに人間を組み込むAPI(これはすごい) 具体的には・・・

アプリ > Mechanical Turk API > 何らかのアプリ > 人間

  1. アプリはAPIにやって欲しいタスク、報酬(お金)を渡す
  2. 何らかのアプリ(例えばWebのフォーム)で人間にタスクと報酬を提示する
  3. 人間は何らかの結果(翻訳結果テキスト・音楽ファイル・画像ファイルなど)を何らかのアプリに渡す
  4. APIは結果を返す。
  5. アプリは結果を返す(ことになっている)APIを見に行く

MTurk(Amazon Mechanical Turk)の事例

  • 不動産会社が物件の写真を人に撮ってもらって物件情報が充実
  • 上司の車をひっくりかえしてもらう
  • 上司にパイをなげてもらう
  • 写真に写ってるのが大人か子供か判別してくれ
  • あるサイトがアダルトかどうか判別する
  • 50セントで「こんな婦人服の売り方は駄目だ」をテーマで面白いビデオを作ってくれ
  • 私のブログをよんで50ワード以上のコメントをしてくれ
  • 部下の勤務態度をビデオにとって送ってくれ
  • 鼻歌(mp3)からどのCDなのかおしえてくれ
  • 報酬はお金(銀行振り込み)なので使うインセンティブが強力
  • 上陸したら(今は.comだけ)人力検索系は死ぬかも
  • Google Answerが失敗したのはタイミングが悪かった(←そうかな?)
  • Amazonとしてはこれのjp版に事業性がある(儲かる)ことはわかっている。一番ベストな投入タイミングを見計らってるだけだそうです。

Amazon Elastic Compute Cloud(EC2)

  • API経由で扱う仮想のマシン?
  • S3はストレージでEC2はコンピュータ自体?
  • CPU時間いくらの昔の汎用機のイメージ?

enomaly

  • EC2でいろいろ面白いことやってるとこ。

Elastiv Live

  • EC2上でWindowsを動かしている
  • そしてそれをHostingしてる

とてもためになりました。MTurkが面白そう!あと、co.jpモバイル版をECSで作ってるって話。WebサービスからHTMLを吐くって発想はなかったわ。自社サービスも自社のAPIを使った単なるマッシュアップとして作れば柔軟で変更に強くなりそうですな。

ほんとに一番気になったのはASINの発音が「えいすん」だったことですが・・・。

ひげぽん OSとか作っちゃうかMona – Color-SVN

IRCで教えてもらった、colorsvnで svn コマンドの出力に色がつく。

入れてみたが良いかもしれない。

共感。 これはいいものだー!

静的メソッドの呼び出しにCLASS使いたい – よくきたblog

function foo() { call_user_func(array(CLASS, ‘bar’)); } でも out ですか?

kumatch / URL / Dec 6th, 2006 14:27 / [ 編集 ]

素敵! パクろ!

自称(美人)フェミニストが愛を語る | 誉め殺しを同性にもしてしまう女性対策

男性といる時はこれで問題ない彼女達も、同性(女性)と一緒の時に、同じことをしてしまうと大問題が!!

女性同士の時も、男性にしているように女性を必要以上に誉めまくると「嫌味やろ~」・「ウソ臭いやろ~」・「心にも無いことを!」と、嫌がられる。 例えば本人は京都大学法学部出身なのに立命館大学経済学部出身の女性に対して「すっごーい!経済学部なんだ~頭いいんだね~」とか言うタイプ。←ほんまにいるんですよ、私の周りに。どうです?皆さんこのタイプ。)

男性で誰に対しても褒めまくる鈴木さん(仮名)という人がいたんですが、たしかに俺が、

「(鈴木さんは)将来なりたいもの第2位だよ」

内訳: 1位 ガンジー 2位 鈴木さん 3位 マザー・テレサ

というと男性は、「おれも、おれも」とか「4位は?」とか言うんですけど、女性は「え”~~~」といって本気で嫌がってました。

最速インターフェース研究会 :: ライブドアのテクノロジーセミナーでしゃべってきました

昨晩はライブドアで開催されたテクノロジーセミナーで「Technologies for UI」という題でプレゼンをやりました。 発表資料はpdfかhtmlで公開する予定ですが、とりあえずテキストだけ先にアップしておきます。

資料だけでもためになる気配がぷんぷんしますなー。 行った人が得したというか、行けなかった人類(含む俺)が損した感が・・・。動画pls・・・。

many favicon

以前に、「IEでfavicon出ない問題」をPHPはさんで解決しました。しかし、favicon一杯あるページ(ココとか)では切なくなるほど遅くなります。

普通の画像だってあるだけリクエスト飛ぶのに何が違うのかと思ったんですが、よく考えたら普通の画像はブラウザにキャッシュされるので2回目からリクエスト飛ばないんですよね。PHP挟むと毎回フレッシュな画像が表示される。(悪い意味で)

要はPHPでもブラウザにキャッシュしてもらえばいいのカー。 PHPのデフォルトではご丁寧に(今回は邪魔だけど本来超嬉しいデフォルト設定)ブラウザにキャッシュされないようにヘッダを吐いてくれてるので、(p0t: 戻るボタン対策)それを切るだけで良かった。

session_cache_limiterのパラメータの細かい説明がマニュアルに見当たらなかったんですが、

  • nocache—- ブラウザにキャッシュしないで(デフォルト)
  • private—- ブラウザにキャッシュして
  • public—- ブラウザとキャッシュサーバ(プロクシとか)にキャッシュして

だそうです。(via http://www.hizlab.net/app/portal.html)

<?php
<strong>session_cache_limiter('public');</strong>
header('Content-Type:&nbsp;image/x-icon');
echo&nbsp;file_get_contents($_REQUEST['favicon']);
?&gt;

これで2回目から糞速い。

画像にPHPでアクセス制限かけてるとことか(←アクセス制限はずしてどうする)(←いや、問題ないか)、mysqlのblobから画像出してるとことかもこれやると速くなるハズ。

XangoはPerlで書かれた汎用クローラーフレームワークです。イベント型フレームワークPOEを使用することにより高速なクローリングが可能です。実装にもよりますが、単一プロセス内でインデックシングや文字コードの変換等の処理を同時に行うアプリケーションでも1秒に5~8 URL、1時間で 18000 ~ 22000 URLの処理が行えます。

超よさそ・・・。 こんな情報を発見しましたが、一番やりたいのがクローラのスレッド化なので意味ないか・・・。

マイドメインレジストリサービス

<おしらせ> 2006/12/13 夕刻 ~ 2006/12/14 11:00 マイドメインのサーバが停止しておりました。

現在、詳しい状況を確認中です。 サービスが停止し、ドメインをご利用のお客さまに、多大なご迷惑をおかけしたことをお詫び申し上げます。

しばらくこのページも見れなくて困りました・・・。 ちくしょう!移管してやる!

自分も一個担当していくつかのネットのサービスを調べたんですが、5個調べて全てがFlash, Javascript問わずInPlaceEditor()の機能を持ってました。

↓こういうヤツ

In place editor

もはや、コンシューマ系のネットのサービスではAjaxを使わないことの方が例外的みたいです。もう完全に工数が・・・、負荷が・・・などと言ってる場合じゃなくなってしまいました。Ajax拒絶反応は今年中(今月中)で終わりにせねばなりません!(> 人類+俺)

急いでそういうのを覚えねばなりません!

どういう方法があるのか、どういう技術を勉強しなきゃいけないのかを調べてみました。

Ajaxを使った開発方法には大まかに2種類あるようです。

  1. サーバサイドプログラムでAjaxのコードを生成する
    SAJAXGWTのようにサーバサイドの言語でクライアントを含めたAjaxコードを生成する。クライアントプログラムを良く知らなくても使えるのが良い。UIの表現力はツールに依存する。
  2. サーバサイドとクライアントサイドをAPIを介して完全に分ける
    APIを挟んで分業する。サーバサイドがUI変更の影響を受けないので自由なUIが作れる。APIを一揃え作るのが大変。

1の方法はフレームワークがサポートしてるととても簡単で良い。

2の方法では標準APIをどうするかを更に決める必要がある。(毎回話し合って決めるなんてやってらんない) 現状ではAtomPPが有力っぽい。サーバサイドのフレームワークもRESTし易いものが必要。

2の方法で行くとして、選択すべき技術やツールはどういうものがあるのか。

  • Web API(の仕様)
  • クライアントサイドのフレームワーク
  • サーバサイドのフレームワーク

個人的な嗜好を無視して無難なのを選んでみると、

  • Web API(の仕様) → AtomPP
  • クライアントサイドのフレームワーク → prototype.js + script.aculo.us
  • サーバサイドのフレームワーク → Rails

かな・・・?

2の方法はVOXの開発チームがエレガントにやってそうなのでどんな技術、ツールを使っているのか参考にしたいとこです。

ボタン一発で実体参照に変換!MTプラグイン『EntityRefButton』 | i d e a i d e a

その名も「EntityRefButtonプラグイン」。MTの編集画面からボタン一発で選択した文字列を実体参照に置き換えてくれるというもの。これは便利!

便利!

「これ作ったら便利だけど、絶対誰か作るだろうから、出来たらそれを使わせてもらおう」

ってものって結構ありますけど、コレについては思ってから大分時間がたってしまって、逆に自分で作った方が効率的だったかも・・・。

ウィッシュツールリストって無いかな? 開発者しか参加できなくて、リストにあるツールを作るとポイント入って代わりに自分の欲しいツール作ってもらえるとか。そりゃないか。