このBlogは移転しました。今後は aish.dev を御覧ください。

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

Windows版ポモドーロ・テクニック用タイマー PomoTimer 0.0.2 リリース

Windows版ポモドーロ・テクニック用のタイマー アプリケーション PomoTimer 0.0.2 をリリースした。 ダウンロード pomotimer-0.0.2.zip ソース https://code.launchpad.net/~aishimoto/+junk/pomotimer ライセンス GPL 変更履歴 タイマーで.wavファイルを指…

Windows版ポモドーロ・テクニック用タイマー PomoTimer 0.0.1 リリース

Windows版ポモドーロ・テクニック用のタイマー アプリケーション PomoTimer 0.0.1 をリリースした。作ってしまったので仕方がないが、このように数時間でできる程度の、素朴なアプリケーションを公開してしまうのは正直恥ずかしいものである。 ダウンロード …

Pythonの特殊メソッド

Python関連のブログやTwitterでの発言を見ていると、ときどき obj() は obj.__call__() のシンタックスシュガー とか、 len(obj) は、 obj.__len__() と同じ というような発言を見かけるとこがある。本当だろうか? obj() は obj.__call__() のシンタックス…

Pythonの進化を支えるもの

プログラム言語 Python はまもなくリリース以来20年を迎え、現在では世界でもっともよく使われている言語の一つへと成長しました。Python はすばらしいプログラム言語ですが、プログラム言語が広く普及するためには、単に優れた言語であるというだけでは不十…

Pythonでデータ定義行のファイル名と行番号を手に入れる

ふと思いついたので書いておく。Pythonでデータ定義行のファイル名と行番号を手に入れる - 清水川Web では、Pythonでデータの定義位置を記録する方法として、データ生成用の関数を作ってその中でデータの定義位置を記録する方式が提案されている。このように…

【急募】海外への通信が速いプロバイダ

世の中はやれ github が便利だの Bitbucket が買収だのとかまびすしい中、Bazaarユーザである私は粛々と Launchpad を使っている。使ってはいるのだが、Launchpadは遅い。何をするにもやたらと待たされる。サーバが重いのもあるだろうが、確かCanonicalの本…

PyrexかCythonか

【Q】 Pythonの拡張モジュール作成言語として、Pyrex と Cython のどちらを使うべきでしょうか? 【A】 できるだけCythonを使いましょうPyrex は Greg Ewing氏による Pythonの拡張モジュール作成言語であり、CythonはPyrexをベースにStefan Behnel氏らを中心…

Cygwin+minttyでVimのカーソルが変

