Google App Engine for Pythonの文字化けエラーまとめ

Pythonの文字化けで検索すると同じようにはまってる人がたくさんいた。

よくわかってないけど、取り敢えず先に進めるようになったので中途半端なメモ

Pythonの中ではunicode型というものが標準で使われていて、これが問題の中心っぽい。
なので外から入れるときにunicode型に変換して、中から外に出すときにunicode型からutf-8に変換する、ということを頭の中に入れておくと見通しがよくなるみたい。

文字関係で出てくる

decode
encode

の意味は

decode=元の型に戻す
encode=元の型から、ある型に変換する

というのを初めて知った・・・。なので

encode(‘UTF-8’)、utf-8へunicode型から変換
decode(‘UTF-8’)、utf-8からunicode型へ変換

という意味らしい。

もう一つ

unicode(str, ‘utf_8’)

というのがあって、これも使い方はdecodeと同じらしい。

TOPGEARで紹介されていた最高のフェラーリ・250GTO

この前のトップギアで最高のフェラーリとして紹介されていたフェラーリ250GTO。
1962年に発売されているので、ざっと50年前の車。
この車のデザインがとても綺麗だなと思ってちょっと調べたんですが、250という数字は一気筒あたりの排気量の数字だとはじめて知りました。
ジェレミークラークソンはフェラーリ250GTOの保険料が高すぎたので試乗ができないといっていたけど、相場はいくらくらいなんだろう。
マテル 1/18スケール フェラーリ 250GTO Le Mans 1963 #24 エリートシリーズ
マテル 1/18スケール フェラーリ 250GTO Le Mans 1963(amazon)
上のミニカーというか車のモデルは、ルマンに出場したものをモデルにしているそうです。アマゾンで見つけました。
車のインテリアって結構難しくて、一歩間違えると凄くチープな雰囲気になるので、特にフェラーリは最新のモデルよりこういった古いモデルがインテリアにはしっくりくる気がしてたんですが、このフェラーリ250GTOは車が好きな人のためのちょっとしたインテリアとして最適だなぁと思いました。

Google App Engineを一通りいじり終わる

Google App Engineって何ができるのか?
趣味で素人が1週間ぐらい触ってみた時点でのメモ

Google App Engineは、サイトを作る環境を丸ごと提供してくれるもの。
専用のツールをダウンロードすれば、あとはエディタだけでも全部作れる(たぶん)。
サイトを作る側は、サイトを作ることに集中できる、あとは全部丸投げ。
使えるプログラムはJAVAかpython
サイトを1アカウントで10個作れる。グーグルのサブドメインを使うなら基本全部無料。独自ドメインももちろん使える。
一定のアクセスまでは無料で、もし無料枠を超えたら、お金を払うとすぐ対応できる。
間違えてヒットしてアクセスが急増しても、グーグル側で資源を振り分けて、対応してくれる。(こういうのがクラウド?)
用意してあるサンプルを理解すれば、フレームワーク、テンプレート、データベースが理解できる。PHPで簡単なことができる人なら1週間ぐらいでわかる、と思う。
データベースは独自の物だけど簡単。データベースをいじれる画面も用意されてる。
データベースの中身のダウンロード、アップロードも簡単。

使えば使うほど凄い、と思えてきた。

Google App Engine for Pythonのwebappフレームワークのメモ

Google App Engineを学習中(道半ば)でいくつかはまった部分があるのでメモ。

例えば、「サブドメイン部分.appspot.com/date/6」
というURLアドレスを作るとする。(appspot.comはGoogle App Engineに無料で用意してあるドメイン)
date/6の6の部分をwebappフレームワーク内で使う方法がわからなかった。(webappはGoogle App Engineに標準装備のフレームワーク)。
簡単に結論だけ(TAB部分はコピペできなかったので適当。)

class MainPage(webapp.RequestHandler):
  def get(self,number=””):

このように書くと、変数の2個目にURLのdate/6の6の部分が来るので、それを変数のnumberに入れて使えるようになる。
この部分は想定外の物が入ってくることを考えないといけないので、その対策もする必要があります。

URLの設計部分も同時に変更する必要がある。

application = webapp.WSGIApplication(
[(‘/date/(.*)’, MainPage)],
debug=True)

ごちゃごちゃしてるけど、date/の後にある()の中にあるものが、上のnumberに入ることになる。
.*←は正規表現

yamlファイルの中の設定は例えば

– url: /date/.*
script: date.py

みたいな感じ。

pythonとフレームワークとテンプレートエンジンでサイトを作ってみた感想

とりあえず、Google App Engineを使って簡単な実験サイトを作ってみた。
最初の感想は、もっと早く勉強しとけば良かった、でした。
フレームワークとか凄く難しそうなイメージがあったので、手を出してなかったけど、むしろ逆で、素人が片手間でやるときに時間を短縮してくれるとても便利なツールだった。
プログラム関係の物って必要以上に敷居が高く見えるので、変な先入観とか余計な知識がない人の方が案外さらっとやってしまうのかもしれない。

python(他のプログラムでもいい)とフレームワークとテンプレートエンジン、あとデータベースの出し入れができれば、大抵のことはできるようになるので、あとはアイデアとか行動力とか観察力とか専門分野での深い知識とか、その辺が重要になっていくんだろうなと思う。