Categories

  • Android開発
    android marketで目指せ億万長者(ウソ)
  • cocos2d
    pythonでも使えるゲームフレームワーク
  • Google
    ここには未来を開くためのAPIがたくさん用意されている。
  • GoogleAppEngine
    どこまでもスケールアウトするクラウドサービス。使いこなすのが大変
  • Hack
    様々な電子機器を本来の用途とは別の用途に使ってみる。
  • iPhone開発
    app storeで目指せ億万長者(ウソ)
  • python
    LightWeightLanguageで一番難しいがLispにも通じるところがある面白い言語。
  • TIPS
    覚えておくともしかしたら役に立つかもしれないチョットしたこと。
  • うまくいきません
    やってみたけど、うまくいかなかった失敗記事
  • ネット世界
  • 夢見るソフトウェア
    こんなのいいな、できたらいいな、いつかつくろう
  • 開発環境
    開発するまえに環境を整えた記録、次に同じことをするためめの忘備録
無料ブログはココログ
My Photo

« June 2010 | Main | August 2010 »

July 28, 2010

オレのディスクを漁るのは誰だ

windowsノートパソコンで、バッテリー駆動だというのにひっきりなしにディスクアクセスしている。
役にも立たないインデックスの作成が有名だが、他にも色いろあるらしい。

検索していたら、Sysinternals Suiteというマイクロソフト製のツールを見つけた。

http://technet.microsoft.com/ja-jp/sysinternals/bb842062.aspx

これはデバッグにも使えていい。
カテゴリーはツールだが、様々なものがごった煮で入っているので、一つ一つ見ていくのも楽しい。

July 18, 2010

GoogleAppEngineで日本語を使う

プログラムの中に日本語を書く
pythonではおなじみのアレ

#!-*- coding:utf-8 -*-"

を、先頭に書く。保存するときにutf-8で保存するのを忘れずに。
いまさら、その他の文字コードで書く必要はないと思われる。

テンプレートを日本語で書く

utf8のhtmlページのヘッダーを書く

<?xml version="1.0" encodeing="UTF-8"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="ja">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8"/>
<meta http-equiv="Content-Language" content="ja" />
<meta http-equiv="Content-Style-Type" content="text/css" />
<meta http-equiv="Content-Script-Type" content="text/javascript" />
<meta name="Description" content="test" />
<meta name="Keywords" content="test" />
<title>test page</title>
</head>

フォームで日本語を受け付ける
 特に意識することは何もない。

データーベースに日本語を入れる
 調査中

チュートリアルを思い出すためのメモ2

前のエントリーより基本の部分
先にこちらを書いておけばよかった。

結果のhtmlを直接出力する

self.response.out.write()
1回にまとめる必要もないし、ヒアテキストも使える。
普通はテンプレートを使うので、プロトタイプとデバッグ以外では使うことはないだろう。

フォームの結果を受け取る
getのとき 文頭で
def get(self):
postのとき 文頭で
def post(self):
受け取るのは
self.request.get('param')
ここはpostでもgetになるので注意

July 17, 2010

チュートリアルを思い出すためのメモ

どんなシステムでも、チュートリアルをやってそのままプログラムを作らないと、何をやったかすっかり忘れてしまう。でも、なかなかまとまった時間が取れないので、1からやり直し。

複数のページを作る
あれこれテストをするときに、いちいちプロジェクトから作るのは大変なので、ハンドラーを追加でいろいろテストしてみる。

    application = webapp.WSGIApplication(
                                         [('/', MainHandler),
                                          ('/test1', Test1Handler),
                                          ('/test2', Test2Handler)],
                                          ('/test3', Test3Handler)],
                                          ('/test4', Test4Handler)],
                                         debug=True)

Django テンプレートを使う


from google.appengine.ext.webapp import template を追加

    template_values = {
      'param1': '1st param',
      'param2': '2nd param',
      'param3': '3rd param',
      }
    path = os.path.join(os.path.dirname(__file__), 'template.html')
    self.response.out.write(template.render(path, template_values))

Djangoテンプレート本体の文法
ifとかforの文法が書けるブロックタグと、代入するだけの変数がある。
変数は "{{" と "}}" で囲む。
ブロックタグは "{%" と "%}" で囲む.
endタグで囲むのでインデントする必要はないが、pythonの習慣に従う。
よく使いそうなブロックタグ

{% for params in value %}
{% if value.flag %}
{% else %}
{% endif %}
{% endfor %}

Djangoテンプレートでfor文を使うときのパラメーター

params = {['a':'a param1','b':'bparam1'],
                 ['a':'a param2','b':'bparam2']}

« June 2010 | Main | August 2010 »