簡単Google App Engine入門編

Pythonを知らなかったということもあって、個人的にGoogle App Engine(GAE)がとっつきにくかったので、helloworldまでをまとめてみます。

Python 2.5のインストール

以下のリンクから適当にmsiパッケージをおとしてインストール
Python Release Python 2.5.2 | Python.org
補足:基本的なpythonの使い方は以下のサイトが参考になります。
言語習得Pythonへの道

App Engine SDKのダウンロードとインストール

Download and Install the SDK for App Engine  |  App Engine Documentation  |  Google Cloud
適当なmsiパッケージを選択します。
インストールすると、デフォルトで以下のディレクトリに展開されます。

 C:\Program Files\Google\google_appengine

この中で、重要なスクリプトが以下の二つです。

dev_appserver.py 開発環境用のWEBサーバー、ローカルでGoogle App Engineをエミュレートしてくれます
appcfg.py Google App Engineにアップするためのスクリプト

これらの使い方は、後ほど・・・

次に、作業用ディレクトリを作ります。
ここでは、C:\gapps\helloworldのディレクトリを作成し、その中に以下のファイルを用意します。

  • helloworld.py
 print 'Content-Type: text/plain'
 print ''
 print 'Hello, world!'
 application: helloworld
 version: 1
 runtime: python
 api_version: 1
 
 handlers:
 - url: /.*
   script: helloworld.py

開発用GAEサーバを起動&helloworldのデプロイ

DOSプロンプトから、以下のコマンドを実行。

 C:\Program Files\Google\google_appengine\dev_appserver.py C:\gapps\helloworld

dev_appserver.pyの引数にデプロイしたいサービスのディレクトリを指定すれば、そのディレクトリをデプロイしてサーバが立ち上がります。

私は、面倒くさいんで上記の内容を、dev_appserver.batに上記の内容を記述して起動するようにしています。

ブラウザで表示

続いて、http://localhost:8080/にブラウザでアクセス。
すると・・・

 Hello, world!

と表示されればおめでとう!

次は、Google App Engineへのアカウントの登録とアップロード方法について説明します。
簡単Google App Engine登録編 - TECHNERD::INIT

GREE Labs 第16回 オープンソーステクノロジー勉強会

GREE Engineering
に参加してきました。

いやー。かなり面白かった。久々のヒットです。
落ち着いてレポートを書こうかと思ったのですが、id:zegenvsさんのサイトにまとめてあったのでリンク張っちゃいます。
勉強会レポート

Preferred Infrastructureの太田さんの「Hadoopについて」

個人的には、MapReduceの概要は把握していたんですが、なぜMapReduceという技術が出てきたかというところを把握できていなかったので、
MPIの問題(耐障害性、通信部分の実装の煩雑さ)を解決するというところからMapReduceという技術ができたというところは、MapReduceの技術の本質が見えてわかりやすかった。(もちろん対象とする領域が異なっているという側面はありますが・・)

また、Hadoopを実運用に使っているというところが興味深かった。

海外の事例
  • Yahoo
    • 〜2000ノード
    • 検索、広告、ログ処理、データ解析などの部分で使われている
  • Amazon,Facebook
    • 〜400ノード
    • ログ処理、データ解析
国内の事例

BlogEyeの大倉さん

Amazon S3 + EC2 + Hadoopでの実運用事例

データマインニングの研究→Blogを適用対象とした

  • 対象
    • 500万サイト、記事2億+60万/day、
    • データ量200〜300GB
Hadoopは動的にノードの追加・削除が可能

時間単位で使えるEC2と相性が良い
→普段はクローラーにslaveを4台、データ分析時に80台に一時的に増やす

クローラとHadoopも相性良し

クローリングは、レスポンスが帰ってこない場合やレスポンスに非常に大きなデータをふくむこともありうる。ファイルセーフのためはクローラーをslaveに使うとmasterに影響を出さず続行できるので相性いいよ!とのこと。

システム構成
WEBサーバ 2台
全文検索用サーバ 1台
Hadoop Master + MySQL 1台
Hadoop Slave クローラー(4台)、意味解析時(80台になることも・・)
Hadoopの問題点

あんまりない、強いて言うなら

  • Reducerの開始をMapperの終了まで待たせられない
  • ログがすごく大きくなる→一週間くらいで消しちゃえ

