2012-01-01から1年間の記事一覧

Flaskの闇

Merry, Xmas. Python advent calendar 2012 (#python_adv) 24日目の記事を、ミクパの再放送をBGMにお送りします。 今日は Flask のイケてないところとのつきあいかたを紹介します。 循環 import 問題 app.py 1ファイルだけの構成から成長してファイルを分け…

Flaskのカスタマイズについて

2012 Pythonアドベントカレンダー(Webフレームワーク) #python_adv の5日目の記事です。 明日は @altnight にお願いします。 Flaskはオモチャじゃないよ PyCharmなどのIDEがFlaskに対応を始めたり、Flask はそろそろ Django に続く Python の Web フレームワ…

勝手に添削 (C vs Python vs Ruby vs Haskell(ナンバリングdeベンチマーク))

C vs Python vs Ruby vs Haskell(ナンバリングdeベンチマーク) を勝手に添削。 今回は話題的に最適化するにはバイトIOにするとか出てきて面倒なので省略して、 Pythonic にするだけ。 元のコードは import sys argvs = sys.argv del argvs[0] for i in rang…

勝手に添削 (C vs Python vs Ruby vs Haskell(無意味な処理deベンチマーク))

なんか指名されたので、 C vs Python vs Ruby vs Haskell(無意味な処理deベンチマーク) このコードを Pythonic に書き直していきます。 ちなみに、 Python は 3.3 を使います。 まず、最初のコード n = 4000 a = [] count = 1 for x in range(n): a.append…

移行しました

はてな記法毎回忘れるのが苦痛だったので Markdown 使えると聴いて乗り換えました。GJ!

標準入出力のエンコーディングを指定する3つの方法の使い分け

そこまでおっしゃるなら、というわけで書いたのが以下。 #!/usr/bin/env python3.2 # -*- coding: utf-8 -*- import sys, os if 'PYTHONIOENCODING' in os.environ: for line in sys.stdin: chars = list(line.rstrip()) print('☆'.join(chars)) else: os.en…

Python 3 の標準入出力のエンコーディング

404 Blog Not Found:備忘録 - #python3 で sys.std(in|out|err) の encoding を強制する というわけでこうなりました。 import sys sys.stdin = open('/dev/stdin', 'r', encoding='UTF-8') ... 無理矢理開き直すなんてずいぶんと乱暴だと私も思うのですが、…

Mac OS X で VirtualBox を使って Linux を併用する

会社から借りているマシンを、Ubuntuデスクトップをインストールした ThinkPad X200 から MacBook Air 13" 2012 に交換してもらった。人生初Macなんだけど、いきなり開発環境を総入れ替えするのは難しいし、オフラインでも使える Linux 開発環境はずっと欲し…

bzrのリポジトリをgitに変換する方法 (fast-import編)

bzr

bzr-git を使う以外に、 fast-import を使う方法があります。 単に乗り換えるために変換したい場合は、こちらのほうが高速で楽です。まずは、 bzr の fastimport プラグインを用意します。 $ pip install fastimport $ cd ~/.bazaar/plugins $ bzr branch lp…

ipython 0.12 と virtualenv を同時に使う方法

ipython と virtualenv を同時に使う方法 - Ian Lewis はとても便利な設定なので参考にさせてもらっていたんだけれど、 IPython 0.12 からは設定の方法が変わったのでこの設定方法では動かなくなった。IPython 0.12 での設定方法は、 (1) ipython profile cr…

Ubuntu 12.04 で Python 2.6 をビルドする

Ubuntu 12.04 でもまだUbuntuパッケージとして Python 2.6 が提供されているのですが、将来消えるのかもしれないのでそろそろ後方互換性確保用の 2.6 は自前ビルドをしておくことにしました。Python をビルドするとき、 Ubuntu 11.10 からだと思うのですが、…

バージョン番号を2度書かないために

Python では、下らない問題は、賢く綺麗に解決しようとせずに、 Python 本体が持っている柔軟さを使って強引に解決する方が楽な場合があります。 問題ごとに綺麗な仕組みを作ってしまうと、新しく Python を覚えるひとは無数にある下らない問題の数だけ用意…

Python-dev ML watch: 文字列リテラルに u プリフィックスがつきました。

更新が滞っているので、 Python-dev の ML の内容を伝える記事を気が向いた時に書くことにします。Python 3.3a1 がリリースされましたが、その直後にコミットされたのが、文字列リテラルのu プリフィックスです。この prefix は、 Python 2 と 3 に同一のコ…

このブログに乗せているコードは引用を除き CC0 1.0 で提供します。