タグ

ブックマーク / songmu.jp (24)

  • 持続可能で幸せなOSS開発 ~ YAPC::Kyotoを終えて | おそらくはそれさえも平凡な日々

    もうだいぶ前になってしまいましたが、3月に京都でYAPC::Kyotoに参加してきました。 YAPC::Kyotoは運営の皆さま、当にお疲れ様でした。コロナ渦で運営の継続には色々苦労があったかと思います。そんな中、世間的にコロナ明けの雰囲気になってきている中、ちょうど先陣を切るような形でオフラインイベントが開催できて、大きな盛り上がりを見せたのは、皆様の苦労が報われたようにも思いました。旧交も温められたし、それだけではなく、学生支援制度などのお陰で、若い人も参加していて交流が盛り上がってよかったです。 思えば、2019年のYAPC::Tokyoのときに僕がベストトーク賞を受賞した勢いで、懇親会の最後にで胴上げされた後に、無責任に「次は京都でやるぞ!」と、勝手に宣言したのが実現した形でした。JPAにも禄に関わっていないのに(当時は一応末席で参加することもあった)。とはいえ、懇親会で @__

    持続可能で幸せなOSS開発 ~ YAPC::Kyotoを終えて | おそらくはそれさえも平凡な日々
    kfly8
    kfly8 2023/05/08
  • YAPC::Japan::Onlineのキーノートで「変化し続けるキャリアと変わらない原体験」という話をしました | おそらくはそれさえも平凡な日々

    少し前なのですが、光栄なことにYAPC::Japan::Onlineでキーノートを担当させてもらい「変化し続けるキャリアと変わらない原体験」というタイトルでお話をさせてもらってきました。資料は単体としては粗があるのですが公開してしまいます。 https://junkyard.song.mu/slides/yapc-japan-online-2022/#0 自分のキャリアや行動原理を見直す良い機会にもなり、良い機会をいただけてありがたく思っています。ブラッシュアップして少し別の角度から別のイベントでお話したり、文章に起こしたりできると良いな、とも思っています。 ちなみに、開催数日前にブースターショットを打っていたにも関わらず、その直後にコロナに罹って寝込んでしまい、その関係もあってずるずると公開が伸びてしまいました。 今回はオンライン開催で、Discordの使い方など工夫が見られてよかったで

    YAPC::Japan::Onlineのキーノートで「変化し続けるキャリアと変わらない原体験」という話をしました | おそらくはそれさえも平凡な日々
    kfly8
    kfly8 2022/04/30
    キーノートありがとうございました!!!
  • Devel::KYTProfが大幅にパワーアップしたぞ! | おそらくはそれさえも平凡な日々

    ということで、Devel::KYTProf 0.9991をリリースしました。 https://metacpan.org/pod/Devel::KYTProf YAPC::Tokyoのfujiwaraさんの「Perlでも分散トレーシングしたい」というトークでDevel::KYTProfに褒められが発生していて、AWS X-Rayという現代のテクノロジーでDevel::KYTProfがパワーアップして華麗に復活するの面白いなーとか思ったので、ちょっと古かった点とかissueとかをカンファレンス駆動で一気に直した。やっぱカンファレンス翌日のhack day欲しくなりますね。 そこから少し間が空いてしまったのですが、onishiさんにコラボとcomaint付けてもらってリリースした次第。以下変更点など。 DBI Profilerを改善 https://github.com/onishi/perl5

    Devel::KYTProfが大幅にパワーアップしたぞ! | おそらくはそれさえも平凡な日々
    kfly8
    kfly8 2019/03/26
  • YAPC::Tokyo 2019で報恩謝徳の話をしてベストスピーカーを頂きました | おそらくはそれさえも平凡な日々

    https://junkyard.song.mu/slides/yapc-tokyo-2019/#0 「技術力が無い人間がエモに逃げてはいけない」という個人的ポリシーを持っていて、あまりエモい話は登壇ではしないようにしてきたんだけど、今回は「報恩謝徳」がテーマということで、思いっきりエモい話をしてやろうということで申し込んだ。このテーマならベストスピーカー狙えるだろうとも思っていました。 しかし、トーク採択していただいたものの、実は40分のところを20分にしてくれないかという打診があり承諾していました。僕は比較的運営から近い位置にいるのでそういう打診をしやすかったのかも知れず、そういう相談をしてもらえるのは嬉しいし、登壇者が増えるのも良いことだとも思い快諾しました。 とは言え20分にまとめるのは難儀でした。登壇は多少は慣れているつもりですが、今回はかなり難産で、資料作りに苦労しました。 プ

    YAPC::Tokyo 2019で報恩謝徳の話をしてベストスピーカーを頂きました | おそらくはそれさえも平凡な日々
    kfly8
    kfly8 2019/02/25
    20分のお願いをし、songmuさんをこんなに苦悩させたのは、わたしです。ベストスピーカーおめでとうございます!
  • オライリーの「入門 監視」の付録Cを執筆しました | おそらくはそれさえも平凡な日々

    入門 監視 ―モダンなモニタリングのためのデザインパターン このはPractical Monitoringの邦訳です。原著は持っており、良いだと思っていたので、翻訳者の松浦さんが邦訳されている話を聞いたときには嬉しく思いましたし、そこで付録を執筆して欲しいという依頼もいただき、身に余る話でしたが、引き受けさせてもらいました。 そして「実践 監視SaaS」と言う内容を付録Cとして20ページほど書かせていただきました。原著が監視SaaSの活用を推奨してはいるのですが、内容的にはツールに偏らない、概念的で中立的なであるため、監視SaaS活用に関してはもう少し具体的、実践的な話を補強して欲しいというオーダーを受け、書いたものです。 私は、Mackerel という監視SaaSのプロダクトマネージャーを務めており、それもあって依頼を頂いた形ですが、逆に、原著の中立的な良さを損なわないように公平さ

    kfly8
    kfly8 2019/01/07
  • YAPC::Tokyo 2019で「多くのCPAN Authorに育てられ、息をするようにCPANモジュールを書けるようになり、そして分かったこと」というトークをします | おそらくはそれさえも平凡な日々

    YAPC::Tokyo 2019で「多くのCPAN Authorに育てられ、息をするようにCPANモジュールを書けるようになり、そして分かったこと」というトークをします https://yapcjapan.org/2019tokyo/ プロポーザル通ったので、テーマの「報恩謝徳」に即した、タイトルの通りのトークをさせてもらえることになりました。LT、キーノートの直前のメインホールでのセッションなので、キーノートの席確保がてらでも良いので、是非お越しください。あまりコードもでてこないのでカンファレンス終盤の疲れた頭にはちょうどよいトークになると思います. https://yapcjapan.org/2019tokyo/timetable.html#/detail/15 内容は上記にも書いてあるとおりですが、僕自身Perlコミュニティーのおかげで一人前のプログラマーになれたという思いがあるので

    YAPC::Tokyo 2019で「多くのCPAN Authorに育てられ、息をするようにCPANモジュールを書けるようになり、そして分かったこと」というトークをします | おそらくはそれさえも平凡な日々
    kfly8
    kfly8 2019/01/04
  • Test::mysqld 0.20をリリースしました | おそらくはそれさえも平凡な日々

    この記事は、Perl5 Advent Calendar 2016 の16日目の記事の穴埋めということにしました。 https://metacpan.org/release/SONGMU/Test-mysqld-0.20 YAPC::Hokkaidoでkazuhoさんにコラボに加えてもらったので諸々調整してリリースしました。大きな機能差分は以下のとおりです。 MySQL5.7.6以降対応 複数のMySQLプロセスを同時に立てられるように(start_mysqlds) start_mysqlds 対応が入ったことに併せて、App::Prove::Plugin::MySQLPool 0.06がリリースされています。これに伴いテスト起動時に直列で複数プロセスを起動していたのが、並列で起動するようになり高速化が望まれます。 お試しください。 MySQL5.7.6対応は、Goの方はhttps://gi

    Test::mysqld 0.20をリリースしました | おそらくはそれさえも平凡な日々
    kfly8
    kfly8 2016/12/21
  • Redisアプリケーションパターン | おそらくはそれさえも平凡な日々

    この記事は、はてなエンジニアアドベントカレンダー2016の12日目の記事です。 先日こういうツイートをしました。 Redisはキャッシュ用途のミドルウェアだと思わない方が良いと思う — songmu (@songmu) 2016年12月10日 言いたかったのは、Redisはキャッシュのためだけのミドルウェアだと誤解されがちなのですが実際はそうではないということです。実際、公式サイト を見に行くと以下の様なことが書かれています。 Redis is an open source (BSD licensed), in-memory data structure store, used as a database, cache and message broker. つまり、Redisは多彩なデータ構造を保持できるインメモリーのデータストアで、様々な活用法があり、キャッシュとして「も」使える、とい

    Redisアプリケーションパターン | おそらくはそれさえも平凡な日々
    kfly8
    kfly8 2016/12/14
  • ログからJSONぽい部分を検出して綺麗に出力してくれるやつ書いた | おそらくはそれさえも平凡な日々

    https://github.com/Songmu/App-LJ ljというツールを書いた。標準入力を読んでJSONぽい文字列が含まれていたら色付きで綺麗に出してくれる。こんな感じ。 fluentdでstdoutで出したログとか、アプリケーションから雑にJSONで吐いたログを眺めるときとかに便利。 % cpanm App::LJ で入りますが、fatpackした単一ファイルも作ってあるので、以下のようにしても使えます。 % curl -L https://raw.githubusercontent.com/Songmu/App-LJ/master/lj > /usr/local/bin/lj; chmod +x /usr/local/bin/lj fatpackは @ks0608 さんのApp::Fatpack::Simpleを使った。便利。CPANにあげて欲しい。 実装だいぶ雑なので、だ

    ログからJSONぽい部分を検出して綺麗に出力してくれるやつ書いた | おそらくはそれさえも平凡な日々
    kfly8
    kfly8 2015/02/04
  • プレゼンツールをスマホ対応した | おそらくはそれさえも平凡な日々

    長らく色々言われてきたオレオレプレゼンツールを雑にスマホ対応した。スワイプでページ切り替えられるようにしたつもりだけどiPhoneでしか確認してない。 更に勢い余ってWebSocketでつないでスライドをiPhoneから操作できるようにした。WebSocketサーバー側は雑にPerlで書いた。これは元々やりたいと思ってた。Webとブラウザ技術だけでこういうのが手軽に作れるの大分アツい。 次にどこかでプレゼンするのが楽しみになっている。

    プレゼンツールをスマホ対応した | おそらくはそれさえも平凡な日々
    kfly8
    kfly8 2015/01/20
  • ソースコード以外もとにかくテストする。もしくはカバレッジだけではダメだという話 | おそらくはそれさえも平凡な日々

    あなたはプロジェクトのソースコードに対して適切にCIを回しているかもしれません。定期的にコードカバレッジの測定も行い、90%以上もしくは100%の数字を出しているかもしれません。 しかし果たしてそれで十分でしょうか?もしくはコードカバレッジだけにとらわれすぎていないでしょうか? 監視とは(システムに対する)継続的なテストである、というのは筆者の尊敬する奥一穂氏の言葉ですが、その逆もしかりで 「テストとはプロジェクトに対する継続的な監視である」 ということも言えます。 その観点に立ってみると、プロジェクトのソースコード以外にもテストが必要なものがたくさんあることに気づくでしょう。以下に実際に筆者が自分のプロジェクトの中でソースコード以外にテストを書き、CIを回していたものを挙げてみます。 アプリケーション設定ファイルのテスト 開発中に番用の設定ファイルを使うことはないため、番用の設定ファ

    ソースコード以外もとにかくテストする。もしくはカバレッジだけではダメだという話 | おそらくはそれさえも平凡な日々
    kfly8
    kfly8 2014/12/25
  • Perl ORM ベンチマーク2014 | おそらくはそれさえも平凡な日々

    この記事はPerlアドベントカレンダー2014の記事ではありません。 nihenさんのやつをベースに改変しました。 DBIx::Sunnyを加えてみた。DBIx::Sunny::Schemaという隠れた便利機能を使ってみた Skinnyは外そうかと思ったけどちょっと驚きの事実があったので残した https://gist.github.com/Songmu/989f10b2525523914de8 DBI: 1.631 DBIx::Class: 0.082810 DBIx::Skinny: 0.0742 Teng: 0.26 DBIx::Sunny: 0.22 --- insert --- Rate dbic teng skinny sunny dbi dbic 2983/s -- -16% -72% -78% -92% teng 3565/s 19% -- -67% -73% -91% s

    Perl ORM ベンチマーク2014 | おそらくはそれさえも平凡な日々
    kfly8
    kfly8 2014/12/25
  • 色々登壇した | おそらくはそれさえも平凡な日々

    Niigata.pm以外にも今月は色々登壇してた。 Go Conference 2014 autumn 発表資料:mackerel-agent徹底解説 Perl以外の界隈で発表するのは久しぶりのことで、しかも300人とかの前で話すとは思ってなかったのでちょっとビビっていたがなんとか終わってよかった。ちなみに、この日に解説したソースコード部分はその後大きく変更して、原型をほとんどとどめておりません。 この日はRob Pikeのトークがとにかく良くて、 自然言語が思想に影響をおよぼすようにプログラミング言語もプログラマの思想に影響を及ぼすのではないか Golangは他の言語のように機能の多さで勝負して疲弊するのではなくて、機能の少なさで勝負している Golang自体を単純なものにするために裏側では複雑なことをしている と言ったようなことが印象に残っています。 Hatena Engineer S

    色々登壇した | おそらくはそれさえも平凡な日々
    kfly8
    kfly8 2014/12/23
    すごい!
  • おそらくはそれさえも平凡な日々: CPANで意図しない名前空間の取得を防ぐために

    だいたいこのへんで教えてもらった話のまとめです。 http://lingr.com/room/perl_jp/archives/2013/04/03 CPANで名前空間を取るのは簡単です。今ならCPANに上げるコードベースの「どこか」に package Hoge; と書けば、CPAN Indexerにインデックスされていとも簡単にHoge名前空間のオーナーになれます。 (執筆時現在Hogeのオーナーはいません) これはlib/以下の.pmファイルやファイル先頭のpackage宣言だけに限った話ではありません。 例えば、example/MyApp.pmとかも対象です。 ちなみに誰がどの名前空間を持っているかは以下を見ることでわかります。 http://www.cpan.org/modules/02packages.details.txt 多くの場合この挙動に困ることはありませんが、以下の様な

    kfly8
    kfly8 2014/12/12
  • 最近のPerlのExporter事情とかExporter::Liteとか | おそらくはそれさえも平凡な日々

    結論 use Exporter 'import' で充分 説明 今のはてなでは割と標準的にExporter::Liteが使われている。Liteの方があんま余計なことしないからとは聞いてはいたが、それで依存増やすのもどうなのかなーとか思っていたので個人的にはこれまでExporterしか使ってなかった。Exporterは標準モジュールだし。Exporterにしてもuse parent 'Exporter'なのかuse Exporter 'import'なのかという流儀の違いがあって、個人的にはuse parent 'Exporter'を使っていた。その辺りについて再考した。 ExporterかExporter::Liteか もうあまりExporter::Liteを使う理由はないように感じる。 Exporterの最近のソースを読むと、かなりシンプルになっていることがわかる。 Exporterの複

    最近のPerlのExporter事情とかExporter::Liteとか | おそらくはそれさえも平凡な日々
    kfly8
    kfly8 2014/11/23
  • おそらくはそれさえも平凡な日々: Plack::Middlewareで$envの中身を見るテストを書く方法

    Plack::Middlewareの中で $env->{'psgix.hoge'} 的な何かを突っ込むことはあるん じゃないかと思うが、そのテストをどう書くかという話。 Plack::Testだとレスポンスは見られるが、$envはもう見られない。 結論を言ってしまうと、$envをシリアライズして、response bodyに突っ込んでしまう $appを作るのが乱暴かつお手軽かと思う。 以下サンプルコード。 package Plack::Middleware::Hoge; use strict; use warnings; use parent 'Plack::Middleware'; sub call { my ($self, $env) = @_; $env->{'psgix.hoge'} = 'fuga'; $self->app->($env); } このMiddlewareをテストす

    kfly8
    kfly8 2014/11/17
  • Perlベストプラクティスのベストプラクティスじゃないやつをまとめてみた | おそらくはそれさえも平凡な日々

    Perlベストプラクティス Perlベストプラクティス(略してPBP)という良いがあります。僕自身もPerlを学ぶ過程で非常にお世話になったなのですが、以下の様なことが度々指摘されています。 bestって書いてあるけど「著者の」bestプラクティスなので偏りがあることも 「決して」とか「必ず」とかが多いけどあんま真に受けてはいけない このを書くために書かれたであろうCPANモジュールとかがあって、しかも公開されてないものまである 致し方ないけど現在の状況にマッチしない古い情報もある なので、PBPの何がベストじゃないのかについてまとめてみることにした。前からやりたかったんだけど、思い立ってやった。 まとめてみたら、思っていたほどには項目が上がってこなかったので、やっぱPBPは良いだなと改めて思いました。なので、このエントリーがこれからPBPを読む人の助けになれば良いなと思います。

    kfly8
    kfly8 2014/07/24
  • おそらくはそれさえも平凡な日々: #isucon2 で連覇させてもらってきました

    主催の皆様素晴らしいイベントの提供当にありがとうございました。 まさかの2連覇ですが、@fujiwaraの恐ろしさを再認識するとともに、@typesterのチート性能を見せつけられた感があります。 まずは個人的な反省点から 去年よりかは大分成長しているつもりだったのに、@fujiwaraとの力関係が何もかわっていなかったことに衝撃 @typester(Redis期)がRedis使ってくることはわかっていたのに、競技中に brew install redisとかやってるのはダサすぎ ということで、isucon2を振り返ります。 事前準備 事前にIRCチャンネルを作っておいてnopate botを呼んでおいたくらい。カヤックから別チームも出ていたので、お互いのチャンネルには入らないという紳士協定。 去年の経験から、revサーバーに直接gitリポジトリを作れれば捗ることは分かっていたので、その

  • YAPC::Asia Tokyo 2014 に「Perl」のトークを応募しています | おそらくはそれさえも平凡な日々

    http://yapcasia.org/2014/talk/show/e10a7e62-01ba-11e4-b7e8-e4a96aeab6a4 今年のYAPCPerl以外の言語に関するトークが多く応募されています。それ自体は多様性の観点から悪いことではないし、Perlを触っている側からしても、Perlと比較しながら他言語について知ることができるのは有意義だと感じています。 ただ、これはPerlを共通言語として他言語を理解しようという流れだと思います。つまり、Perlというコンテキストが共有されていることが前提になっているのです。 翻って、今年のYAPC::Asiaの様相を見てみると、実はそんな「コンテキスト」なんて共有されてないのではないかと感じられます。 今年のYAPCPerlを使っていない人もたくさん来場されそうだし、それに、YAPCに来る大半のPerl初級者・中級者にとって、日々

    YAPC::Asia Tokyo 2014 に「Perl」のトークを応募しています | おそらくはそれさえも平凡な日々
  • Gearman便利だよGearman | おそらくはそれさえも平凡な日々

    https://metacpan.org/release/Gearman-Starter https://github.com/tokuhirom/gearman-starter.pl だいぶ色々今更感あってアレなのですが、tokuhiromが書いてkazeburoさんやnihenさんが手を入れたりしていたgearman-starter.plを整えて、CPANに上げるなどしていた。なんか以下の様な具合で色々forkされていつつもfork先がfork-safeじゃなかったりとかしたので、その辺の対応を一にまとめて、モジュール形式にしてテスト書いて上げるなどした。 http://blog.64p.org/entry/20100201/1264989237 http://blog.64p.org/entry/20100705/1278324297 http://blog.nomadscafe.

    Gearman便利だよGearman | おそらくはそれさえも平凡な日々
    kfly8
    kfly8 2014/06/07