2016-01-01から1年間の記事一覧

Cythonによるパフォーマンス向上

Cython ―Cとの融合によるPythonの高速化作者: Kurt W. Smith,中田秀基,長尾高弘出版社/メーカー: オライリージャパン発売日: 2015/06/19メディア: 大型本この商品を含むブログ (3件) を見る Pythonのような書きやすいインタープリタ型言語で書き始めて結果を…

Pythonの正規表現でバックスラッシュを含む文字列とマッチする場合

Pythonのreモジュールでsearchなどの関数に正規表現を与える場合、rubyやperlなどのように正規表現を直接与えることができず、文字列として与える必要があるため、WindowsのPath区切りにマッチさせたいときなどに正規表現内にバックスラッシュを使いたい場合…

stroll(nicer walk)のC++バージョンを書いた

ディレクトリを幅優先探索で掘っていき、ディレクトリやファイルに対する条件を適用し、それらを与えた条件(関数)によってソートし、見つけたファイルパスを返すライブラリを書いた。ちょうどPythonのos.walkを高機能にしたもので、所望のファイルだけを取…

os.walkを便利に使える関数strollを書いた

リスト指定と正規表現マッチに対応し、ディレクトリパスとファイル名を返すようにして、関数名をnicewalkからstroll*1に変更(短い単語の方が良かった) ディレクトリの扱いを明確化。rootはカレントディレクトリのディレクトリ名で、pathはカレントディレク…

OpenCV入門

Max OS X(10.10.5)でOpenCVに入門してみた。写真はtoeさんです。 導入はbrewで簡単にインストールできるし、インクルード検索パスやライブラリ検索パスもpkg-configで簡単に指定できる。 ネガポジ反転は、~演算子(ビット反転・1の補数)を実行するだけで取…

Pythonのpickleでserializeできない問題の回避策(dill)

読み込んだデータをシリアライズしておきたい場合、pickleを使えば任意のクラスのオブジェクトを扱える。ファイルを開いて、dumpで書き出し、loadで読み出しを行えば良い。しかし、ある構造を持つクラスのオブジェクトをpickleでシリアライズしようとすると…

Pythonで統計処理した結果を表示する場合の便利関数を書いた

全てのキーの組み合わせが無い場合でも、defaultdictの初期値を用いて表を完成させるように修正。 pandasのMultiIndexを使って表示する処理を追記。 統計処理ではネストされた辞書(dict)が多用することで、比較的簡単に所望の複合キーに対応する値を取得し…

ファイルの最後の方に出現する行を取得する

大量のファイル、しかもサイズの大きいものを読み込んで、ある特定の小数の行だけを取り出したいような場合で、その特定の行がいつもファイルの最後に近い位置に出現することが期待できる場合、ファイルを先頭から読み込んで行って、特定の行に達するまで読…

セーブ機能を追加しました@transatonce.appspot.com

transatonce 単語を翻訳するとき、こういった要求を満たせるサイトがあると良いと思って作っているものです。 いくつかの単語を一度に翻訳したい(英文の記事や論文を読み終わったあとでメモしておいた単語を at once に翻訳したい) それらを一つのページで…

Valgrind で Pthread の Debug

OS X Yosemite (10.10.5) でC(GNU99)でpthreadを用いたマルチスレッドプログラムを書いていて、なかなかerrorが取れなかったときに以下ツイートを起点にした議論を見て、ValgrindのHelgrind toolが使えそうということで使ってみた。 pthread_create に渡した…