Hatena::ブログ(Diary)

TECHNERD::INIT このページをアンテナに追加

2009-01-21

簡単Google App Engine登録編

この記事は、簡単Google App Engine入門編 - TECHNERD::INITの続きです。

GAEへの登録

http://appengine.google.com/にアクセスします。

[Welcome to Google App Engine]という画面が出てきたら

[Create an Application]をクリック

Verify Your Account by SMSという画面に飛ぶので

Country and Carrier: Japanを選択します。

次にキャリアを選択します。

Username:

に携帯のe-mailアドレスの@より前の部分を入力

[Send]を押す

携帯のe-mailアドレスに以下のような7桁の認証キーがおくられてきます。

Google App Engine Code : 9999999

これを入力するとアカウントの登録が完了です。

アプリケーション領域の作成

GAE上にアプリケーション領域の作成を行います

[Create an Application]の画面にて、

Application Identifier:に任意の名前をつけて下さい。

ここではhogehogehogeにします。

Application Title:に適当にタイトルをつけてください。

そして[Save]を押す。

appspot.com上にhogehogehoge.appspot.comという領域が作られました。

まだアプリケーションをアップしていないのでアクセスしても何もありません。


Google App Engineへのアップロード

ローカルPCにて

app.yamlを編集

application: hogehogehoge <-ここを[Create an Application]の画面で指定したApplication Identifierに変えてください。
version: 1
runtime: python
api_version: 1

handlers:
- url: /.*
script: helloworld.py

app.yamlの詳細について知りたい方はこちら。

Error 404 (Not Found)!!1

GAEへのアップロード

appcfg.pyでアップロードします。

DOSプロンプトから、

C:\Program Files\Google\google_appengine\appcfg.py update C:\gapps\helloworld

実行後、e-mailとpasswordを聞かれます。

e-mailgmailアカウント
passwordgmailパスワード

入力してアップロード完了

確認

http://hogehogehoge.appspot.comにアクセス。

Hello, Worldと表示されていればOK。

ここまでが一連の流れになります。

2008-11-27

簡単Google App Engine入門編

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

Python 2.5のインストール

以下のリンクから適当にmsiパッケージをおとしてインストール

no title

補足:基本的な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.pyGoogle App Engineにアップするためのスクリプト

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

次に、作業用ディレクトリを作ります。

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

 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

2008-11-26

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

ページが見つかりませんでした | GREE Engineers' Blog

に参加してきました。

いやー。かなり面白かった。久々のヒットです。

落ち着いてレポートを書こうかと思ったのですが、id:zegenvsさんのサイトにまとめてあったのでリンク張っちゃいます。

勉強会レポート

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

個人的には、MapReduceの概要は把握していたんですが、なぜMapReduceという技術が出てきたかというところを把握できていなかったので、

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

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

海外の事例
国内の事例

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 + MySQL1台
Hadoop Slaveクローラー(4台)、意味解析時(80台になることも・・)
Hadoopの問題点

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

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

2008-11-17

Ubiquity presented by Mozilla Labs

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

UbiquityというFirefoxのプラグインを教えてもらったのですが、これかなりいいですね。

基本的に、linuxでCLI中心の生活を送っていたので、bluewindを使ってWindowsでもマウスを極力触らないように普段しているのですが、Firefoxもコマンドベースで操作できるのはかなりいい。

vi風なキー操作になるプラグインをid:teramakoさんが作ってくれてます。

かなりアツイ。

http://d.hatena.ne.jp/teramako/20080902/p1

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

リファレンスがあって、この記事は参考になる。

2008-11-12 Project Eulerと数学ガール

集合知と集合愚

集合知が流行ってますが、このエントリが面白かった。

no title

量と質は互いに反比例する。

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

質を高めるためには、なんらかでフィルタして玉と石をより分けないといけない。

そのためにベイジアンフィルタやフィッシャー法などが重要になってくるわけですね。

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



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