2015-02-18

golangのstack traceをファイルに保存

予期せぬエラーでプログラムが落ちたときのために
golangのstack traceをファイルに保存しておきたいが、
ググってもkernel32を使う方法が出てくることが多い。

下記方法で一応解決した。
import (
        "os"
        "runtime/debug"
)

defer func() {
        if r := recover(); r != nil {
                w, err := os.Create("debug.txt")
                if err != nil {
                        os.Exit(1)
                }
                os.Stderr = w
                debug.PrintStack()
        }
}()
// panicの起こる処理

2015-02-11

謝罪と感謝

日本社会は謝罪と感謝で回っている。

そして、本来感謝すべきところにも
謝罪があてがわれることが多い。

2015-02-09

:g/*/p

vimで条件にマッチする行だけ取り出すときに
:v/*/d
をした後にuで元に戻していたんだけど、
:g/*/p
で良いことに気づいた。

2015-02-03

エンジニアリング

予測を伴わないエンジニアリングはただのギャンブルに過ぎず、
確信を伴ったエンジニアリングはもはや宗教である。