2011/04/25

TwitterBot開発 ~開発環境~

ずいぶんと長く開いてしまった。一応仕事がたて込んでたってコトで・・・

本題ですが、開発環境とかの話。

今回のBotは、GAEで動かすことが決定してたので、そのとおり組み立てていきました。

GAE自体は前に毎時50分のタイミングでつぶやく、10分前行動Botを作ったときに
作ったの元データがあったので、いろいろ流用しました。

大まかに、どんなもの使ったかを箇条書きすると

  • OS : Windows7
  • 実行環境
    • Python - Version 2.6(GAEが2.5だということに、気がつきながらも2.6でやってたとか・・・)
    • GoogleApplicationEngine (実際にソフトを動かすところ。タダおいしいです(^q^))
  • テスト関連ツール
    • nose (テストフレームワークで、途中からTDDに移行するに当たってお世話になった)
    • noseGAE(nose上でGAE依存のテストをするために必要なモジュール)
    • pymox (Mockを使うために必要 GoogleのPython用Mockオブジェクトフレームワーク EasyMockがベースになってる )
  • バージョン管理
    • git (cygwin)
    • github

を使いました。

最初はTDDとかぜんぜん考えてなくて、Python2.6 と GAE のみで動かしてましたw

当初のテストに関しては、何もやらなかったというわけではなく、mainに関数呼び出しをいろいろ実装しといて、
そこが正しく動いたように見えれば「まぁいっか(笑)」という感じで・・・

ちなみに、どのツールもインストールは簡単で

pythonに関してはここhttp://www.python.org/)から、インストーラをダウンロードするんですが、いま2.7で、今回はそれより前のバージョンを使うので

左側のメニューからDOWNLOADを開く、そこのReleaseを開く そうすると、リリースバージョンが選べるので、そこから
お好きなバージョンを選んでください(GAEの開発なら2.5が妥当だと思います)

image

インストールは、次へ連射になるので・・・

次は、GAEのインストールですが、これもGAEのページhttp://code.google.com/intl/ja/appengine/)から、
ダウンロードを選択して、SDKのインストーラを落としてきます。

今回はPythonを使って開発するので、選ぶツールは

Google App Engine SDK for Python の Windows用

image

これ、Java用もあるのでお間違えの無きよう。

あとは、次へ連射でインストール完了です。

忘れちゃいけないことなんですが、GAEを使う場合、お手持ちのGoogleアカウントで認証が必要です。
認証方法については、詳しく書かないですが、GAEのホームに、使い方の手順が右側のカラムに書いてあるので、
そちらを参考にしてもらえればと思います。

んで、準備ができたら、ためしにサンプルのGAEプロジェクトを作りたいと思うのが技術者なので、とりあえずなんか作ります

まず、GAEにアプリケーションを登録しましょう。

https://appengine.google.com/ にアクセスすると、自分のプロジェクトの一覧が見れます。

ここの一番下に、

image

のボタンがあるので、これを押して自分のアプリケーションを登録します。

アプリケーションのIDとタイトルを設定したら、出来上がりです。IDに関しては
あとで、yamlの名称のところに突っ込む必要があるので、どっかにメモっといてください。

正しく登録できたら、次に進みます。

こんどは、自分のPCにGAEのプロジェクトを作りましょう。

GAEのSDKをインストールするとGoogleApplicationLauncher

image

がインストールされるので、これを使います。

このツールは、ローカルのダミー実行から、デプロイまで一通りサポートしてくれるので、とっても便利です。

まずは、新規のプロジェクト作成です。

image

こんな感じで、Fileメニューの中に、新規に作成(Create New)と既存を追加(Add Existing)があるので、
Createのほう、選んでください。

そしたら、プロジェクト名とパスを決めろってダイアログ出ます。

image

ポート番号は、実際にローカル環境で実験を行う場合の接続先になります。
ここで指定された番号(defaultだと8000かな?)を使ってる場合は、別の値にします。

んで、プロジェクトを作ると、ベースは全部作ってくれます(hello worldを作ってくれます)

フォルダの中には

  • app.yaml (どこにアクセスしたら、何を呼び出す?っていう設定の書いたてあるファイル)
  • index.yaml (いじらない・・・むしろいじったことがない)
  • main.py (app.yaml の設定に使われていて、実際に呼び出されるスクリプト)

が出来上がります。

今度はさっきメモったIDを、app.yaml に設定します。

image

を押しまして、テキストエディタでapp.yamlを開いてくれます。
(テキストエディタは、デフォルトがワードパッドで、上部メニューの、edit -> prefarences... から変更できます。)

image

applicationのところを、さっきメモしたアプリケーションの名前に設定します

では、実際にデプロイして、Web上で動かしましょ。

右端の2つのボタンが、デプロイ(サーバーに反映させる)と管理ページ(Dashboard)のボタンです。

image 

まず、左のDeployを押しましょう。

image

こんな画面がでてきますので、gmailのアドレスとパスワードを突っ込んでOK

複数プロジェクトを作ってる場合は、Projectのところにプロジェクト名が出てますのでちゃんと確認しましょう
ちなみに、プロジェクトの名前が並んでるリストボックスで選択されているものがカレントになります。

(決して、いまつくったプロジェクトをデプロイしようとしてとおるぼっとをデプロイした
なんてことはありません、ええ、断じてありまsん)

次に、右側のDashboardを押しましょう。

そうすると、ブラウザに管理ページが表示されます。

左側のメニューから、Application Settings を選択すると
Application Identifier に、URLがあるので、そこのアドレスにアクセスします

image

左下のところと、右側ののアプリケーションのところです。

実際に、表示されているURLにアクセスすると、

「Hello world!」が表示され、スクリプトが動作したことを確認できます。

次に、Twitterやら、テストやらに特化した話を少し書こうと思います。

0 件のコメント:

コメントを投稿