タグ

ブックマーク / jyoshiori.hatenadiary.org (12)

  • nose でテスト事前、事後処理する - Djangoへの片思い日記

    ナウでヤングな Pythonista はテストは nose を使うみたいなのです。 良くわかりませんがそういうものです。 事前処理と事後処理 DB の初期化とかテストの事前処理や事後処理はないと困っちゃいますが、 nose ではこんな風に書きます。 def setup_func(): # ... def teardown_func(): # ... @with_setup(setup_func, teardown_func) def test(): # ... デコレータ以外にも色々やり方はあります。 http://somethingaboutorange.com/mrl/projects/nose/0.9.3/ pit と併用して使う 外部の API と連携してるテストなどをやりたい時に いつも使ってる pit の環境汚したく無いなぁなんて時は プロファイルを切り変えられるので それを呼

    nose でテスト事前、事後処理する - Djangoへの片思い日記
  • pip って何(・ω・ ) - Djangoへの片思い日記

    http://d.hatena.ne.jp/mopemope/20090220/p4 で、pip って何!? pip http://pip.openplans.org/ pip is a replacement for easy_install. It uses mostly the same techniques for finding packages, so packages that were made easy_installable should be pip-installable as well. easy_install っていうか package の管理をもっと便利にするぜっていう認識でOK? とりあえずインストール $ sudo easy_install pip 自分の環境にインストールしてる package の一覧取得 $ pip freeze で出来る http:

    pip って何(・ω・ ) - Djangoへの片思い日記
  • Python のスコープについて - Djangoへの片思い日記

    こんな認識であってるのかなぁ?と思ってツラツラ書いてみる 関数はスコープ持ってるのでそのまま代入しても global の値は変更されない。 In [1]: foo = 0 In [2]: def bar(): ...: foo = 1 ...: In [3]: print foo 0 In [4]: bar() In [5]: print foo 0 (関数内で global で宣言すればOKだけど) In [2]: def bar(): ...: global foo ...: foo = 1 ...: でもこんな書き方は出来ない In [12]: def bar(): ....: global foo = 1 ------------------------------------------------------------ File "<ipython console>", li

    Python のスコープについて - Djangoへの片思い日記
  • Google App Engine での PrintDebug - Djangoへの片思い日記

    ふつうに Pythonlogging モジュールが使えます!! http://www.python.org/doc/2.5/lib/module-logging.html すごいですね!! でも、サーバに ssh とか出きないけど どうやってログみるかというと…… こんな風に管理画面から見えます!! 鼻血が出るほどすごいですね!!! local の開発環境だと debug レベルが出力されないんじゃ!! そんなときは logging.getLogger().setLevel(logging.DEBUG) って書けばOK def main(): application = webapp.WSGIApplication( [('/',MainPage), ('/edit',EditPage), ('/photo/([^/]+)',Photo)], debug=True) logging.

    Google App Engine での PrintDebug - Djangoへの片思い日記
  • Google App Engine が凄すぎる気がしてきた - Djangoへの片思い日記

    Google Developer Day 2008 に行ってきました。 で、基調講演聞いたあと、Google App Engine のコードラボに参加してきました。 まぁ簡単に言うと Hackathon です。 画像掲示板つくってみる ユーザ登録&認証 コメント付加 古いデータは消す な画像掲示板を書いてみました。 #!/usr/bin/env python # -*- coding: utf-8 -*- import wsgiref.handlers, cgi from google.appengine.api import images from google.appengine.api import users from google.appengine.ext import webapp,db class ImageAndText(db.Model): user = db.User

    Google App Engine が凄すぎる気がしてきた - Djangoへの片思い日記
  • Mac で Pygame - Djangoへの片思い日記

    とりあえず 1000speakers 後の Hackathon です pygame というのを知ったのでさわってみます。 pygame のインストール http://pygame.org/ Mac のバイナリはここから DL 出来る http://rene.f0o.com/~rene/stuff/macosx/ (The one downloaded from python.org not the system python installed with OSX). http://rene.f0o.com/~rene/stuff/macosx/ との事なので Python を入れる Pythonのインストール http://python.org/download/mac/ このへんをたどっていって http://www.pythonmac.org/packages/py25-fat/ind

    Mac で Pygame - Djangoへの片思い日記
  • ネットウオッチャーへの道 - Djangoへの片思い日記

    こんにちは!! デブサミベストタイムキーパーを目指している jYoshiori です. デブサミの竹迫アワー(通称「ネットコミュニケーション2.0」)は すごく楽しかったです>< そこで id:otsune さんが 観測範囲が狭い不幸 「twitterのfollowingが100人を超えると 読めなくなるから、それ以上増やさないよ うにする」 もったいない!! もったいない!! twitterのfollowボタンを押して 矢印が回っているまでの数秒 あなたの寿命はかなり縮んでる! と言ってました>< void GraphicWizardsLair( void ); // デブサミ2008「ネットコミュニケーション2.0」でライトニングトークをした 衝撃を受けました. 反省しておもしろそうなお話をしている人がいたら その人の follow している人を全部 add するスクリプトを書きました

    ネットウオッチャーへの道 - Djangoへの片思い日記
  • モデル変更 - Djangoへの片思い日記

    適当にアプリを作っていると modelの変更が頻繁に出てきます。 駄目人間の証ですね>< でも、そんな駄目人間にも優しいDjangoです。 後からカラム追加したり、ユニークにしたかったりインデックス貼りたかったりして models.pyを変更した後、絶望にくれてませんか? 更にその後、 >python manage.py reset appNameとか打っちゃってadminにすらログインできなくなって 泣きそうになっていませんか? 俺は両方経験しました。 おっぱいマニア*1を目指す人間として軸がぶれている気がします>< さて、そんな時ですが、実は便利なコマンドがあります。 >python manage.py sqlreset appName | mysql -D dbName -u user -p もちろん大事なデータが入っているときにはやってはいけませんが 作成途中の時はこんな感じでガン

    モデル変更 - Djangoへの片思い日記
  • iKnow の進捗を Python で取得 - Djangoへの片思い日記

    iKnow の進捗を Python から取得できるようにしてみました。 #!/usr/bin/env python # -*- coding: utf-8 -*- import urllib from BeautifulSoup import BeautifulSoup import re class Iknow: def __init__(self,username): b = BeautifulSoup(urllib.urlopen("http://www.iknow.co.jp/user/"+username)) iknow = b.find('div',id="study_badge_div").find('script').string self.iknow_study = int(re.search(r"int_left.*?(\d+)", iknow).group(1)) s

    iKnow の進捗を Python で取得 - Djangoへの片思い日記
  • ユーザー認証をやってみる - Djangoへの片思い日記

    Djangoでユーザー登録 ユーザー登録で良くあるパターンとして ユーザーネームとパスワード、メールアドレスを入力する 認証のメールが届く メールに書いてあるURLにアクセスするとアカウントが有効になる という処理が良くあります。 これをやるためのモジュール(テンプレート?)が 実は用意されています。 django-registration - Google Code これを使ってみましょう django-registrationをインストールしてみる さっそく先ほどのdjango-registrationのサイトの右の方の 「Featured Downloads:」からダウンロードして解凍します。 そして解凍したディレクトリで >sudo python setup.py installをするだけでインストール終了です。 django-registrationをプロジェクトに取り込む まず

    ユーザー認証をやってみる - Djangoへの片思い日記
  • ユーザー登録で悩んでみる - Djangoへの片思い日記

    チュートリアルも無事に終わったので 一番使いそうな機能、ユーザー登録を作ってみたいと思います。 フォームとフィールド,マニピュレータ : Django オンラインドキュメント和訳 ここで説明しているフォーム/マニピュレータシステムは,次の Django リリース では別のシステムに置き換えられる予定です.スクラッチで新たなアプリケーショ ンを開発するつもりなら,このシステムを学ぶために時間を浪費しないよう強く勧 めます.その代わりに,新たなフォームシステムである django.newforms の使 い方を学んで利用しましょう. newforms のドキュメント は現在整備中です. http://michilu.com/django/doc-ja/forms/ と書いてありますので newforms を使ってみたいと思います。 まず、forms.py を書いてみる。 # -*- encod

    ユーザー登録で悩んでみる - Djangoへの片思い日記
  • Djangoへの片思い日記 - ■Struts脳の恐怖とRails

    Strutsは良いフレームワークであった。 登場時のStrutsは MVCを体現しWebフレームワークとしてプログラマ達に夢を見せた。 今見てしまえば冗長で可読性の低い設定ファイルに 糞のようなtaglibとゲロのようなjspであるが それでも当時はセンセーショナルだった。 しかし、その後、Strutsには悲劇が起きる。 あまりにもセンセーショナルなデビューのおかげで それを金に換えようとしている奴らに目を付けられてしまった。 人月計算とExcelスーツで出来ている奴らだ。 奴らは Strutsをいかに簡単であるか宣伝し 役に立たない講習会で金を取り sessionが何なのかすら知らない人間を大量に生み出した。 そうやって生み出されたStruts脳人間は 「動くコードが正義」の負の面を体現し スパゲティを更に絡ませたActionFormを書き 解読不能なActionを書いた。 勉強など一

    Djangoへの片思い日記 - ■Struts脳の恐怖とRails
  • 1