z の力を Perl に
持ってきた話
湘 . なんか #2
わいとん
今日は趣味の話をします
「アニソンの帝王」の話は出てきません
私について
• @ytnobody – わいとん
• 零細 IT 企業の代表 / ソフトウェアエンジニ
ア
• 💖Perl, Linux
• 主に TypeScript でお仕事をしています。
• YAPC::Hakodate 2024 実行委員長
• 最近、趣味でやってること
• 知識蒸留でできた AI モデルを ESP32 上で稼働
させようとしています。
• 知見がたまったらそのうち話します。
宣伝
いつやるの?どこでしょ?
• 日時 : 2025 年 3 月 8 日(土) 18:40-19:20
• 場所 : docomo R&D OPEN LAB ODAIBA
• 🍄 きのこカンファレンス 前夜祭 Track A
最近こんなことがありました
この方からも・・・
わいとん =
AI 説
はなすこと
• z の力とは?
• z の力をよく見てみる
• z の力をどう使おうか
z の力とは
zod
• TypeScript における、比較的
メジャーなデータバリデー
ターモジュール
• スキーマで Object を perse
すると、合致している場合は
Object をそのまま、そうじゃ
ない場合はどの部分がダメな
のかをエラーで教えてくれる
だいたいこんな感じ
もうちょっと複雑につかうことも
で、これを Perl にもってきました
https://ytnobody.github.io/poz/
Poz – Power of ‘z’
• もしくは Power of zod
• スキーマを変数に格納して
• スキーマでデータを perse
• するといろいろできる
What's new on CPAN - December 2024
z の力をよくみてみる
こんな感じで書けます
軽くコードでも読みましょう
z の力をどう使おうか
• Poz Schema とほかの Schema の相互変換
• DDL ( SQL の CREATE TABLE 構文)
• Prisma Schema と Poz Schema の相互変換は今作ってる
• そのうち Drizzle もいける気がしてる
• OpenAPI の Schema
• JSON Schema
z の力をどう使おうか
• perl の関数の引数と戻り値をバリデーションする(したい)
• fn combine_user_and_books(
$user => $user_schema,
$books => $books_schema
) => $user_with_books_schema, sub { ... }
• みたいなかんじで。
• (perl の無名関数の sub 表記がニクイ… )
まとめ
• z の力を Perl に持ってきた
• ちょっとだけ海外勢からの注目があったらしい
• zod から見たときに、未実装機能も多い
• Perl ならではの事情も考慮した機能が追加されている
ところで最近のお気に入り看板は
これです。おしまい。

zの力をPerlに持ってきた話 @湘.なんか #2 by わいとん a.k.a. ytnobody