こんばんは。イッシー@電車です。

開発したマジック攻略サイトに広告をのっける予定なので、Google AdSenceを練習がてらに始めてみました。


まず、ここのブログだと広告を使えません。だから全然別のブログを開設しました(場所は秘密です)。
内容が無いと審査が通らなそうだったので、そこにはサイト開発絡みの話を少しだけ登録してみました。
数日後に審査が通っていたのでさっそく広告を張り付けてみました。

ここまでは順調だったのですが、肝心の広告に表示される内容が微妙。ブログの内容が自動的に判断されて、関連する広告が表示されることになっていますが、こんなの誰かクリックするんかね?とか思ってしまいました。


まあでもせっかくなので新しく開設したブログは今後も継続していきます。
理由は
・そっちだとイコールとかの特殊文字をバリバリ使える
・開発関係の話は、こっちのブログだと需要が低そう
・ちょっとでも儲かると嬉しい

そんなわけで、こっちの更新頻度は今よりもさらに落ちます。でもマジック関連や日常の面白い事件はこっちに書いていきますので、忘れないで下さいね。


マジック攻略サイト構築をしていたら、
Google App EngineのPythonでプロキシからデプロイするところで、
いろいろはまりました。

なんだかんだ頑張って、Google先生から情報を聞き出して何とかなったのですが、
他にも困っている人はいそうなので、僕の場合の解決手順をメモしておきます。
(この手順で解決を保証するものではありませんので、自己責任でお願いします)

1.プロキシ設定を行なう。

 環境変数HTTP_PROXYとHTTPS_PROXYでプロキシを指定する

 例)set HTTP_PROXY=http://hogehoge.com:3128
   set HTTPS_PROXY=http://hogehoge.com:3128

 プロキシ経由でインターネットに接続する環境だと、
 これを行なわないと、デプロイ時にエラーが発生するみたいです。
 「URLError: <urlopen error (10060, ’Operation timed out’)> 」

2.SSLモジュールをインストールする

 http://pypi.python.org/pypi/ssl-py2.5-win32/1.15 の、
 ssl-py2.5-win32-1.15.exe をダウンロードして実行。
 解凍されたフォルダ(SSL)を、Python25Libsite-packagesの下に置く

 これを行なわないと、デプロイ時に警告が出るようです。
 「WARNING:google.appengine.tools.appengine_rpc:ssl module not found.」
 まぁ、警告なので無視しても良いのですが。

3.Python 2.5 urllib2 and httplib modules 修正版をインストールし、
  appengine_rpc.pyを修正する

 (1) http://pypi.python.org/pypi/setuptools
   で、自分のバージョンにあったモジュールをダウンロードし、実行。
   (setuptools-0.6c11.win32-py2.5.exe)
 (2) http://pypi.python.org/pypi/httpsproxy_urllib2/
   で、httpsproxy_urllib2-1.0.tar.gz (md5)を落として、解凍してインストール
  (setup.py install)
 (3) C:/Program Files/Google/google_appengine/google/appengine/tools/appengine_rpc.py
  の417行目を修正
   opener.add_handler(https_handler())
    ↓
   opener.add_handler(urllib2.HTTPSHandler())

 2.でSSLモジュールをインストールしてから、
 これらを行なわないと、デプロイ時にSSLでエラーが発生するようです。
 「SSL23_GET_SERVER_HELLO:unknown protocol」

※上記の手順をすべてやっても、GAEのラウンチャーからはデプロイできないみたいです。
 コマンドを覚えるのは苦手なので、バッチファイルからデプロイしてます。
 おかげでワンクリックでデプロイできるようになったので、めでたしめでたし。

※使用環境:Windows XP、Python 2.5.2、GAE1.3.5(といってもこの環境での成功を保証するわけではありません)

<主に参考にしたページ>
 http://code.google.com/intl/en/appengine/docs/python/tools/uploadinganapp.html#Using_an_HTTP_Proxy
 http://www.g-powered.com/google-app-engine/how-tos/google-app-engine-appcfg-behind-proxy