タグ

ブックマーク / www.trashbox.jp/~moriwaka (13)

  • Python 3.0について: - KazuoMoriwaka/Journal/2008-12-06 - MoriMoin

    Python 3.0について: やっとでたねー。 http://sourceforge.jp/magazine/08/12/05/045246 とかみると、 大きな変更点は、Unicode文字列とバイト型を区別するなどUnicodeベースへの移行、print文をprint()と関数にしたこと、など。 とか書いてるけど、そこじゃない。そこじゃないんだ。使ってないとわかんないとおもうけど。 一番でかいのはOld Style Classが な く な っ た こ と なんだよ! これはPython 1.5の頃の「全てがリストとハッシュだけでできているPython」との決別なんだyo! 2.xで後方互換性を維持しつつ徐々に取り込まれてきたイテレータ、unicode型、new style class、リスト内包表記、エラーの組み込みクラス化、標準ライブラリの強化etc.は、どれもこれも「

  • KazuoMoriwaka/Journal/2008-04-14 - MoriMoin

    otsune
    otsune 2008/04/15
  • PerlGaTaosenai - MoriMoin

    下手なPerlが倒せない 気がついたら システム修正依頼 ソース見ると いつもの下手なPerl あきらめずに 前任のドキュメントを読むけど 全然日語じゃない PythonとかCならば 楽にソースをながめられるけど 何回やっても何回やってもPerlだけは倒せないよ 特殊変数 数が多すぎてわからない Englishモジュールあっても 使ってるソースみたことない Eclipseもつかってみたけど Perlが相手じゃ意味がない! だから僕はメンテをするために 面倒だけどPOD コメント書いておく おつね支障が倒せない 気がついたら 先にブクマされている そしてタグのネタまでカブる あきらめずに 海外ネタも発掘するけど オレンジニュースに負ける slashdot/J ならば 楽に先を越せるけれど 何回やっても何回やってもotsune支障倒せないよ [それPla]タグをつけても先をこされてる かわい

    otsune
    otsune 2007/07/18
  • http://www.trashbox.jp/~moriwaka/moin.cgi/KazuoMoriwaka_2fJournal_2f2007_2d05_2d03

  • KazuoMoriwaka/Journal/2006-10-22 - MoriMoin リストの内包表記の実行速度はC言語並み? という記事が あったのでちょっとベンチマークとってみた。

    この結果からわかることは ループ内の処理が割と小さいxrange,1 では 同じバージョンでリスト内包表記とforループを比べるとリスト内包表記のほうが速いようだ。 100万回のループで50msecから60msec程度。 注: res.appendの呼び出しが遅いだけかもしれない。 元のコードではリスト内包表記のほうが常に遅い。 Python処理系のバージョンがあがるに従ってどちらも高速化されている。 このような単純な例ですら、ループ処理の形式よりループ内で実行される処理のほうが支配的。 つまり実用上は(実行時間最適化をしようとしているときですら)常にループの形式による速度の差は2番手、3番手の関心事になる。 例: range を xrange にするだけで230msecから470msec程度、ループ形式の違いより1桁大きい。 自作のベンチマークルーチンでは対象関数を20回

  • UhiMethod - MoriMoin

    うひメソッド うひメソッドの定義 思わず「うひ」といわせるネタを実装することにより技術的にたいしたことなくても「なんかおもしろいことやってる人」というイメージを定着させ、オープンソース界隈の立ち位置を良くする手法 うひメソッドの原理 うひメソッドは「だいたいの技術者は技術的な面白さとネタの面白さを論理的には区別できるが感情的にはうまく区別できない」という事実を利用している。 うひメソッドの実装 うひメソッドには複数の実装方法がある。 以下に例を示す: ネタをソフトで実装(ドドド ネタを自然言語で実装(LLXX うひメソッドの課題 ハッカーにウケるネタを考えること自体がそれなりに難しいため、このメソッドの実装可能性は特定人物の能力に依存する。 まとめ うひメソッドの活用により技術的な貢献とは無関係にオープンソース界隈での立ち位置を操作することができる。 RefreshCache for t

    otsune
    otsune 2006/09/22
  • UheMethod - MoriMoin

    うへメソッド うへメソッドの定義 開発者に思わず「うへ」と思わせて、ハックする気力をなくさせることにより オープンソースライセンスで配ってるのに 社外の開発者を寄せつけず、 事実上プロプライエタリソフトウェアのように扱う手法。 うへメソッドの実装 うへメソッドには複数の実装方法がある。 以下に例を示す: コードが汚すぎてうへ(例: courier-imap) コードが膨大すぎてうへ(例: opensolaris) 世間から活動が見えない社内での開発がメインでうへ(xxx社製オープンソースなにがしにありがち。ダウンロードコーナーしかないような奴) 変なコミュニティでうへ(?) 変な開発者でうへ(?) 超マイナーもしくは事実上社内ローカルな独自言語(うへ言語)でうへ(?) まとめ うへメソッドの活用によりGPLなどの「フリーソフトウェア」の制約をみたしつつ、 事実上バイナリのコ

    otsune
    otsune 2006/09/20
    うへメソッド
  • PythonEncode - MoriMoin

    こんなエラーがおきたとき >>> print hoge Traceback (most recent call last): File "<stdin>", line 1, in ? UnicodeEncodeError: 'ascii' codec can't encode characters in position 0-7: ordinal not in range(128) デフォルトで設定されてる文字コードを変えると解決します。 で、その設定のしかたですが、 1. 環境変数LANG に端末が扱うエンコードを設定する。(たぶん LANG=ja_JP.utf-8 か、 ja_JP.eucJP のどちらかでいけるとおもいます) 2. 1は端末に出力(ただprintする時)するときだけに対応するので、 hoge = file(’hoge’, ’w’) print >>hoge, u

  • ProgrammerProverb - MoriMoin

    プログラマ格言 PHPを笑うものはPHPに泣く 意味: 「PHPなんてまともなプログラミング言語じゃないよ」と笑っていたら仕事PHPを触るはめになってしかも既存のソースが汚かったりして泣く。 教訓: 好き嫌いを通せるようにえらくなれ。 ソースが知れる 意味: 変な挙動をするソフトをさわっていると、動き方から間違ってるパターンと作った人のレベルがなんとなく透けて見える。 教訓: どうやったらうまく動くか探すのも仕事のうちらしい。 ひいきのwiki倒し 意味: 「wikiはすばらしいツールですよ!」 と、とにかくwikiを導入してメンテ不良のページを大量につくってしまう。 教訓: 情報共有ツールは使う人のメンテナンス能力が一番のネック。 ライブラリからボタ 意味: 延々ぐぐってみつからなかった情報がライブラリのソースであっさりみつかった。 教訓: ライブラリのソースは

    otsune
    otsune 2006/06/08
  • KazuoMoriwaka/Journal/2006-01-17 - MoriMoin

    tracの特定ページを書き変えるスクリプト(trac 0.8.4 で動作確認) これを元に適当にいじってお使いくださひ TestPage を foo という中身に置換する。署名は 'put.py'とする なんちゅうかelementtree強すぎ。 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 import urllib import elementtree.HTMLTreeBuilder as HTMLTreeBuilder tracbase = 'http://www.example.com/projects/fms/wiki/' pagename = 'TestPage' text = 'foo' author = 'put.py' # 編集画面 f = urllib.url

  • LLXX - MoriMoin

    こんなLLはXXだ 高橋メソッド版 言語仕様 中括弧とインデント両方必須 for x in lst{ hoge(x) --> Syntax Error 全部の変数の型を明示 Integer x [Integer] lst Integer -> Integer hoge for x in lst: hoge(x) よめない(whitespace 全部大文字 FOR X IN LST: HOGE(X) 制御がgotoとifだけ max = len(lst) i = 0 loop: if i > max: goto eloop hoge(lst[i]) i += 1 goto loop eloop: ifが後置だけ hoge(x) if x; ASCIIにない記号が入ってる π=3.1415 ユーザーが俺だけ ( と { と [ が同じ意味だ dict_user{func_h

  • Docutils解説

    docutils とは..? (1/2) ドキュメントを変換する 定義は PEP-258 主にCore, Reader, Processor, Writer にわかれる docutils とは..? (2/2) 入力は reStructuredText という独自形式 出力はいろいろ HTML LaTeX2e XML (独自形式) S5 (XHTML + CSS + Javascriptなプレゼン)

  • ドキュメント変換システムどうよ

    問題 ドキュメント作成をワープロソフトでやったりした日には diffとれない。。 CVSとかで管理してもめんどくさい。。 grep とかで串刺し検索できない。。 とりあえず起動するのに待つのが嫌。 など、特にUNIX worldに住んでいる我々にとっては生産性が落ちまくり。

  • 1