日々のメモ書き
Debian Developerが綴るメモ
VC++はトラップが多すぎる
いや、マジで
MSDNを読んでもよくわからない。Webで捜し回ってなんとなくうっすらと見えてくる。
VC#はよくできている。VBでもまだましな部分がある。
ぐは。
SourceForge.jp メモ(livedoor Authのリリースで)
SourceForge.jpにリリースファイルをアップロードしたけ統計情報が表示されてないなと調べてみると。
公開されてないことに気がついた。個々のパッケージをactiveにするだけでなくてリリース全体もactiveにしないといけなかった。ともあれ、これでリリースされたのでダウンロードできるようになりました。
doctest
doctestのメモ
def hello(s):
"""return hello
>>> hello("World")
'Hello World'
>>> hello("Python")
'Hello Python!!'
>>> hello("Perl")
'Hello Perl'
>>> hello("Ruby")
'Hello Ruby'
"""
if s == 'Python':
"Hello " + s + "!!"
else:
return "Hello " + s
def _test():
import doctest
doctest.testmod()
if __name__ == '__main__':
_test()
を実行すると次にような結果になる。
**********************************************************************
File "doctest_sample.py", line 6, in __main__.hello
Failed example:
hello("Python")
Expected:
'Hello Python!!'
Got nothing
**********************************************************************
1 items had failures:
1 of 4 in __main__.hello
***Test Failed*** 1 failures.
return で値を返すのを忘れているのだから当然失敗する。という話でした。お手軽テストにはなるのか。
ElementTree
PythonのXMLライブラリElementTreeをためす。
この前DOMでやった内容をそのままElementTreeで書き直してみる。
#!/usr/bin/python
import cElementTree as ElementTree
import sys
et = ElementTree.parse(file('sample.xml'))
root = et.getroot()
rows = root.findall('row')
for r in rows:
if r.find('user_id').text <> '5':
root.remove(r)
et.write(sys.stdout, 'utf-8')
とまあ、わかりやすくなったかな。
Collective SVN report
2007-04-22
- r40620 - PloneFlashUpload - flashを使ってmultifile uploaderを作る
- r40636 - PlonePAS - 2.4 release
- r40644 - CMFPlacefulWorkflow - 1.0.4
- r40651 - ATVideo - Zope-3 style view
- r40687 - Quills - WeblogEntry以外に何でもつっこめるようにするbranch
- r40713 - membrane - 3.0 compat
cheeseshopへの登録
cheeseshopに登録してみた。
cheeseshopはPython用のソフトウェアリポジトリで、Perlで言えばCPANに相当するものです。livedoor-authを登録してみたのだがその手順をメモ。
まずcheeseshopにIDを登録。次にdistutilsを使ってソフトウェアパッケージを作る。Pythonなら普通にそうするよね。python setup.py registerを実行。簡単でした。
python livedoor-auth 0.0.1 release
えーい、やっつけでリリースしたぞ。
SourceForge.jpのプロジェクトサイトを見て下さい。デモサイトも作りましたのでlivedoor IDをお持ちの方は使ってみて下さい。今回始めてcheeseshopに登録してみました。暇があったらZope(Plone) bindingとかdjango bindingとかも作る。
livedoor Auth python binding
頑張ってlivedoor Auth APIのPython版を書きました。
自分のPCで動くことを確認した。Perl版書き直しなのでどんな関数にするか考える必要なかったので難しくなかった。今日はここまで。明日のうちにパッケージにしてアップロードしよう。
OpenSourceSoftwareと商売
OpenSourceSoftwareで金を稼ぐことができるかという話はずっと語られてきた。
ただ、確信したのはオープンソースを理由にお金を稼ぐのは難しいと愚痴っている奴はオープンソースでなくても金は稼げないということ。商売というものをまったくなめている。
また、オープンソースで金を稼げないからって思想的な話に走るのはもはや論外だ。思想を語るのならオープンソースではなくてフリーソフトウェアだろう。オープンソースはあくまでマーケティング用語だ。勘違いにも程がある。自分の土俵から逃げ出すことに恥を知れ。
現実逃避で思想を騙る奴らと現実と戦う為に思想を語るRMSとは違う。
Python livedoor Auth
livedoor AuthのPython版を作成開始。
どうやって配布しようかと考えて面倒なのでSourceForge.jpに登録しておいた。近日公開予定。こうやって自分にプレッシャーをかけないとやらないからな。もう八割方は書き上げたので若干の調整とテストアプリを作成しないと。