2002-01-20 (Sun)
_ OPtMAN
行き付けの眼鏡屋さんが新しい店を出すために本店(?)を閉めるというので、 ワインとソムリエナイフ(780円のわりに結構かっこよかった)を持って行った。
やっぱりまた風邪がひどくなりました。
2005-01-20 (Thu)
_ 汚染状態の伝搬
分かってると思うけど、
汚染されている文字列や 汚染されている文字列を指しているオブジェクトから to_sとかinspectとかで生成される文字列は汚染される.
[雄也の?日坊主日記(2005-01-19)より引用]
というのは常に成り立つわけじゃないよね。
class Foo def initialize(s) @s = s end end f = Foo.new("abc".taint) s = f.to_s p s #=> "#<Foo:0xb7d5a778>" p s.tainted? #=> false s2 = f.inspect p s2 #=> "#<Foo:0xb7d5a778 @s=\"abc\">" p s2.tainted? #=> true
重要なのは、fが「汚染されている文字列を指している」かどうかではなくて、 to_sやinspectが汚染されている文字列を使うかどうか。 上の例だと、to_sには@sの値はまったく使用されないので、汚染が伝搬しない (する必要がない)。
2010-01-20 (Wed)
_ シェルスクリプトの引数を一部加工して他のコマンドに渡す
シェルスクリプトの引数を一部だけ加工して他のコマンドに渡すには、どうすればいいだろう。
たとえば、UTF-8でパターンを受け取り、EUCのファイルをgrepで検索し、結果をUTF-8で出力するようなシェルスクリプトeucgrepを作りたいとする。
bashだったら配列を使って以下のように書けるようだ。
#!/bin/bash declare -a options while expr "$1" : "^-" > /dev/null ; do options=("${options[@]}" "$1") shift done pattern=`echo $1 | nkf -Wexm0` shift grep "${options[@]}" $pattern "$@" | nkf -Ewxm0
POSIXの範囲で同じことを実現できるだろうか。
_ Developers Summit 2010
今年は、「C++0x、Ruby、ECMAScript5 言語の国際標準化について」というパネルディスカッションに参加させていただくことになった。
技術的な話が中心になると思うので、興味がある方はどうぞ。
2018-01-20 (Sat)
_ Viterbiのキー配列
試行錯誤の結果、いったん以下のキーマップに落ち着いた。
,----+----+----+----+----+----+----. |,----+----+----+----+----+----+----.
ESC ,GRV , 1 , 2 , 3 , 4 , 5 , | 6 , 7 , 8 , 9 , 0 ,MINS,EQL ,
|----+----+----+----+----+----+----| ||----+----+----+----+----+----+----|
HOME,TAB , Q , W , E , R , T , | Y , U , I , O , P ,LBRC,RBRC,
|----+----+----+----+----+----+----| ||----+----+----+----+----+----+----|
END ,LCTL, A , S , D , F , G , | H , J , K , L ,SCLN,QUOT,ENT ,
|----+----+----+----+----+----+----| ||----+----+----+----+----+----+----|
PGUP,LSFT, Z , X , C , V , B , | N , M ,COMM,DOT ,SLSH,BSLS,RSFT,
|----+----+----+----+----+----+----| ||----+----+----+----+----+----+----|
PGDN,DEL ,INS ,LALT,LGUI,LOWR,SPC , | BSPC,RASE,LEFT,DOWN, UP ,RGHT,RCTL
`----+----+----+----+----+----+----' |`----+----+----+----+----+----+----'
最初はTABの左にINS、LCTLの左にDELを入れていたが、ミスタイプした時のダメージが大きいのでHOMEとENDにした。
1段目(数字キーの段)は普通のキーボードよりかなり右寄りになるので、一つ左のキーを間違えて押してしまいがち。 1段目はT-Code専用にして、数字や記号はRaise/Lowerで入れるようにした方がいいかもしれない。
_ クッションゴム
ケースの底にナットとネジの先端が出っ張っていて机に傷が付きそうなので、セリアのDIYコーナーで購入したクッションゴムを付けておいた。 クッションゴムの厚みが3mmなのでちょうどよかった。
_ knu [POSIXの範囲だと配列は一本しかないのできついですね。 語彙が"$@", set -- ..., shift [N..]
_ shugo [なるほどー、evalですか。]