mintty上でVimを動かすと、どうもカーソルキーを押したときに余計な文字が入力されてしまう。 私の環境では(Cygwin 1.7.7/mintty 0.9.2)、.vimrcに以下の指定をすると問題ないようだ。 set t_ku=^[OA set t_kd=^[OB set t_kl=^[OD set t_kr=^[OC^[0A 等の ^[…

Cython 演習問題 解説

Cython 演習問題 演習1 素数判定 整数の簡単な演算を中心とした処理だが、このような処理を拡張モジュール化する場合の効果を確認してみよう。まず、演習1-(A)のスクリプトをそのままCythonを使用して拡張モジュール化した場合では、 # Python版 $python -…

Cython 演習問題

演習1 - 素数判定 (A) 以下のPythonスクリプトを作成し、 primes(1000) の実行に必要な処理時間を測定せよ。 def primes(kmax): p = [0] * kmax result = [] k = 0 n = 2 while k < kmax: i = 0 while i < k and n % p[i] <> 0: i = i + 1 if i == k: p[k] =…

CentOS 5にloggerheadをインストールした時の作業メモ

普通にインストール # yum install loggerhead動かしてみる $ serve-branches path-to-repoなにやら不満げなログが出てきた DEBUG:loggerhead.infopile:Couldn't load python-sqlite, continuing without using a cache INFO:paste.httpserver.ThreadPool:Ca…

Python3.1の Unicode ファイル名

パソコンを使う人なら誰でも"ファイル名"というのを知ってるし、プログラマなら誰でもファイル名を使ったファイル操作は基礎として学んでいる。しかし、21世紀の今日ですら、時としてファイル名とはやっかいな問題となりうるのだ。Python3では、文字列オブジ…

クロージャのひみつ

やっとPythonのクロージャの仕組みを少しは理解した件 で、清水川先生がクロージャを返すとき実行中のフレームオブジェクトが保存されるのか?という疑問を呈されている。結論から言うと、フレームオブジェクトは保存されず、クロージャが必要とするオブジェ…

亡きオウムに捧げる50の言葉

文字列定数 'Dead Parrot' '''Dead Parrot''' r'''Dead Parrot''' "Dead Parrot" """Dead Parrot""" r"""Dead Parrot""" "Dead" " " "Parrot" "Dead \ Parrot" "Dead" \ " " \ "Parrot" "\x44\x65\x61\x64\x20\x50\x61\x72\x72\x6f\x74" "\104\145\141\144\4…

The Zen of Python 解題 - 後編

The Zen of Python 解題 - 前編 "The Zen of Python" の役割 "The Zen of Python" は Tim Peters氏が1999年に「Pythonらしさとはなにか?」と問われて書き上げたものであることは前述した。Python 2.0 のリリースに向けて活発に開発が進められていたころであ…

The Zen of Python 解題 - 前編

The Zen of Python, by Tim Peters Beautiful is better than ugly. Explicit is better than implicit. Simple is better than complex. Complex is better than complicated. Flat is better than nested. Sparse is better than dense. Readability count…

pyjf - python library for Japanese language

日本語エンコーディング変換ライブラリ pykf も開発以来10年を超え、さすがにいろいろと古くなってきた。ぼちぼち大幅に手を入れようかと検討してみると、どうも原型がなくなるぐらい修正が入りそうな気配。それでは、ということで pykf はそのままにして、…

0と1を次々返す方法

0と1を次々返す方法 - a2c.get.diaryこれってもう出た? class Toggle(object): @property def value(self): ret = self._f self._f = not self._f return ret def __init__(self): self._f = True toggle = Toggle() print toggle.value print toggle.value…

スタティックメソッドは要らない子? - その2

http://d.hatena.ne.jp/atsuoishimoto/20100807/1281169026 を書いたあとに、スタティックメソッドの使い道を思いついた。やや人工的なシチュエーションではあるが…こんなコードを考えてみよう def _callexit(): sys.exit() class Foo(object): shutdown = _…

スタティックメソッドは要らない子?

Pythonでは、クラス内で定義することの出来るメソッドが三種類用意されている。メソッド・クラスメソッド・スタティックメソッドの3種類だ。それぞれどんな特徴を持っているのだろうか? メソッド まず、メソッドはおなじみのインスタンスメソッドで、第一引…

Python Hack-a-thon 2010.07 のスライド

String representation in py3kView more presentations from atsuoishimoto.

Pyrex 0.9.9の変更点

先日 Python拡張モジュール開発言語 Pyrex の 0.9.9がリリースされたが、このバージョンでは旧バージョンとは非互換となる変更が加えられており、注意が必要である。 例外処理の変更 Pyrex 0.9.9では、発生した例外が実行中のスレッドに保存されなくなり、sy…

Softbank Desireを使ってみて(その2)

前回 の続き イヤホンジャックが邪魔 Desireの電源スイッチとイヤホンジャックは上部に並んで配置されているが、これが良くない。イヤホンを付けたまま操作しようとすると、ケーブルが指にからんだり画面のすぐ上でぶらぶらしたりと邪魔にな場合がある。イヤ…

Softbank Desireを使ってみて

Softbank の Android 携帯 HTC Desireを入手して二日経った。現状での感想を残しておきたいと思う。 もたつかない とにかく操作をしてから待たされるということがない。アプリケーションは一瞬で起動するし、キーを押せば即座に応答する。もちろん、Webブラ…

pykfをPyPIに登録

Python用日本語エンコーディング変換モジュール pykf の setuptools 対応を行い、PyPI にアップロードした。これからは easy_install pykfで利用可能なので、機会があればご利用ください。

Python で次の月を求めようとしたらメンドそうなので Ruby にした Pythonで私が常用するイディオムだと import datetime start = datetime.date(2005, 1, 1) while True: text = start.strftime('%Y%m') print text start = (start+datetime.timedelta(days=…

人造人間の苦悩

今、私の心は千々に乱れている。Android携帯を買いたい。買う必要は全く必要はない。しかし、買いたくなってしまったのだ。昔はこの手のガジェットが好きで、HP 200LXだのPalmだのiPaqだのを次々と購入していたが、ここ数年は仕事上での外出が減り、必要性が…

Apache PDFBox日本語対応パッチ(その4)

昨日登録したばかりのパッチが、今日もう採用されていた。すでにトランク に反映されているので、是非お試しください。

Apache PDFBox日本語対応パッチ(その3)

Apache PDFBox日本語対応パッチを PDFBox本家のJIRAに登録しました。 Extracting CJK text Default character width should be used if width of a character is not defined 上記のページに皆様からの支持を書き込んで頂くと、本家に取り込まれる可能性が高…

Apache PDFBox日本語対応パッチ(その2)

先日作成したApache PDFBox日本語対応パッチを、PDFBox 1.0.0用に更新した。パッチ済みのソースはこちら。 bzr branch lp:~aishimoto/+junk/pdfbox-1.0.0-jaでBazaarブランチを取得できる。また、このブランチには、id:buzztaiki さんが作成された、日本語PD…