sqlite

[SQLite]CでSQLiteのユーザ定義関数を作る その1

SQLiteを使ったデータの統計処理なんかをしているとSQL側で処理できてしまうと楽なのになー、と思うケースがあったりする。 そういう時はSQLiteで使えるユーザ定義関数を作ってしまおう。 PHPやPythonで書く手段もあるようだけど、SQLite自体の仕組みを知るために...

C

[C]可変長引数の扱い。Cではどうするか?

可変長引数とオーバーロード その1 ではJavaで可変長引数を使う場合はメソッド呼び出しの都度、配列を生成するため、パフォーマンスに影響があるということを書いた。 でも、本質的にはJavaでは可変長引数も配列引数も同様の扱いだった。 なので、以下のように配列を可変長引数に渡...

linux

[linux]Linuxでキャッシュをクリアする

grepのようにファイルを読み込む処理の実行速度を計測するときに1つ気をつけなくちゃいけないことがある。 同じファイルに対する操作を2回、3回と続けるとファイルの内容がメモリにキャッシュされて1回目と比べて、処理が速くなることがあるからだ。 これはどちらの処理結果が正しいと...

linux unix

[unix]ファイル名しか受け付けないコマンドで標準入出力を使う方法

Unixでフィルタ的な動きをするコマンドはたいてい標準入力と標準出力を扱えるけど、独自に作成されたツールでコマンド引数にファイル名しか受け付けないようなものもある。 そんなコマンドに対して前段後段の処理を実施する場合は一時的にファイルを作ることが考えられるだろう。 でも、パイ...

Java

[Java]可変長引数とオーバーロード その2

可変長引数とオーバーロード その1 ではEnumSetのofメソッドに可変長引数と引数1〜5個までのオーバーロードがあるのを見た。 もう一つ、可変長引数で注意しなければいけないのは以下のようなケースだ。 java.io.PrintStream::printfメソッドのように...