技術

最初のコミットを読む

コードを読むときに最初にやるべきなのは、タグファイルの作成じゃなくて最初のコミットを展開することかもなあと思っている。 git だったら git checkout $(git log --max-parents=0 --pretty='%h') である。 想定しているのは、とりあえず読んでみるかとい…

Projectile で日本語ファイルも表示できるようにした

Windows 上の Projectile でファイルを検索するとき、ファイル名が日本語で書かれていると文字コードが合わなくてうまく表示できない。ファイル名は cp932 でエンコードされているので 、うまいこと cp932 として読み込ませるようなアドバイスを書いた。 た…

Parallels の仮想マシンにプロキシを設定した

ローカルにプロキシを設定したけど、Parallels の仮想マシンからはエロサイトが見える。こっちも防がないと片手落ちである。 共有ネットワークの場合、ホストマシンは 10.211.55.2 として見えるので、ゲストマシンのプロキシ設定に 10.211.55.2:3128 を設定…

getopts とやかましいモード

bash の getopts で、同一のオプションが指定されたときの振る舞いを確かめた。 たとえば rsync みたいに -v が重ねられるようだ。 #!/bin/bash VERBOSE="" while getopt v option; do case $option in v) VERBOSE="v${VERBOSE}" ;; esac done shift $(( OPT…

ファイルシステムにやさしく rsync する

rsync の I/O 優先度を下げてはみたけど、load average がやっぱり上がってしまう。 あるディレクトリのスキャン中に数字が上がるのに気づいたので、ls かけてみると全然反応がかえってこない。数えたらファイル数が 50,000 を超えていた。 ディレクトリの下…

「Unix という考え方」を読んで気になった expr コマンドのこと

60 ページのユーティリティリストに expr の紹介があった。 expr ある文字列から別の文字列の一部を抽出する expr ってコマンドライン計算機じゃなかったっけ? と思って man を見たら、: 演算子を使って、文字列の抽出ができると書いてある。 たとえば、 $ …

サーバにやさしく rsync する

社内の開発用サーバにデプロイするときに rsync すると、load average が上がって他の人に迷惑がかかっていた。 CPU 優先度と I/O 優先度を下げたほうがいいと思ったので、オプションに --rsync-path="ionice -c2 -n7 nice -n19 rsync" --bwlimit=4096 -e "s…