Bash Debugger Project(bashdb)を使うと、bashスクリプトにブレークポイントを設定したり変数を調べたりバックトレースしたり1行ずつ実行したりすることができる。bashdbは、C/C++デバッガー並みの技法でbashスクリプトをデバッグするツールだ。 インストールされているbashがbashdbをサポートしているかどうかは、次のコマンドを実行してみればわかる。下に示したbashdbのプロンプトが表示されなければ、bashdbをインストールする必要がある。 $ bash --debugger -c "set|grep -i dbg" ... bashdb<0> bashdbのパッケージはUbuntu Intrepidのリポジトリーにはあるが、openSUSE 11やFedora 9のリポジトリーにはない。試用マシンは64-bit Fedora 9マシンなので、通常の
はじめに 楽譜はソースコードというエントリを書いて以来、楽譜を使ったプログラミング言語という漠然とした考えが頭の片隅にあった。ModanShogiを見ていたら頭の片隅から開放したくなったので具体化した。 楽譜プログラミング言語Scorlang(Score language)。ジャンルとしてはビジュアル難解プログラミング言語*1になる。 Scorlangのプログラムは、楽譜のように見える図形で表現される。例えば、下の図は「Hello, world!」を出力するプログラムである。 言語仕様 最初に強調しておくが、Scorlangは音響プログラミング言語ではないので、音響信号を扱ったり音を入出力するための仕様は一切ない。扱えるデータは整数のみ、出力形式はテキストのみである。 ひとつのプログラムをシートと呼ぶ。シートは原則的に、音楽の楽譜と同じく左から右、上から下に向かって処理が描かれており、実行
今回は小ネタのmikioです。key/valueのレコードを高速に格納・参照・削除する仕組みが連想配列とかマップとか呼ばれて親しまれていますが、Tokyo Cabinetのオンメモリマップの性能をC++の各種実装と比較してみました。 以下の実装を対象として、100万レコードの格納と検索にかかる時間を計測します。キーと値は各8バイトの文字列とします。 Tokyo Cabientのオンメモリマップ(TCMAP) STL(C++の標準テンプレートライブラリ)のmapとmulti mapとset GNU拡張テンプレートのハッシュマップ Googleのdense hashおよびsparse hash テストコードはこちらに挙げておきます。具体的な操作としては、マップオブジェクトを生成し、バケット配列の要素数をレコード数と同じにチューニングし、ループを回してレコード群を格納します。なお、STLのマップ
gitの配布物に含まれる contrib/completion/git-completion.bash を . すると、gitのサブコマンドやそれに応じたオプション、加えて~/.gitconfigで自分用にaliasしたサブコマンドまで補完してくれるようになり、小学生もにっこりです。 同じく git-completion.bash の中で定義されてる関数 __git_ps1 を使ってシェルプロンプト($PS1)を設定すると、 #... if [ -r "$HOME/.bash_completion.d/git" ]; then # = git-completion.bash # boldにするエスケープシーケンスは省略してます PS1="${PS1}[\$(__git_ps1 \"%s)\")\w]\\$ " else PS1="${PS1}[\w]\\$ " fi #...こんなふうにg
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く