何を監視して良いかわからなくてもお手軽に監視開始。
監視ツール運用がしんどくなってきたあなたに。
はてなではこれまでほとんどのサービスをPerlで開発
表現力の高い静的型システム
最近のトピック
_人人人人人人_ > 突然のPerl! <  ̄^Y^Y^Y^Y^Y^ ̄
use strict;
use warnings;
foreach my $file (@ARGV) {
open my $in, '<', $file or die $!;
local $_ = do { local $/; scalar <$in> };
s/ (?:should|must) beSome(?:\[.*?\])?\.which( ?[\({].+[\)}])/.filter$1 shouldBe 'defined/g;
s/ (?:should|must) beSome(?:\[.*?\])?\.like/.fold(fail)/g;
s/ (?:should|must) beSome(?:\[.*?\])?\.which/.fold(fail)/g;
s/ (?:should|must) beSome\(/ shouldBe Some(/g;
s/ (?:should|must) beSome {/.fold(fail) {/g;
s/ (?:should|must) beSome/ shouldBe 'defined/g;
s/ (?:should|must) beEmpty/ shouldBe 'empty/g;
s/ (?:should|must) beNone/ shouldBe None/g;
s/ (?:should|must) beLeft\(/ shouldBe Left(/g;
s/ (?:should|must) beLeft\.like/.left.toOption.fold(fail)/g;
s/ (?:should|must) beLeft/ shouldBe 'left/g;
s/ (?:should|must) beRight\(/ shouldBe Right(/g;
s/ (?:should|must) beRight\.like/.right.toOption.fold(fail)/g;
s/ (?:should|must) beRight/ shouldBe 'right/g;
s/ (?:should|must) beTrue/ shouldBe true/g;
s/ (?:should|must) beFalse/ shouldBe false/g;
s/ (?:should|must) haveSize/ should have size/g;
s/ (?:should|must) beLike/ match/g; # XXX 雑
s/ (?:should|must) (beE|e)qualTo/ shouldBe /g;
s/ (?:should|must) haveLength/ should have length /g;
s/ be equalTo/ be/g;
s/ (?:must|should)_== / shouldBe /g;
s/ (?:must|should)_!= / should not be /g;
s/ (?:must|should) contain\(exactly\(/ should contain theSameElementsAs(Seq(/g;
s/ containTheSameElementsAs/ contain theSameElementsAs/g;
s/(.*) (?:must|should) throwA\[(.*?)\]\(message = (".*?")\)/the [$2] thrownBy { $1 } should have message $3/g;
s/ must / should /g;
s/(".*") should {/describe($1) {/g;
s/(".*") in {/it($1) {/g;
open my $out, '>', $file or die $!;
print $out $_;
}
nginx.connections.active 30 1415861653
Python製
はてなMackerelチームの開発フロー(スクラム、リモート)について話しました #nanapi_study #hatenatech
3拠点体制で在宅勤務も
こっそりとではなく会社としてもバックアップする