Just another Ruby porter,


8月下旬の日記 | RDF

2015-08-27 (Thu)

findでls -l相当

findでもできた。

% ls -l util-linux_2.25.2*
-rw-r--r-- 1 eban eban  308972 2015-08-05 10:38:42 util-linux_2.25.2-4ubuntu3.debian.tar.xz
-rw-r--r-- 1 eban eban    3563 2015-08-05 10:38:41 util-linux_2.25.2-4ubuntu3.dsc
-rw-r--r-- 1 eban eban 3703644 2014-10-27 18:39:03 util-linux_2.25.2.orig.tar.xz
% find util-linux_2.25.2* -printf "%M %n %u %g %7s %TY-%Tm-%Td %.8TT %p\n"
-rw-r--r-- 1 eban eban  308972 2015-08-05 10:38:42 util-linux_2.25.2-4ubuntu3.debian.tar.xz
-rw-r--r-- 1 eban eban    3563 2015-08-05 10:38:41 util-linux_2.25.2-4ubuntu3.dsc
-rw-r--r-- 1 eban eban 3703644 2014-10-27 18:39:03 util-linux_2.25.2.orig.tar.xz

いや形式にこだわらなければ-lsでいいんだけどね。

% find util-linux_2.25.2* -ls                                             
31069467  304 -rw-r--r--   1 eban     eban       308972 Aug  5 10:38 util-linux_2.25.2-4ubuntu3.debian.tar.xz
31069465    4 -rw-r--r--   1 eban     eban         3563 Aug  5 10:38 util-linux_2.25.2-4ubuntu3.dsc
31069466 3620 -rw-r--r--   1 eban     eban      3703644 Oct 27  2014 util-linux_2.25.2.orig.tar.xz

2015-08-26 (Wed)

statでls -l相当

stat --helpを見てたら部品は揃ってるようで簡単に実現できた。

% ls -l util-linux_2.25.2*
-rw-r--r-- 1 eban eban  308972 2015-08-05 10:38:42 util-linux_2.25.2-4ubuntu3.debian.tar.xz
-rw-r--r-- 1 eban eban    3563 2015-08-05 10:38:41 util-linux_2.25.2-4ubuntu3.dsc
-rw-r--r-- 1 eban eban 3703644 2014-10-27 18:39:03 util-linux_2.25.2.orig.tar.xz
% stat -c "%A %h %U %G %7s %.19y %n" util-linux_2.25.2*
-rw-r--r-- 1 eban eban  308972 2015-08-05 10:38:42 util-linux_2.25.2-4ubuntu3.debian.tar.xz
-rw-r--r-- 1 eban eban    3563 2015-08-05 10:38:41 util-linux_2.25.2-4ubuntu3.dsc
-rw-r--r-- 1 eban eban 3703644 2014-10-27 18:39:03 util-linux_2.25.2.orig.tar.xz

本当はサイズの文字列の長さを動的に求めないといけないが、結構いけるもんだな。

ああ、export TIME_STYLE="+%F %T"してあるのでちょっとずるしてる。


2015-08-25 (Tue)

amazonにcURLでアクセスすると高い確率で503になる

Pocketに登録するのにcURLでtitleを取ろうとして気づいた。
amazonにアクセスするとやたらと503になる。

% repeat 10 { curl -sL -w '%{http_code}\n' http://www.amazon.co.jp/dp/B00XVN1OSU/ -o /dev/null; sleep 1 }
503
200
503
200
200
503
200
503
503
503

全部503になるならあきらめもするが、
こんなHTTPステータスがランダムに返ってくるんじゃ、
200になるまで繰り返す処理をする人も出てくるわけで、
余計負荷が上がるだけだと思うんだけどねえ。
それはそれとしてブラウザからだとそんなことにはならないので、
試しに内容が空のUser-Agentをつけてみたらいけた。

% repeat 10 { curl -sL -w '%{http_code}\n' http://www.amazon.co.jp/dp/B00XVN1OSU/ -o /dev/null -A ''; sleep 1 }
200
200
200
200
200
200
200
200
200
200

wgetも同様なので-U ""が必要。


2015-08-24 (Mon)

convertでスケッチ状に

-sketchはかすれさせるためじゃなくて、
その名の通りスケッチっぽくする効果なので、
ちょっとその例を紹介。

% convert bakeneko-2015-orig.png -type grayscale -sketch 10x10+30x0 bakeneko-2015-sketch.png

当然ではあるが、サイズはでかくなる。


2015-08-23 (Sun)

AWS Lambda functionでcontext.doneを呼んだからってすぐ終了するわけではない

エラー処理してcontext.doneなりcontext.failを呼べば、
なんとかく終了するような気がするが、
実際は処理が続行し思わぬ挙動になる。
たとえば

if (err) {
  console.log("Error");
  context.fail("");
}
console.log("Success");

のように書いてしまうとSuccessと表示される。
elseで囲むかif文の中でreturnする必要あり。
終わると思い込んでいると中々このバグに気づかない。


8月下旬の日記 | RDF


WWW を検索 jarp.does.notwork.org を検索

わたなべひろふみ
Key fingerprint = C456 1350 085F A320 C6C8 8A36 0F15 9B2E EB12 3885
Valid HTML 4.01!