タグ

ブックマーク / voluntas.hatenablog.com (12)

  • Flask の使いどころ - Twisted Mind

    Web アプリを仕事ではほとんど書いたことが無かったのですが、Flask を仕事で使う事にしたので、書いてて感じた Flask の使いどころを。 追記 コメントに色々な意見を頂いておりますので、是非そちらも。 がっつり使われた方の感想 Flaskを1年仕事で使った感想 - kawaken’s blog http://d.hatena.ne.jp/kentaro_kawano/20120115/1326612808 結論 とりあえず箇条書きで ... データベースサーバとの接続が前提なら、 Flask を使うのはやめる Flask-* という Flask の拡張を使う時点で、Flask を使うのはやめる 大規模で Blueprints を使う前提なら、Flask を使うのはやめる 小さなアプリでプラガブルな仕組みを自分で作るには良い パーミッションは Flask-Principal が良さそ

    Flask の使いどころ - Twisted Mind
    wozozo
    wozozo 2012/01/14
  • ハッカーに憧れて - Twisted Mind

    ちらしのうらです。 自分は誰かに憧れてということはほとんど無いのですが、今も昔も憧れている人がいます。 その方はハッカーです。初めての知ったのは学生時代に Python を勉強し始めた頃でした。 当時 Python を触っている人はほとんどおりませんでしたが、その頃触っている人は最低一度はお世話になっている人です。ウェブサイトを読んで、勉強させて貰ってハッカーってかっこいいなぁって思っていました。 就職してから運良くその方に会うことが出来ました。初めて見たときは感動しました。 「おぉ、これが、ほんものか ... 」なんて感じです。 なんていったって、ずっとウェブだけで見ていた人が目の前で HHK Pro + MBP でカタカタ作業しているのを目の当たりにしたのですから。 ハッカーに憧れて、プログラマになりました。 今の自分はカッコイイコードより、シンプルなコードが良くて、楽しい事よりお金

    ハッカーに憧れて - Twisted Mind
  • django-coverage を使う - Twisted Mind

    ジェネリッククラスビューのテストを試行錯誤しながら書いているのですが、テスト書いているとやはりカヴァレッジを見ながら書きたくなりますよね。 ということぐぐったら Django + Coverage を上手いことやってくれる django-coverage というのがあるようです。 $ easy_install coverage django-coverageあとは settings.py にいくつか設定するだけです。 週間でcore というアプリにフレームワークっぽいのを作るようにしているのでそこの views と tests を追加しました。 カヴァレッジは .cover というディレクトリに出力してもらいます。.gitignore に追加するのをお忘れ無く。 COVERAGE_ADDITIONAL_MODULES = ['core.views', 'core.tests'] COVER

    django-coverage を使う - Twisted Mind
  • requests と mock を使ってみる - Twisted Mind

    テストを書くときに、外部の HTTP API を叩く処理が組み込まれている場合は、何かしらモックが必要です。 どう書くのがスマートなのか良くわからないので色々試してみる 準備するモノ python 2.7.x mock simplejson requests nose covarage テストのデファクト あまりまとまってるのがないので、まとめておきます。 テストランナーは nose または py.test nose はプラグインがステキ py.test はなにやら色々嬉しい事があるらしい モック/スタブは mock テストは unittest (unittest2) カヴァレッジは covarage ? これは良くわからず、基 Jenkins にべさせらるタイプで出力できればおk この辺が今のところデファクトでしょうか、ご意見お待ちしております。 mock patch を使うと綺麗に

    requests と mock を使ってみる - Twisted Mind
  • クラスベースのジェネリックビュー - Twisted Mind

    もともと 1.0 系くらいしかしらない Django 1.3 系を触っていて見知らぬものが出てきて使ってみたのでメモ。 今までのファンクションベースのジェネリックビューからクラスベースのジェネリックビューになった。 なったといってもファンクションベースが使えなくなったわけでは無い。 ファンクションベースは融通が利かなくて、ほんと特定用途にしか使えなかったのだけれど、クラスベースはかなり何でも出来る感じ。 ただ ... mixin で実装されているのでコード追いかけるのがめんどくさすぎる ... 。 更新履歴 get がいらなかったので削除 クラスベースを使った場合の方針 作ってみて感じたのは、クラスビューベースのジェネリックビューを使ってそのプロジェクト用の簡単なフレームワークを作っていくというのが、うまいやりかたの用です。 今回はあまりクラスを作りませんでしたが来ならもう少し細かくクラ

    クラスベースのジェネリックビュー - Twisted Mind
  • 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
  • Heroku 上で Django を動かす - Twisted Mind

    Heroku | Cloud Application Platform Heroku と言えば Ruby/Clojure/Node ですが、 Django アプリ(というか Python アプリ)がデプロイできるようになったらしいので試してみました。 変更履歴 2011-09-21 gunicorn 対応しました github https://github.com/voluntas/heroku-template-django 環境 Mac OS X Lion でやっているので、LinuxWindows だとまた別だと思います。 必須 Git Python 2.7 Ruby (gem install heroku するためにいる) heroku にアカウントを作る というかそもそも Heroku のアカウントすら持っていなかったので、アカウント作るところから。 https://api

    Heroku 上で Django を動かす - Twisted Mind
  • A successful Git branching model を補助する git-flow を使ってみた - Twisted Mind

    git-flow という git の運用を補助するプラグインを使ってみたので、その過程をメモしてみました。 そもそも git を採用理由なども書いていきたいと思います。 git を採用した理由 まず何よりも git を採用した理由ですが、日語のがたくさんある。Subversion のように気軽にブランチを切ったりマージが出来ない方法では「開発スピードにバージョン管理がついてこれない」という結論に至りました。 そこで svn から git へ以降の準備を進めています なぜ hg や bzr ではないのか git-svn を前々から使っていて rebase のありがたみや branch を気軽にきる運用になれていたからというのもありますが、なにより身近に詳しい人が多いというのが一番です。 Tower や GitX という素敵な GUI があるのも魅力の一つですね。 A successful

    A successful Git branching model を補助する git-flow を使ってみた - Twisted Mind
    wozozo
    wozozo 2010/12/24
  • dateutil に感動した - Twisted Mind

    >>> from datetime import datetime >>> from dateutil.relativedelta import relativedelta >>> now = datetime.now() datetime.datetime(2009, 4, 22, 15, 1, 2, 502637) >>> now + relativedelta(days=+1) datetime.datetime(2009, 4, 23, 15, 1, 2, 502637) >>> now + relativedelta(days=+0.5) datetime.datetime(2009, 4, 23, 3, 1, 2, 502637) >>> now + relativedelta(days=+0.3) datetime.datetime(2009, 4, 22, 22, 13,

    dateutil に感動した - Twisted Mind
    wozozo
    wozozo 2009/04/23
    dateutil
  • dateutil を使ったタイムゾーン管理 - Twisted Mind

    datastore には UTC で格納して表示するときに localtime (tznam で指定した時間) で表示したい場合を簡単に書いてみました。 さらに localtime から UTC に変換するものも書いてみました。 from datetime import * from dateutil import zoneinfo, tz def localtime(dt, tzname='Asia/Tokyo'): """ >>> from datetime import * >>> now = datetime.now(tz.tzutc()) >>> localtime(now) """ return dt.replace(tzinfo=tz.tzutc()).astimezone(zoneinfo.gettz(tzname)) def utctime(dt, tzname='Asi

    dateutil を使ったタイムゾーン管理 - Twisted Mind
    wozozo
    wozozo 2009/03/01
    timezone
  • 日付とか - Twisted Mind

    これ便利。 http://labix.org/python-dateutil >>> from dateutil.relativedelta import * >>> from datetime import datetime, date, time >>> now = datetime.now() >>> now + relativedelta(years=+10) datetime.datetime(2019, 2, 28, 23, 12, 32, 849974) >>> now + relativedelta(years=-30, days=-3) datetime.datetime(1979, 2, 25, 23, 12, 32, 849974)

    日付とか - Twisted Mind
    wozozo
    wozozo 2009/03/01
    日付
  • Web 以外で SQL 使うにはこれかな。 - Twisted Mind

    SQLAlchemy 0.5rc4 + Python 2.6 で ManyToMany のお勉強。 OneToMany は id:perezvon のをぱくれば OK DjangoORM と比べると鬼のように柔軟という印象は前と変わってない。declarative_base が投入されたことでいっそう使いやすくなった感じがする。 # vim: fileencoding=utf8 from sqlalchemy import * from sqlalchemy.orm import * from sqlalchemy.ext.declarative import declarative_base engine = create_engine('sqlite:///:memory:', echo=True) Base = declarative_base(engine) metadata

    Web 以外で SQL 使うにはこれかな。 - Twisted Mind
  • 1