Diary?::2006-02-08

02:36

俺がコンピュータを使っていて最高にムカツク瞬間というのは、再起動したら直ったという奴だ。これは本当に頭に来る。

自分で作ったプログラムであれば、メモリを使いすぎたとか、一時的なログファイルが積もり積もって大変な事になったとか、大体の目星が付く。でも他人様のプログラムに関してはそうではなく、そしてそれが特にハードウェア周りであれば意味不明度は指数関数的に肥大化する。

何が言いたいかっつーと、今さっきルータを再起動したらネットワーク接続の不調が直ったのがすげームカツク。本当、何が原因だったんだ。

02:58

役に立つのかわからんが、今さっき思い付いたデバッグ時などで使うクラスを動的に変更する方法。

# main.py
import obj
import sys

if '-d' in sys.argv:
	obj.debug()
x = obj.Obj()

# obj.py
class Obj:
	def __init__(self):
		print 'object'

class Debug(Obj):
	def __init__(self):
		print 'debug class'

def debug():
	print 'debug mode'
	global Obj
	Obj = Debug

以下は出力結果。

$ python main.py
object

$ python main.py -d
debug mode
debug class

同じようにデバッグ用にロギング関数をかぶせたりとかも出来るから、案外悪い方法じゃないかも。あー、もしかして DI ってこれのことか? DI については正直詳しくないのでよくわからんけど。

20:39

「シグルイ」は女子に読ませる物では無い? じゃあ俺の妹たちはどうなのだと聞きたい (それはお前の妹だからだと切り返されそうだが)。大体、最近では少女漫画の方がいかれた漫画が多い気がするぞ (というかまあ、これも一部の過激派のイメージだろうけど)。

全然話は変わるのだけど、「あなたのブログが読まれない X の理由」の類に絶対に書いていない事がある。その手の話を読んで影響されるような奴のブログこそが、誰も読まないブログだって事だ。

21:59

プログラムのバージョンを major.minor みたいな表記にするのはやめにしようかな。俺はマイルストーンなんて立てずに開発しているし、何より後方互換性が無くなるのなら新ライブラリ扱いでやっているわけで、だったら major.minor なんて形式は使わずに単に整数のみのバージョン番号でも全然問題ない気がする。

でもそれだとどれぐらい重要なリリースなのかがわかり辛いか? そうなるとやはり前述の形式でやっている方がいいということに。いや、よくよく考えたらマイナーアップデートでも重要な奴ってのは腐る程あるというか、 Python だって 2.3 から 2.4 では重要な変更が山ほどあった。つーか、アップデートは (物にもよるが) 出来るだけするべきだ。

ところでバージョン 0.9 のあとに 0.10 とやるのは、何というかとても格好わるいよな。じゃあ 0.01 から始めるか? それでも 0.99 のあとにどうするかっつー問題がある (そこまでアップデートするかどうかは別問題としてね)。

ああそうか、リリース日時で管理すればいいのか。

Written by Kuwata Chikara
Creative Commons