タグ

2007年11月10日のブックマーク (10件)

  • pythonのソースコードを読むコツのようなもの - maeda.na@はてな

    2007/09/20 追記。以下で色々頑張ってるようなこと全部IPythonで出来るみたい...orz まだまだ駆け出しなりに連日試行錯誤してわかってきたことがあるので書いておく。 これからpythonはじめる人とかの参考になればうれしい。 それは違うだろ?っていうpythonistaの方の突込みがあるとさらにうれしい。 道具重要!! pythonインタプリタ これがないと始まらない。 どうでもいいけどrubyのirbみたいに固有名詞は定義されてないのかな。 pydoc Javaでいうとjavadoc。perlでいうとperldoc。 inspect これの存在しってから劇的にコードの読み方が変わった。 pdb まだあんまり使ってないけど一応。 pythonインタプリタ rlcompleterとreadlineが使えるようにしておくのがお勧め。 import rlcompleter, re

    pythonのソースコードを読むコツのようなもの - maeda.na@はてな
    tanakaBox
    tanakaBox 2007/11/10
    inspectが激しく便利な件について。
  • Tutorial

    This manual is available in various formats. GNU Global Source Code Tag System Edition 6.6.12, for GNU Global version 6.6.12 5 March 2024 by Tama Communications Corporation Copyright © 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2008, 2010, 2011, 2012, 2013 Tama Communications Corporation This manual is for GNU Global (version 6.6.12, 5 March 2024), a source code tagging system that works the same w

    tanakaBox
    tanakaBox 2007/11/10
    GNUグローバルのチュートリアル。こんなに多機能だったのか・・・。
  • ユメのチカラ: コードを読むな、理解しろ

    コードを読まないで理解するというと何やら心眼で読めとかテレパシーを使えとか、そーゆー荒唐無稽な方向に走れという事ではなく大局的に理解しましょうという話である。 カーネル読書会のネタで今回はmallocのお話だったのだが、そこでRubyのささださんがいらっしゃっていて、GC(ごみ集め)と記憶域管理の関係について熱い議論が沸騰し、その後いろいろブログなどでフォローされていたりする。 わたしもRubyでmallocやGCがどう実装されているか興味があったのでoprofileで実行プロファイルをとってみたりした。日頃利用しているノートPCRubyのテストプログラム(test/runner.rb)を実行してoprofileしたのは先日ブログに書いたとおりである。 「それとわたしのノートPCではキャッシュミスを測定できないので、Xeonのマシンでキャッシュミスを測定すると面白いと思った。GCの時ぼろ

    tanakaBox
    tanakaBox 2007/11/10
    oprofileを使ったデバッグ。
  • __asm__ を試してみた - memologue

    g++でインラインアセンブラを使ってみることにした。g++ -S でアセンブリリストを見ることは多々あったが、思えば__asm__を自分で書いたことはなかったのでした。引数の "=r(ほげほげ..)" の意味など把握しなければならないことがたくさん。 書いてみた とりあえず書いてみました。以下自分用の備忘録です。 dWの記事や"GCCでインラインアセンブリを使用する方法と留意点等 for x86"などを参考にさせていただいた。あとGCCのマニュアル中の、"C の式をオペランドとするアセンブラ命令"(原文)も。 最初は出力パラメータの"=r"と"=m"の違いがよくわからなかったんだけど、gcc -S をしてみて納得。 int foo; __asm__("movl $1, %0;" : "=r"(foo)); の場合は、 #APP movl $1, %eax; #NO_APP movl %ea

    __asm__ を試してみた - memologue
    tanakaBox
    tanakaBox 2007/11/10
    インラインアセンブラやるときは逆アセンブルしたほうがわかりやすい。
  • アセンブラで遊ぶ時に便利なgdb設定 - memologue

    アセンブラで遊ぶ時に便利な ~/.gdbinit を紹介します。まず ~/.gdbinit を次のように記述してください。 # # ~/.gdbinit # # .so を shlib コマンドで手動で読み込む # set auto-solib-add 0 # スレッド生成時のSIG32でブレークしない handle SIG32 nostop # ニモニック構文の選択 # set disassembly-flavor intel set disassembly-flavor att # フラグレジスタの可読化関数 define pf printf "eflags: %s%s%s%s%s%s%s%s%s (= 0x%08u)\n",\ $eflags & 2048 ? "O":"-",\ $eflags & 1024 ? "D":"-",\ $eflags & 512 ? "I":"-",\

    アセンブラで遊ぶ時に便利なgdb設定 - memologue
    tanakaBox
    tanakaBox 2007/11/10
    gdbinitの設定例
  • hogetrace - 関数コールトレーサ - memologue

    でかいソフトウェアの、大量のソースコードを短時間で読む必要が生じたので、その補助ツールとしてptrace(2)ベースのLinux用関数トレーサを自作しました。こういうツール上でまずソフトウェアを実行してみて、どのファイルのどの関数がどういう順で呼ばれるか把握おけば、いきなりソースコードの山と格闘を始めるより楽かなーと思いまして。せっかく作ったので公開します。 http://binary.nahi.to/hogetrace/ straceはシステムコールだけ、ltraceは共有ライブラリ(DSO)の関数呼び出しだけ*1をトレースしますが、このツールは、実行バイナリ中の自作関数の呼び出しもトレースします。例えば再帰で1から10まで足し算するソースコードを用意して % cat recursion.c #include <stdio.h> int sum(int n) { return n ==

    hogetrace - 関数コールトレーサ - memologue
    tanakaBox
    tanakaBox 2007/11/10
    便利そう。ソース読む!!
  • algorithm

    奥村晴彦さんの「C言語による最新アルゴリズム事典」技術評論社、1991年、の C 言語プログラムの Ruby への翻訳に挑戦します。プログラムの説明は同書を読んでください。変換はできるだけ逐語的に行っています。プログラムの動作は原作の C プログラムのそれと比較してチェックしていますが、うまく動作しないときは C から Ruby への変換のさいに起きたものです。バグレポートは tnomura@mnet.ne.jp までお願いします。 この Ruby 翻訳版はできるだけレイアウトも含めて原作の C プログラムを変更しないようにしたため、必ずしもRuby らしいコーディングスタイルとは言えないかもしれませんが、プログラムがきちんと動作することを優先しました。C から Ruby への翻訳の著作権に関しては Ruby のライセンスに準じます。配布、改変は自由です。ただし、プログラム体には原作者の

    tanakaBox
    tanakaBox 2007/11/10
    Cアルゴリズム本をRubyに翻訳。気合いが凄いと思う。
  • あらゆるマルチメディアファイルを相互変換するフリーソフト「SUPER C」 - GIGAZINE

    使い方は簡単、変換したいファイルをドラッグ&ドロップして、コンテナ形式(iPod用とかPSP用とかAVIファイル用とかが用意されている)を選び、ビデオ形式とオーディオ形式を選ぶだけ。 変換できるビデオ形式は3gp/3g2、asf、avi(DivX・H263・H263+・H264・XviD・MPEG4・MSmpeg4など)、dat、fli/flc/flv(Flash)、mkv、mpg(MPEG1・MPEG2)、mov(H263・H263+・H264・MPEG4など)、mp4(H263・H263+・H264・MPEG4)、ogg、qt、rm/ram/rmvb(RealPlayer)、str(PlayStation)、swf(Flash)、ts(HDTV)、viv、vob、wmv。おまけでGIFアニメーション形式も可能。 また、変換できるオーディオ形式はac3、amr、mp2、mp3、mp4、m

    あらゆるマルチメディアファイルを相互変換するフリーソフト「SUPER C」 - GIGAZINE
    tanakaBox
    tanakaBox 2007/11/10
    使うことがあるかも。そういえば画像ファイルすら見てないな・・・。
  • troff.org — the Text Processor for Typesetters

    The Text Processor for Typesetters ‘The great strength of troff is the flexibility of the basic language and its programmability — it can be made to do almost any formatting task.’ — The UNIX Programming Environment, Brian W. Kernighan and Rob Pike. troff, and its GNU implementation groff, are programs that process a textual description of a document to produce typeset versions suitable for printi

    tanakaBox
    tanakaBox 2007/11/10
    やっぱりUNIX。案外凄い奴。
  • http://www.sip.eee.yamaguchi-u.ac.jp/kou/200507.html

    tanakaBox
    tanakaBox 2007/11/10
    コールグラフツールのまとめ。大量。