Ubiquity presented by Mozilla Labs

ブラウザの新境地? Ubiquityが変える衝撃のブラウザ体験 (1/2) - ITmedia エンタープライズ

UbiquityというFirefoxプラグインを教えてもらったのですが、これかなりいいですね。
基本的に、linuxCLI中心の生活を送っていたので、bluewindを使ってWindowsでもマウスを極力触らないように普段しているのですが、Firefoxもコマンドベースで操作できるのはかなりいい。

vi風なキー操作になるプラグインid:teramakoさんが作ってくれてます。
かなりアツイ。
http://d.hatena.ne.jp/teramako/20080902/p1

FireFoxプラグイン「Ubiquity」に大量のコマンドを登録して日本のサイトを一発で開くすごい方法 (eXtreme Gadget (エクストリーム ガジェット) ポケットに入るアジャイルな究極の小道具)
リファレンスがあって、この記事は参考になる。

Project Eularと数学ガール

ここ一ヶ月Project Euler(プロジェクトオイラー)にはまってたんですが、30問を越えたあたりで本質的に数学を理解しないと進めなくなってきました。
そこで、Amazonで数学関連の本を物色しているとProject Eulerにばっちりな本を見つけました。
結城浩さんの数学ガール
力技でループを作って解決するのではなく、ちゃんと「閉じた」式にして計算量を抑えるというアルゴリズムの本質的な部分に応用できます。
Project Eulerをやっているとこの問題はこう解けばよかったとか、解放についてより一層理解が深まりました。

数学ガール (数学ガールシリーズ 1)

数学ガール (数学ガールシリーズ 1)

まだ、全部よんでないのですが次は、これを読みたいと思っています。

集合知プログラミング

集合知プログラミング

集合知と集合愚

集合知が流行ってますが、このエントリが面白かった。
http://wordpress.rauru-block.org/index.php/1418

量と質は互いに反比例する。
量を求めるときに集合知のアプローチは大事だけど、質を求める場合は違う。なんでもかんでも集合知で解決できると思ったら大間違い。

質を高めるためには、なんらかでフィルタして玉と石をより分けないといけない。
そのためにベイジアンフィルタやフィッシャー法などが重要になってくるわけですね。

このブログエントリにある”寄り集まって Wiki で一冊の本を書こうとする大勢の人たち”はダメでなんでWikipediaはうまくいってるのか気になったのですが、Wikipediaは記事の構成要素が一つ一つが小さいからうまくいってるのですね。



集合知プログラミング早く読みたい・・・

テレビ東京赤字転落

在京の民放キー局の第2四半期の決算短信やIRニュースはかなり大変なことになっていますね。
ついに赤字に転落するテレビ局もでてきました。
テレビ東京が赤字に転落…9月中間、株安や広告減で

一つの既得権益が崩れつつある中で、放送法の改正も含め面白い時代になっていくのではないでしょうか。

参考:放送法改正:NHK過去番組、ネット配信解禁--民放、ワンセグ独自番組可能に - CNET Japan

かたやネット広告は好調ですねー。
ネット広告費、雑誌を抜く 電通調査 - ITmedia NEWS

これからWEBの世界がより一層面白くなってきそうです。
ますます、行動ターゲティング広告コンテンツマッチ広告などにお金が流れていきそうですね。
日本は不況に突入していっていますが、ベンチャーにとってはこれからチャンスなんじゃないかと思います。

ガートナーSYMPOSIUM2008

月曜からガートナーSYMPOSIUM2008が開催されています。
昨日も少し聴講してきました。
とりあえず、最近は、「分析力を武器とする企業」が自分の中でホットなので、主にBI(Business Intelligence)系の話題を中心に聞いてきました。BIといっても対象とするもので大きく内容は変わるので対象を絞って聞かないとぶれちゃいますね。

分析力を武器とする企業

分析力を武器とする企業

この本によると、こういった関係で最近は数学の博士号を持つ学生が引く手あまたなんだとか。当の学生さんたちはgoogle等にいくかと思いきや、遺伝子解析などの分野にいってしまってgoogleもここらへんの学生を確保するのに苦労しているとのことでした。
数学は典型的な虚学だと思っていたんですが、もう実学ですね。
プログラミングは数学のセンスがあるかないかで大きく変わる。