« 2009年3月 | トップページ | 2009年5月 »

2009/04/22

[ python ] こりゃひどい・・・

設定ファイルに記述されている数字が 0~99 であるか判定するコードで↓みたいなのを見て唖然。


if (len( fragment ) < 0) and (9 < len( fragment )):
	raise Exception
else
	if (fragment[0] < '0') or ('9' < fragment[0]):
		raise Exception
	elif ((len( fragment ) == 2) and ((fragment[1] < '0') or ('9' < fragment[1]))):
		raise Exception

これ書いたやつは何考えているんだろうか?
正規表現か、int() つかって数値変換すれば一瞬で終わるんじゃないの?
"000012" みたいなのを指定されたときなんか考えると、正規表現はめんどくさいので int() 使ってみる。


setting = int( fragment )
if (setting < 0) or (99 < setting):
	raise Exception

Simple is better than complex.

2009-04-22 追記
一応正規表現版。抜けがあるかも・・・


if re.match( r"^0*\d{1, 2}$", fragment ) == None:
	raise Exception

| | コメント (0) | トラックバック (0)

2009/04/09

[ ubuntu ] ネットワーク設定が消される

結論を最初に述べてしまうと、
トラブル:Ubuntu でネットワーク設定が勝手に変更されます。
解決方法: NetworkManager パッケージを消しましょう。

Ubuntu8.10 にしてから再起動するたびにネットワーク設定が、わたしが設定したものとは全く違うものに変わってしまうことで悩んでいました。

Ubuntu では、ネットワーク設定は NetworkManager を使用して ( というか、今まで Ubuntu 使ってきた経験上これ使わないとトラブルに繋がりやすい ) いたのですが設定を変更しても "Disconnected" のまま。 "Connection Established" とでても、実際には全くネットワークに接続できていない。

なんども接続を試みて、やっと通信できる状況になったと思ったら数時間後にはまた通信できない状態になる。設定を見ると勝手に変更されています。さらに、再起動しても勝手にネットワーク設定が変わっています。

自己主張が強い Windows でも、自動設定を無効にすればここまでオレオレ設定を押し付けたりしない・・・

埒が明かないので、NetworkManager を KILL して、設定ファイル各種を手動で編集し、昔ながらの ifconfig を叩くと普通に繋がります。明らかに邪魔をしているのは NetworkManager です。

こんなゴミパッケージはないほうがマシ。さっくり消しました。きれいさっぱりと。
消してからはトラブルは発生していません。こんなものをデフォルトで突っ込まないでほしいものです。

fomalhaut さんの発言:
アンインストのときにもなんかやってくれたみたい
fomalhaut さんの発言:
どこまで行儀の悪いゴミくずだよ
havana さんの発言:
どこまで行儀の悪いゴミくずだよ>まあLinuxでGUIの設定ツールを使うと微妙な感じなので最初から入れない方がいいような
OSX Serverもまあそうだが

Linux が GUI だけで操作できるようになるにはまだ時間がかかりそうです。

| | コメント (0) | トラックバック (0)

« 2009年3月 | トップページ | 2009年5月 »