タグ

Pythonとpythonに関するt_a_oのブックマーク (292)

  • Heroku で Flask + SQLAlchemy を使う - Twisted Mind

    Heroku | Cloud Application Platform Django は動いたので、さて Flask と SQLAlchemy です。 github https://github.com/voluntas/heroku-template-flask 環境 Mac OS X Lion でやっているので、LinuxWindows だとまた別だと思います。 必須 Git Python 2.7 heroku Flask をデプロイする準備 最低限必要なのは virtualenv です。 easy_install なり pip で virtualenv が使える環境は作っておきましょう。 とりあえずプロジェクトフォルダを作成 $ mkdir heroku-flask-sqlalchemy $ cd heroku-flask-sqlalchemyvirtualenv 環境をフォル

    Heroku で Flask + SQLAlchemy を使う - Twisted Mind
    t_a_o
    t_a_o 2011/09/23
    Heroku
  • Java開発者の読むDjangoの設計思想 - やさしいデスマーチ

    Djangoのサイトには「Djangoの設計思想」というドキュメントがあります。どんなフレームワークでもそうですが、設計思想を理解し、その流れをつかむ事で正しい利用への最短ルートです。もし、自分の思想にあわないならば問題です。可能であれば、そのフレームワークの検討を取り止めるべきでしょう。それが出来ないならば利用している時にはそのフレームワークの思想で思考することが求められます。 Djangoの設計思想は、緩く結合し、必要最低限のコードで、だが隠蔽せずに明示するという事です。DjangoではMVT(モデル/ビュー/テンプレート)と呼ばれるMVCに近い構造をとります。それらの3つのレイヤーはお互いに疎な関係を持ち、モデルとテンプレートはデフォルトの実装以外を容易に採用できるようになっています。また、ほどよく規約を適用し必要なコード量は少なくなっていまが、なんでもかんでも裏側で処理せずに、なに

    Java開発者の読むDjangoの設計思想 - やさしいデスマーチ
  • Django ドキュメント — Django v1.1 documentation

    和訳について このドキュメントは、 Django の標準ドキュメント の和訳です。現在、和 訳は Yasushi Masuda によって進められており、 Takanao Endoh をはじめとす る日 Django ユーザ会の有志の手でメンテナンスされています。和訳に関す る問い合わせは、 Django プロジェクトのトラッカではなく 、 Yasushi Masuda (whosaysni-at-gmail.com) または django-ja メーリングリストにお寄 せください。 助けを求める¶ 困り事ですか?手を貸しましょう! FAQ を探しましょう。よくある質問への答えなら、ここで見 つかります。 特定のトピックについて情報を探しているなら、 索引 や モジュール索引 、 Django ドキュメント 目次 を見てください。 django-users メーリングリストのアーカイブ

  • Fabric デプロイツールのPythonicな書き方 - Ian Lewis

    Fabricは指定したコマンドを各ホストで実行する実行モデルです。この場合は特にホストの指定がなかったので、全部ローカルで、一回実行することになります。 これは結構つまんないので、当の例を見ましょう。これは最近、仕事で作ったコマンドです。Nginxサーバーでメンテ画面を出すようなコマンドです。各ロードバランサーで実行します。 from fabric.api import run, cd, abort, require, sudo, env from fabric.decorators import runs_once, roles from fabric.contrib.console import confirm ... @roles('loadbalancers') def start_maintenance(): """ メンテナンス画面に切り替える """ _production

    t_a_o
    t_a_o 2011/09/17
  • Python標準添付のデバッガ「pdb」の簡単な紹介 - 西尾泰和のはてなダイアリー

    2004年にはすでに標準ライブラリに入っていたのに「スクリプト言語でもステップ実行とかできたらいいのにね」とか言われちゃう不憫なpdbについて軽く解説。pdb不憫な子! まず適当にスクリプトを書きます。 ~$ cat t.py for i in range(10): sum += i print sum実行するとエラーになります。 ~$ python t.py Traceback (most recent call last): File "t.py", line 2, in <module> sum += i TypeError: unsupported operand type(s) for +=: 'builtin_function_or_method' and 'int'ワー、なんでエラーになったんだろー(棒読み) そこでおもむろに-m pdbをつけてステップ実行します。 ~$ p

    Python標準添付のデバッガ「pdb」の簡単な紹介 - 西尾泰和のはてなダイアリー
    t_a_o
    t_a_o 2011/09/15
  • fabricを使ってみる。 - podhmoの日記

    スクリプトをまとめておくのに、fabricが便利だと教えてもらったので使い方を調べる。 install pypiにあがってる pip install fabric 使い方 fabfileを作る。 fabコマンドをとおして実行。 fabfileは、Makefileみたいなもの。fabfile.pyという名前で保存する。 $ fab hello #helloを実行 [localhost] local: echo hello hello Done. 使い方詳細 実際にどうやってfabfileを作って実行するか。 fabfileの作成 fabfileはpythonスクリプト # fabfile.py from fabric.api import run, local, env def hello(): local("echo hello") def date(): local("date") lo

    fabricを使ってみる。 - podhmoの日記
    t_a_o
    t_a_o 2011/09/08
  • Beautiful Soupドキュメント — BeautifulSoup Document 3.0 ドキュメント

    Beautiful Soupドキュメント¶ Beautiful Soupはpythonで動作するHTMLとXMLのパーサーです。Beautiful Soupはパースしたツリーの操作、検索、変更を簡単に、かつ、今までと同じ方法でできます。これにより、プログラマー仕事時間を節約します。また、Rubyful SoupというRuby版もあります。 このドキュメントはBeautiful Soupのバージョン3.0における主要な機能をサンプル付きで説明します。このドキュメントを読めばこのライブラリがどんなに良いか、どうやって動いているか、どうやって使うか、やりたいことをどうやって実現するか、予想と異なる動作をした場合になにをすればいいのかが分かります。 クイックスタート¶ Beautiful Soupをここから手に入れます。ChangeLogにはバージョン3.0とそれ以前のバージョンとの違いが書かれ

    t_a_o
    t_a_o 2011/09/08
  • Distutil setuptools distribute

    Chef Casual Talk Vol.1 最近、日でPuppetの影が薄くなって悲しいので、 ここであえてPuppetの話をする

    Distutil setuptools distribute
    t_a_o
    t_a_o 2011/09/06
  • WebKit サーバーというものを作ってみた - IT戦記

    みなさん お久しぶりですヽ(´ー`)ノ夏休みの宿題終わりました? 毎日が夏休みの最終日みたいな生活してるあまちゃんです! さてさて 今日は WebKit サーバーというものを作ってみたので、紹介してみます。 WebKit って何? WebKit っていうのは Chrome や Safari の中に入ってるブラウザのエンジンのことです! 実はブラウザっていうのは、エンジン部分と見た目の部分(タブとかボタンとかね)に別れていて、意外と違うブラウザでもエンジン部分は同じものを使ってるってことも多いんですよ(*´ー`) ブラウザのサーバーってどういうこと? 要は、サーバーサイドでブラウザを起動して JavaScript を実行したり、 JavaScript が実行されないと読めないページから値を持ってくるのに使ったりしようという魂胆です。 今まではそういうのなかったの? 実は、今までは JavaS

    WebKit サーバーというものを作ってみた - IT戦記
  • Python の map, filter, reduce とリスト内包表記

    1. リストを操作する関数で重要なのはどれ? リスト内包表記は慣れたら使いやすい Python のリスト内包表記に出会って 4 ヶ月が経った。 「Python のリスト内包表記」を読みなおしてみると、 … 同じく数値のリストから、特定の条件に合う要素を抽出する。 print [x for x in [1,2,3,4,5] if x > 3] これまた読みにくい。 (@_@;) と書いていたけれど、今では「シンプルで読みやすく、また書きやすい」と思える。慣れとは恐ろしい。 ^^; (リスト内包表記がネストしてたりすると、すぐに理解出来ないけれど。) Ruby の Enumerable モジュールにはたくさんのメソッドが定義されている Java しか知らなかった頃、Ruby の 配列に定義されているメソッドを見て、「便利なメソッドがたくさんあるなぁ」と思った。Ruby の配列は、Enumera

    t_a_o
    t_a_o 2011/08/27
  • Python のリスト内包表記 - Ruby や Haskell の書き方と比べながら

    0. Python の気になる機能  Python チュートリアル の目次をざっと眺め、目にとまったのは次の二つの機能。 5.1.4 リストの内包表記 9.9 ジェネレータ (generator) 両方とも耳馴れない言葉。 (@_@) まずは、リストの内包表記から調べることに。 1. リスト内包表記の基 a. リストの各要素に関数を適用する 最初は、リスト内包表記の使い方を確認する。例として、「数値のリストの各要素を 2 倍する」 print [x*2 for x in [1,2,3,4,5]] 初めて見たとき、どこから読めばいいのか検討がつかなかった。 読む順番は、 for によって、各要素を取り出し、 各々に対して、操作を加える。 というように、後ろから前へと読み進める。 b. リストの各要素から、条件にあったものを抽出する 次に、同じく数値のリストから、特定の条件に合う要素を抽出す

    Python のリスト内包表記 - Ruby や Haskell の書き方と比べながら
    t_a_o
    t_a_o 2011/08/27
  • Pjax に挑戦したら思っていた以上に苦労した話 - present

    GitHub が採用している、非同期でぬるぬる動く画面遷移、これ pushState と Ajax を組み合わせたテクニックで実現されているんですね。その名も Pjax。 HTML5 の history.pushState を使うからブラウザの履歴にも対応でき、しかも URL がキレイ。Pjax についての詳細な説明は下記のエントリが参考になりました。 pjax こそが pushState + Ajax の命 - punitan (a.k.a. punytan) のメモ Pjax 始まったな。 |i \      |.| ト\   /| ト | トヽ   / | | ト | | トヽ\/| | | ト    / | | | ト\≧三ミゞ=イ/ ム彡''´ ̄ ̄    ̄ ヽ{__.. /             V´ ノ  __          ', ,. == y ̄, __、\_   

    Pjax に挑戦したら思っていた以上に苦労した話 - present
    t_a_o
    t_a_o 2011/08/27
    pjax
  • 超シンプルな、pushState + Ajax = PJAXのサンプル Flask編 - When it’s ready.

    HTML5熱いですね。いろんな意味で BigPipeやら、HTMLでテンプレートエンジンとかいろいろ出ていますがユーザービリティ下げちゃいけないよねって事は、どの技術でも大切な共通項ですね。pjax = pushState + ajax使えば、リッチな人にはサクサクなUIを、そうじゃない人にもそれなりに提供できる。その上、戻るボタンもサーチエンジンにも優しいとくれば、これは試さないわけには行かないですね。 動作サンプル: http://pjax.atu.si/ Pjaxするとどうなるのか? 非同期動作時 http://pjax.atu.si にアクセスをして、リンクをクリックすると要素が非同期に変更される。 非同期に更新されているがURLは、シンプルなものに変更される。 同期動作時 http://pjax.atu.si/parts/x や http://pjax.atu.si/parts/

    超シンプルな、pushState + Ajax = PJAXのサンプル Flask編 - When it’s ready.
    t_a_o
    t_a_o 2011/08/23
    pjax
  • Flask on Google App Engine(buildout 編) - utahta blog

    buildout を使って Flask + Google App Engine な環境を構築してみたメモ。 buildout とは、Pythonベースの環境構築ツール。 日語による記事が少なくて非常にとっつきにくいですが、慣れると簡単便利です。 こちらが今回書いた物。一応、Linux(CentOS5), MacOSX10.6で動作確認済み。 flask-gae-template セットアップしてみる 以下のコマンドを入力する。 (gitがない場合、代わりに上記サイトのDownloadsからダウンロード&解凍すればOK) $ git clone https://github.com/utahta/flask-gae-template.git $ cd flask-gae-template $ curl -LO http://svn.zope.org/*checkout*/zc.buildo

    Flask on Google App Engine(buildout 編) - utahta blog
  • buildout入門(エキスパートPythonプログラミング読書会09に参加してきました) - Keep on moving

    エキスパートPythonプログラミング読書会09 : ATNDに参加してきました 主催の清水川さん、会場提供いただいた アスキーメディアワークス様ありがとうございます。 今回の話題はbuildoutでした。簡単に自分用にメモをまとめておきます。 # 2011.02.19 id:shimizukawaさんからのご指摘でdefault.cfgの書き方を修正 buildoutってなんぞ pythonの構成管理ツール。 こんな感じで実行する。 $ cd /tmp $ curl -O "http://svn.zope.org/*checkout*/zc.buildout/trunk/bootstrap/bootstrap.py" $ cd ~/hoge/ $ python /tmp/bootstrap.py init --distributeってやるとbuildout.cfgっていうファイルができる

    buildout入門(エキスパートPythonプログラミング読書会09に参加してきました) - Keep on moving
    t_a_o
    t_a_o 2011/08/19
    buildout
  • zc.buildout メモ

    zc.buildout メモ¶ buildoutの目的¶ buildout はPythonベースのビルドシステムです。パーツという単位で アプリケーションを作成、組み立て、配置などを行い、非Pythonベースのものも 構築可能です。 virtualenvはPython体とは別の箱庭を作りますが、箱庭に何をどう置くかは virtualenv環境毎に人間の手で行う必要があります。例えばSphinxをeasy_install すれば関連パッケージ類(Pygmentsやdocutils)は自動的にインストールされますが、 Sphinx拡張パッケージなどは別途easy_installする必要があります。 buildoutはそういった任意のパッケージインストールや、recipeを使って 様々な環境を作る事が出来ます。 このページの目的¶ buildoutのサンプルをいくつか用意しました。 コンテンツ

    t_a_o
    t_a_o 2011/08/19
    buildout
  • https://www.freia.jp/taka/blog/677

    t_a_o
    t_a_o 2011/08/19
    buildout
  • Google Code Jam で得た Python の tips(1) - 科学と非科学の迷宮

    2ヶ月前は全く Python を使えなかった私ですが、Google Code Jam の勉強を通して随分色々な技術を学ぶことができました。 ここにまとめておきます。 あまりに長くなりすぎたので3分割しました。 目次 Part1(この記事) ファイル 文字列 正規表現 辞書 タプル Part2 リスト Part3 数学 ビット演算 条件式 ループ 例外処理 その他 おまけ:今回のテンプレート ファイル 標準入力から読み込む 一度に最後まで読み込みたい場合は以下のようにする。 import sys for line in sys.stdin: 1行の場合は raw_input() が簡単。 こちらは末尾に改行が入らない。 A = raw_input() 標準出力、標準エラー出力に書き出す print は改行が入る。 print "some text" カンマをつければ改行は入らないが空白が入る

    Google Code Jam で得た Python の tips(1) - 科学と非科学の迷宮
    t_a_o
    t_a_o 2011/08/13
  • PythonのWebフレームワーク使うなら知っておきたいデコレータ - 神様なんて信じない僕らのために

    最近「オワタ\(^o^)/」で有名なDjangoしか触ってないダメ人間です。 こんにちは。 Djangoとかどうでもいいがな、 Webフレームワークとかめんどくさいがな、 という最近なのでDつながりでDecoratorの話をします。 ナウでヤングなPythonistaのホットな話題はGCの参照カウンタ、 ではなくてFlaskとかかもしれないですが、 @app.route("/") def hello(): return "Hello World!" こいつも多分に漏れずDecoratorを使います。 Djangoでも、 @require_GET とか @require_POST とか使ったり見たことがあるんじゃないかと思います。 で、意外と魔法っぽいデコレータですが、 これっていったいどうなってんの? って事を知らない人が割といたりします。 「とりあえず指定しろって言われたから指定してます

    PythonのWebフレームワーク使うなら知っておきたいデコレータ - 神様なんて信じない僕らのために
    t_a_o
    t_a_o 2011/08/08
  • nose で doctest - Twisted Mind

    テストツールですが Python 書いてます。ツールと言えば信頼性ということでテストですね。 Python でテストといえば doctest です。 テストツールと言えば nose です。 nose といえば coverage です。 インストールとかはは @aohta の記事で。 nose でテスト実行時のカバレッジを取得する。 - kuma8の日記 nose で doctest をするためには以下な感じで。 nosetests --with-doctest --with-coverage --cover-html --cover-package=snowflake(パッケージ名) --with-doctest で doctest --with-coverage はカヴァレッジ出力 --cover-html は cover/index.html から、結果をカラフルに --cover-p

    nose で doctest - Twisted Mind
    t_a_o
    t_a_o 2011/08/08