2009-01-01から1年間の記事一覧
Mac版のSDKをダウンロードすると、その中身は、GoogleAppEngineLauncher.app というファイルが1つしかなく、開発サーバの本体である dev_appserver.py がどこに存在しているのか、ずっとわからないままだったのだが、ようやっとその場所を発見。GoogleAppEn…
データストアに日付をキーにして格納されているデータをSELECTして、それを 日付の降順に一覧表示(TABLEタグに吐き出す) 日付の昇順にチャート表示(XMLデータに吐き出す) という2つの処理を同一ページ内でやりたい。最初は、日付の降順でのSELECTと、日付…
こんな感じのHTMLがあったとしよう。 hoge.html <html> <head> ・・・ </head> <body> 選択してください。 <select id='hoge'> <option value="#" selected>全て</option> <option value="001">区分1</option> <option value="002">区分2</option> <option value="003">区分3</option> </select> <body> </html>このHTMLから、optionタグに入っているコードと名称を取ってきたい。 名称は、タグの中…
GAEのデータストアに保存したデータを取得し、FusionChart(Flashベースのグラフ出力ライブラリ)でグラフ表示するというプログラムを作っている。 FusionChartは、グラフにプロットするデータを、以下のような形式のXMLで渡してやる必要がある。 XMLの一例…
当初、自分は、新規プロジェクト作成、コーディング、テスト(実行)まですべてAptana上で行っていたのだが、GAEの本番環境へのデプロイのことを考えると、Google App Engine Launcher を使っておかないと何かと不便だということがわかってきた。 ここであら…
どうも使えないようです。 C拡張モジュールが使えないためではないかと想像しているのだけど。import matplotlib.xxxx とやると、matplotlib からnumpy を使っていて、その中で multiarray を使おうとしているところで No module named multiarray となって…
java等のloggingと同じ使い方ができます。 import logging from google.appengine.ext import webapp class MainPage(webapp.RequestHandler): def get(self): logging.debug("testtest") #ここでログを出力 application = webapp.WSGIApplication( [('/',Ma…
macで作業していたら、次のコードがエラーになった。 class MainPage(webapp.RequestHandler): def get(self): #テンプレートページ(index.html)にデータを流し込みつつ表示する page_contents = { 'dateFrom': '2009/10/29', 'dateTo': '2009/10/29' } path…
自作のjavascriptを、独立した.jsファイルにして、それを取り込む場合は、app.yamlにその事を書いておかないと、jsファイルがロードできない。app.yaml抜粋(アプリケーションルート/scripts というフォルダの下にjsファイルを置くという想定) handlers: - …
GAEのドキュメントの「スタートガイド」に出てくる、おなじみのミニマムコード。 from google.appengine.ext import webapp from google.appengine.ext.webapp.util import run_wsgi_app class MainPage(webapp.RequestHandler): def get(self): self.respon…
今日から本格的に自宅のMacで作業しはじめたのだが、上記の手順で作ったプロジェクトのmain.pyに、軽い気持ちでimport BeautifulSoup と書いて実行させたら、またぞろエラーになったので、GAEのドキュメントを読んでいたら、その件についてちゃんと書いてあ…
Mac OS Xにて、GAEの新規プロジェクトを作る方法は、Windowsと少し違っていたのでメモ。(Windowsでの自分のやり方が違うのかもだけど) GoogleAppEngineLauncher.app を起動する Fileメニューから New Application を選択 任意のアプリケーション名を入力 A…
今回スクレイピングしたいページは複数あるのだが、それらをBeautifulSoupに食わせてみたところ、いくつかのページでパースエラーとなってしまった。中身を見てみると、対象ページに埋め込まれたjavascriptがこんなかんじになっているのが原因だった。 <script type="text/javascript"> <!--</script>…
前回、あまりにも安直過ぎる方法で逃げたので、もう少しマシな状態にしてみる。 自分の場合、新しいプロジェクトを作るときは、Aptanaの「新規⇒プロジェクト追加」からやっているのだが、そうすると、プロジェクトの直下にsrcというフォルダが作られるので、…
この日に行った設定のまま、数日動かさずにいたら、またimportできなくなっていた。何も変えていないつもりだったのだが。 なんでだ。 コマンドプロンプトでPython.exeを動かしてみる。 C:\Python.exe >>>import BeautifulSoup 特にエラーにならない・・・or…
同じように、今度はローソク足グラフを出力。 渡すデータの形は、(time, open, close, high, low, ...) という並びのリスト。 # coding: utf-8 ''' 簡単なグラフ作成テスト ''' import datetime import pylab import matplotlib.dates import matplotlib.fin…
グラフ描画に挑戦してみる。使うのはmatplotlib。matplotlib本体は、上記リンクからダウンロードして入手。 さらに、numpy も必要なので、こちらから入手。まずは、普通のPythonプロジェクトのサンプル。必要最低限のコード。 # coding: utf-8 ''' 単純な線…
BeautifulSoupを使うために、BeautifulSoup.pyを、Pythonインストールフォルダ配下のLib/site-packagesの下に配置したのだが、環境変数PYTHONPATHに、site-packagesが含まれているにもかかわらず、importしようとすると、見つからないというエラーになってし…
文字列を日付型に変換する方法。 >>> #coding: utf-8 ... >>> import datetime >>> import time >>> dd = '2009年10月21日' >>> st = time.strptime(dd, '%Y年%m月%d日') >>> dt = datetime.date(st.tm_year, st.tm_mon, st.tm_mday) >>> print dt 2009-10-2…
文字列⇒数値変換は、ビルトイン関数のint()、float()でできるとのこと。 しかし、カンマ区切り文字列だと変換してくれない。 >>>str = '123,456.12' >>>fl = float(str) Traceback (most recent call last): File "", line 1, in ValueError: invalid litera…
GAEで、データストアを一旦定義して実行させて、その後、プロパティのデータ型を変更すると、実行時に「型が違うのでputできないよ」的なエラーとなってしまう。 これは、GAEエンジン(dev_appserver.py)の再起動や、マシン自体の再起動でも解消しない。(…
ソースコードに日本語でコメントを書いたら、コンパイルエラーになった。 ソースコードの冒頭に # coding: utf-8 の1文を書いたがダメ。 こちらの記事で、上記の1文が、ソースコードの先頭もしくは2行目にないと認識してくれないことがわかった。 ソース…
Mac OS X には、最初からPythonがインストールされているのだが、Aptanaの環境設定で、Pythonインタープリターの設定をする際に、python.exeの場所がわからず悩んだので、メモ。 答え: Machintosh HD/システム/ライブラリ/Framework/Python.framework/Versi…
Google App Engine(GAE) を試してみる。JavaでなくPythonでやってみることにした。 Python本体を入れる。 http://www.python.jp/Zope/download/pythoncore GAEの対応バージョンは2.5なので、2.5系列の一番新しいのを入れる。 実は最初それに気づかなくて、3.…
ぼちぼちと再開。2年経っているので、もう一度手順をまとめます。 Ruby Rails なんらかのデータベース(MySQL) なんらかのWebサーバ(Apache) IDE(開発ツール) 1〜4は、前回同様、InstantRailsで入れる。 http://rubyforge.org/frs/?group_id=904 から ダ…