タグ

ブックマーク / blog.utgw.net (7)

  • YAPC::Kyoto 2023に参加した #yapcjapan - 私が歌川です

    久しぶりのオフライン開催であるYAPC::Kyoto 2023に参加しました。 前日祭見た 前日祭にも参加して、RejectConと東西対抗LTバトルを見ました。みんないい話をしていて、かつ、なんだかついにYAPCが始まったのだな、という感慨がありました。 その後のHelpfeelさん主催の飲み会では、席を詰めまくった結果dankogaiさんの隣に座っていろいろ話していておもしろい感じでした。 トークした 「prototype大全」というタイトルで発表しました。発表スライドはSpeakerDeckで公開しています。 speakerdeck.com 誰もPerlのprototypeに特化した話をしていないのでは? というのが発表のモチベーションでした。もはや業務ではPerlを書いていないのですが、Perlのこういう言語機能によって表現力が広まっている、というのを伝えたかったです。 一方で最近

    YAPC::Kyoto 2023に参加した #yapcjapan - 私が歌川です
    azumakuniyuki
    azumakuniyuki 2023/03/24
    歌川さんが見はったトーク全てのコメントがあって素晴らしい、後半のところは学生旅費支援のとても良い話。
  • 味玉のレシピをMakefileで記述する - 私が歌川です

    最近よく味玉を作っているのだけど、ジップロックに日付を記入し忘れたり、ボウルに水を入れてから氷を入れようとしたりしていて、手順の依存関係を意識しないとめちゃくちゃになる。 Makefileは依存関係と成果物を記述できるので、レシピをMakefileの形で書いたらおもしろいのでは、と思ったけど記述量が多い気がする。 .PHONY: お湯を湧かす 卵を茹でる 8分待つ ボウルに氷を入れる ボウルに水を入れる ボウルに卵を入れる 卵の殻を剥く ジップロックに日付を書く ジップロックにめんつゆを入れる ジップロックに卵を入れる 一晩寝かせる 味玉 お湯を湧かす: @echo お湯を湧かします 卵を茹でる: お湯を湧かす @echo 卵を茹でます 8分待つ: 卵を茹でる @echo 8分待ちます ボウルに氷を入れる: 8分待つ @echo ボウルに氷を入れます ボウルに水を入れる: ボウルに氷を入れ

    味玉のレシピをMakefileで記述する - 私が歌川です
  • perlcriticのポリシーの一覧を見れるようにしたい - 私が歌川です

    metacpanのAPIを使う作戦 (断念) metacpanにはAPIがあるので、これを活用できないか考えます。 curl 'https://fastapi.metacpan.org/v1/module/_search?q=distribution:Perl-Critic&size=5000' というコマンドを実行することで、metacpanからPerl-Criticディストリビューションに含まれるモジュールの一覧を取得できます。pod というフィールドが含まれているのでこれが使えそうです。 が、この pod フィールドには、連続する空白文字をスペースに変換したPODの文字列が含まれています*1。テキストエディタの拡張機能などから使うぶんにはこれでもよいかもしれませんが、一覧として見るにはちょっと使いづらそうです。 手元にインストールしたモジュールのPODを抽出する作戦 metacpan

    perlcriticのポリシーの一覧を見れるようにしたい - 私が歌川です
  • WEB+DB PRESS Vol.123『Perl Hackers Hub』に寄稿した #wdpress - 私が歌川です

    WEB+DB PRESS Vol.123 (2021/6/24 (明日!) 発売) のPerl Hackers Hubに「他言語のライブラリをPerlに移植する」というテーマで寄稿しました。twitter-textをPerlに移植した際に得られた知見をもとに、他言語で実装されたライブラリをPerlに移植する際のコツについて執筆しました。 Perlに限らず他言語であっても、使いたいライブラリやSDKが使いたい言語で実装されていない、ということはしばしばあると思います。そういった際にどのようにライブラリを移植するのか、気をつけるべきことは何か、について6ページにまとめています。特にPerlに移植する際に気をつけることを重点的に書いていますが、Perl以外への移植を目標とする際にも参考にできることが書けたと思います。 見誌をいただいたのですが、すごく読みごたえのある記事ばかりでした。ぜひお買い

    WEB+DB PRESS Vol.123『Perl Hackers Hub』に寄稿した #wdpress - 私が歌川です
  • CPANに上がっているモジュールが対応しているPerlの最小バージョンの統計情報 - 私が歌川です

    CPANに上がっているモジュールが対応しているPerlの最小バージョンの傾向が知りたくなったので、調査することにした。直感では、最低でもPerl 5.8に対応しているモジュールが最も多いと思っていた。 情報を取得する metacpanにはAPIがある*1ので、これを叩いて情報を取得する。 以下のコマンドで、この記事を書き始めた日までの1年間 (2020/5/4 - 2021/5/4) のリリースのうち、最新バージョンのリリースについて検索した。 $ curl -XPOST https://fastapi.metacpan.org/v1/release/_search -d @query.json > result.json query.json にはこういうクエリを書いた。Elasticsearchのクエリは普段あまり手書きしないのでちょっと苦労した。 { "query": { "bool

    CPANに上がっているモジュールが対応しているPerlの最小バージョンの統計情報 - 私が歌川です
  • GitHub Actionsを使ったDDoSに巻き込まれた - 私が歌川です

    事例集です。 きのう、GitHubの通知を見たら、個人のリポジトリに My First PR というタイトルのPRが来ているのに気づいた。PR出すところを間違えたのかな、と思って見てみたがどうも様子がおかしい。 prog という名前のバイナリファイルを置いている .github/workflows/ci.yml*1の中身をガッと書き換えている on: [pull_request] でworkflowを起動している 20並列でjobが走るようにmatrixを設定している fail-fast: false なので、どれか1つのmatrixが失敗しても他のジョブは続行される base64 encodeした文字列をdecodeしてevalしている ドメインの名前解決を行ったあと ./prog を実行するコマンドにdecodeされた PRをめちゃくちゃな回数closeしてreopenしている PRを

    GitHub Actionsを使ったDDoSに巻き込まれた - 私が歌川です
  • VSCodeでPerlのpackage宣言を挿入してくれるperl-insert-packageっていう拡張機能を出した - 私が歌川です

    Perlでモジュールを書くとたいてい先頭に package Hoge::Fuga::Piyo::Payo; のような宣言を書くことになると思います*1。 最初のうちはいいけど、名前空間がだんだん複雑になっていくと、これは単に写してるだけでは?? となってきます。 ところで、ファイルパスからパッケージ名への変換は、たいていの場合すごく素朴に行えるのではないでしょうか。 先頭の lib/ を消す 拡張子の .pm を消す / を :: に変換する ということでそれをコマンド1つで実行してカーソルの位置に挿入してくれる拡張機能を作って出しました。ご活用お待ちしております。 marketplace.visualstudio.com 利用方法は以下の動画が全てを物語っています。 2019/10/29追記: このたび、コマンドだけでなく補完にも対応しました。よりストレスフリーにパッケージ宣言ができるよ

    VSCodeでPerlのpackage宣言を挿入してくれるperl-insert-packageっていう拡張機能を出した - 私が歌川です
  • 1