プログラミング

EmacsでC++のnamespaceを挿入する.

他にもっと良い方法があるのかもしれませんが,EmacsでC++のnamespaceを挿入するelispを書いてみたら中々良かったので,誰かの役に立つかもしれないし載せておきます. (defun insert-namespace (name) "Insert namespace" (interactive "sname : ") (insert…

Protocol Buffersで大きなモデルを読み込む

最近,モデルの読み書きには Protocol Buffersを使っている.複雑な構造を持つデータを扱ってそれを読み書きするようなプログラムを書くときに一番ダルいI/Oを書かなくて済むのと,バイナリで保存してくれるので記憶容量も少なくて済むところが良い.普通に…

デバッグはかっこ悪い,テストはクールだというけれど

最近,プログラミングにおいては,テストを書いて,そのテストを通るコードを書いていくことで開発を進めていく”てすとどりぶんでべろっぷめんと”というのが流行っているらしい.僕も流行りに乗ってTDDしたいのだが,どうやったら良いかわからない.というの…

boostのiostreamsを使ってgzipされたファイルを開く

以前,C++でプロセスをPstreamsを使って開く方法について日記を書いたが,PstreamsはGPLなので,自分のソフトを修正BSDで公開したい場合には色々と面倒なのかなと思っており(全然問題ないのかもだが),常々他の方法,特に標準ライブラリ(もしくはそれに近…

Mercurialで管理してるデータをWebで公開する

Mercurialでは,CGIを使ってリポジトリを簡単にWebで公開できる.ということで,研究室内部からだけ見れるところで試しに公開してみた.方法はMercurialのWikiに書いてありました.簡単には,ココのページに書いてある方法でできます.自分もできました.た…

Mercurial良い

久しぶりにブログでも書いてみる.以下だらだらと本当に駄文なので注意.ただのストレス発散です.. そうだ,バージョン管理しよう 2ヶ月くらい前にhomeが壊れた時に,最近開発している音声認識エンジンのバージョン管理をするのに使用していたCVSのリポジ…

C/C++でマイク入力

waveファイルをプログラムで扱う方法は結構簡単に調べられるが,マイクからデータを取得する方法はあんまり情報がない.音声認識プログラムをOnlineで動かすためにマイクからの音声入力を行う必要があったので,ネットで頑張って調べた.結論だけ言うと,Uni…

reallocにやられた

割り当てたメモリ領域のサイズを変更することができるreallocでやられた.reallocでは,再割り当てするメモリ領域のサイズが従来のサイズよりも小さい場合にはメモリ位置は変化しないと思い込んでいたが,いかなる場合でもメモリ位置が変化することがあるよ…

継承ってすばらしい

継承って素晴らしい,仮想関数美しい異なったフォーマットのデータを読み込むときに継承を使うとプログラムが綺麗に書ける 最近は専ら音声認識プログラムを作成していてブログに書くネタがない↑のプログラムの方はどんどん完成度が上がってきて,ある程度精…

コンテナで苦戦

C++のコンテナで苦戦コンテナを入れ子にしたらよくわからんエラーが発生してバグが取りきれずクマったきっと簡単な間違いに違いないが,眠いから明日にしようvector > > - 解決した残念なくらい簡単なミスだった

C++でプロセスを開く

前回のエントリでpopenで開いたプロセスをistreamから読む方法をメモったが,新しいクラスを定義しているわけでもなんでもないので,pcloseをうまく呼ぶ方法がわからず苦戦していた色々調べていたら,前回試してみてダメだったPstreamsでうまくできたので,…

C++でpopenで開いたプロセスをistreamから読む

C++でpopenで開いたプロセスをistreamから読み込む方法でかなり手こずったのでメモ圧縮ファイルをgunzipなどで解凍してから受け取りたい場合など,他のプロセスの実効結果を受け取りたいたいことが多々ありますCでは,fopenもpopenもFILE構造体へのポインタ…

実装力

私は愛知県の某大学で音声言語処理関係の研究室に所属して,日々研究に勤しんでいる研究をしていていると,情報系の研究をする上では(アルゴリズムの)実装力というものが非常に重要であると感じることが多い今までは,プログラミングの技術自体をそんなに…

C++

C++は奥が深いなぁCが出来ればすぐ書けるのかと思っていたけれど,そう単純でもないね..たとえ書けてもCとC++では作法が違う様な印象を受けるただ,オブジェクトを使って書くとCと比べて格段に書き易いし読み易いので,ちゃんと勉強して使いこなせるように…