Perl

YAPC::Kyotoに参加してきた - 自分の原点を思い出すカンファレンス

3/19(日)開催のYAPC::Kyoto 2023にオフラインで参加してきた。最後にYAPCに参加したのはYAPC::Asia 2015なので、8年ぶりのYAPCだった。自分が登壇しないテックカンファレンスにオフライン参加すること自体がこれまでにほとんどなく、カンファレンスの醍醐…

Perlはもう古い、これからはDocker

本記事の内容はWEB+DB Vol.88 Perl Hackers Hub 第34回 に「DockerによるPerlのWebアプリケーション開発」という記事にまとめなおしていますのでそちらをご覧ください。 「Perl Hackers Hub」では、「DockerによるPerlのWebアプリケーション開発」と題して@y…

とにかくややこしいことをしない ORM がほしくて Coteng とかいうCPANモジュールを作った

名前の通り、Teng::Lite みたいなモジュールを作った。 Teng::Lite でも良かったけど、なんとなくそれっぽい名前が思い浮かんだのでそれにした。 ORM というよりはやや重めのDBIラッパーかもしれない。 Coteng-0.07 - Lightweight Teng - metacpan.org - Per…

YAPC::Asia 2013ではてなのサーバ管理ツールの話のはなしをしました

YAPC::Asia 2013で"はてなのサーバ管理ツールの話"というはなしをします - ゆううきブログ YAPC::Asia Tokyo 2013で、アルバイトで開発してたサーバ管理ツールのはなしをしました。 前半がサーバ管理ツールの開発思想で、後半がサーバメトリクス可視化の実装…

TCP 3-way handshakeのレイテンシ軽減のためのTCP_DEFER_ACCEPTソケットオプション

2013/10/22 追記した. Starletのコード読んでてlistening socketにTCP_DEFER_ACCEPTとかいうオプション渡してたので、これ何だって思って調べた. TCPに特に詳しいわけではないので理解に誤りがあるかもしれない. package Starlet::Server; ... # set defe…

Test::Classのテストメソッド内でsubtestを使うときに起こる問題の原因と対策

id:nobuokaさんがこういう感じの問題に直面していたので調査してみた。 Test::Class と subtest を組み合わせた場合に、とあるテストメソッドの subtest 内で例外が発生してしまうと、それ以降の別のテストメソッドの subtest も全部失敗してしまうっぽい? -…

Kyoto.pm 05で自作のサーバリソース可視化ツールのはなしをしました

nekokakさんを呼んで、7/13(土)にKyoto.pm 05 Tech Talkを開催します!!!!! - $shibayu36->blog; Kyoto.pm 05で自作のサーバリソース可視化ツールについて20分くらいしゃべりました。 簡単にいうと、既存のサーバリソース可視化ツールのサブシステムとし…

GrowthForecastでサーバルームの室温監視

研究室のサーバールームの空調が弱くて,40コアくらいある計算サーバにフルで仕事させると室温が上がって,全サーバが落ちるみたいな事例が去年あったらしいので,室温のグラフ化とアラートメール送信をやれみたいなタスクが降ってきた. そこで,サーバルー…

Kyoto.pm 04 Hackathonに参加しました

"Kyoto.pm 04 Hackathon"に参加しました. 畳部屋でかつ,人間をだめにするクッションの上で開発してました. とても快適でした. 作ったのはぼくの研究活動を快適にするための Net::Signaletというモジュールです. y-uuki/Net-Signalet · GitHub サーバク…

Kansai.pmでORMのパフォーマンスチェッカの構想についてLTしてきた

Kansai.pm #15に参加してきた. JPA派遣講師として来ていただいた@yusukebeさんの話が今回の目玉だった. BoketeのValidationの話聞いて,そういえばPerlのValidationを真面目に考えたことなかったなと思って,FormのValidationにはForm::Validator::Lite,M…

Plack::Middlewareの書き方

前回,Plack::Middleware書いたので,Plack::Middlewareの書き方をメモしておく. Plack::Middlewareモジュールに最低限必要なのは基本的に2つしかない. Plack::Middlewareを継承することcallメソッドを実装しておくだけ. callメソッドの返り値はPSGI形式…

Plack::Middleware::OAuth::Lite的なものを書いてる

TwitterとかGitHubユーザに対して自前のWebアプリケーションでOAuth認証するためのPlack::Middlewareを書いてる. 同様の動作をするモジュールとしてすでに Plack::Middleware::OAuth があったけど,Session周りでよくわからないエラーがでてよくわからなか…

Perl屋さんに便利なVim Pluginを2つ書いた

この記事は Vim Advent Calendar 2012 の22日目の記事です. 21日目は @AmaiSaeta さんの 「このVim plugin達に感謝しなければ年を越せない!私が今年使い倒した2012年のベストを全部ご紹介! 」 でした. 最近,Vim Scriptを書き始めていて, 今回は,Perl的…

Perlにおける括弧なし関数とその引数と||の結合強度

Perlで何気なく use File::Which qw(which); my $cmd = which "foobar" || croak "FAIELD"; とか書いてたら,which "foobar"の返り値はundefなのにも関わらず,croakに引っかからなかった. あれ?とか思ってたら単に,括弧なし関数の右からみた結合強度より…

AUTOLOADによる他クラスへのメソッドの委譲のテスト

最近,Net::Qiita http://search.cpan.org/~yuuki/Net-Qiita-0.03/lib/Net/Qiita.pm というモジュールを作った. そのモジュールの中で,Net::QiitaクラスのAUTOLOADで,Net::Qiita::Clientが持っているメソッドを動的に呼び出す(委譲するとかいうらしい)…

最近使ったPerlのテスト系モジュール

最近Perlを書いていて,便利なテスト系モジュールをいくつか使ったのでメモ. Test::Moreのsubtestメソッド Test::Mock::LWP::Conditional Test::MockObject::Extends Test::Exception Test::Mock::Guard Test::Moreのsubtestメソッド RSpecのitメソッドみた…

Kyoto.pm Tech Talk #02に参加してきた

id:shibayu36 さん主催のKyoto.pm Tech Talk #02に参加してきた. インターン終了から1年ぶりにはてなを訪れたことになる. 久々にはてなの社員の方々や今年度のインターン参加者の方々とお話ができてテンション上がった. (実はインターン以来Perl触ってな…