タグ

ブックマーク / podhmo.hatenadiary.org (6)

  • fabricの環境設定とコマンドの実行の定義の区別が分かりにくい - podhmoの日記

    注釈を付けるデコレータを定義すれば良いんじゃないかと思った。 とりあえずしたいこと fabfileの中で「環境設定」、「操作」を一目で分かるようにする あと、環境設定だけをリストで取り出せるとか便利 なんか注釈を付けるデコレータを定義すれば良いんじゃないかと思った。 こんな感じで書いてみた。 # -*- coding:utf-8 import collections as c class AnnotateDecorator(object): """fabric用の関数に注釈をつけるためのデコレータを生成するオブジェクト """ functions = c.defaultdict(list) #デコレータが付与された関数を格納 decorators = {} #生成されたデコレータを格納 @classmethod def generate(cls, status): """statusに渡さ

    fabricの環境設定とコマンドの実行の定義の区別が分かりにくい - podhmoの日記
  • pyramidでhello world(not light weight) - podhmoの日記

    pyramidは、flaskのように、1ファイルで完結する1ファイルアプリケーションを書くことができます。 また、規模の大きな開発のために、複数のモジュールに切り分けて記述することも可能です。 今回は、pyramidアプリケーションでhello worldを表示するところまでを行います。 ただし、後々規模の大きな開発を行うことに備えてモジュールを分割した形で書いていくことにします。 agenda 今回作るのは単にhello worldと表示するだけのアプリケーションです。 動的な機能をまったく加えていないので、静的なhtmlを表示するのと何ら代わりがありません。 以下の手順に分けて説明します。 install setup coding install pip などを使いましょう。 (注意:詳細は後述しますが、現在pipでバージョン指定なしで入るpyramidのバージョンは1.3です。1.3

    pyramidでhello world(not light weight) - podhmoの日記
    oinume
    oinume 2012/07/08
    これはいい
  • pyramidでテンプレートを使う(light weight) - podhmoの日記

    1ファイルのアプリケーションでテンプレートを使う方法を説明します。 1. (デフォルトでインストールされる)makoを使う方法 2. jinja2を使う方法 の2つの方法を説明します。 はじめはテンプレートを使わないhello anyoneと表示されるだけのアプリからスタートします。 download: https://gist.github.com/gists/1610865/download まだ、このアプリはテンプレートを利用していません。 テンプレートを利用するには、利用するテンプレートの設定を行う必要があります。 mako mako: http://www.makotemplates.org/ (あとで説明を書く) 今回のコード(hellomako.py)は、カレントディレクトリにテンプレートを置く設定です。実際の作業時には各自適切な位置を設定するべきです。 hello_cont

    pyramidでテンプレートを使う(light weight) - podhmoの日記
  • pyramidでhello world (light weight) - podhmoの日記

    pyramidは、flaskのように、1ファイルで完結する1ファイルアプリケーションを書くことができます。 また、規模の大きな開発のために、複数のモジュールに切り分けて記述することも可能です。 今回は1ファイルでの、pyramidアプリケーションでhello worldを表示するところまでを行います。 agenda 今回作るのは単にhello worldと表示するだけのアプリケーションです。 動的な機能をまったく加えていないので、静的なhtmlを表示するのと何ら代わりがありません。 以下の手順に分けて説明します。 install setup coding install pip などを使いましょう。 (注意:詳細は後述しますが、現在pipでバージョン指定なしで入るpyramidのバージョンは1.3です。1.3と1.2では、デプロイまわりのコマンドのインターフェイスが異なっています。 ただし

    pyramidでhello world (light weight) - podhmoの日記
  • all()とany()は意外と使える子かもしれない。 - podhmoの日記

    組み込み関数の中の使えない子 pythonの組み込み関数の中に以下の3つがあります。 reduce() all() any() これらの3つを組み込み関数のわりに使いどころが少ない。使えない子たちだと認識してました。 例えばall()、any()は、各シーケンス*1内の真偽値について、名前から推測できなそうな処理を行い、結果を真偽値で返すのですが all([True,True,True]) # => True all([True,True,False]) # => False any([True,True,False]) # => True any([False,False]) # => False 比較関数を引数として渡すことができません。sortedやsortなどの関数は、比較関数を引数として取れるのに不思議なものです。リスト内の全ての要素に対して評価を与えてその結果を真偽値として欲し

    all()とany()は意外と使える子かもしれない。 - podhmoの日記
  • とてもliteなpython用のemacsの設定 - podhmoの日記

    前書き(飛ばし読み推奨) 最近、ようやく、pythonで小さなコードを書くようになってきた。そして少し考え方が変わってきた。以前は、repl*1との連携を重要視してきたのだけれど、日常的なコードを書くのなら、もっと手軽な環境で十分なような気がしている。replと連携できることで得られるメリットは以下の2つだった(個人的)。 環境が保持できる (保持した環境を元に)情報を尋ねるインターフェイスが存在する。 環境が保持できるメリットは、あまり考えずに書けること。方針が立たない内に必要そうな関数を書き殴る。replのインターフェイスに少しずつ式をわせていく。書いた関数に値を渡して、結果を確認してみる。この繰り返しをしている内に、小さな関数の断片を組み合わせてある程度の規模のコード片を作り上げることができる。。 また、後者については、pythonのプロンプトを立ち上げて"dir({})"などと入

    とてもliteなpython用のemacsの設定 - podhmoの日記
  • 1