タグ

perlに関するmizdraのブックマーク (57)

  • TMTOWTDIのつづき。Bicarbonate(けれど、一貫性を保つことは悪くないこともある) - Blog::kobaken

    Perl のモットーは「何をするにもやり方は一つだけじゃない」(TMTOWTDI; There's more than one way to do it. 読みは Tim Toady)で、自分は魅力を感じる。それは、Perlのコミュニティから、Perlに限らずさまざまな技術を愛する懐の深さを感じるから。実際どうかはYAPC::Hiroshima 2024のタイムテーブルがわかりやすい例だと思う。 愛なんて言葉を使ったけれど、この記事を書くため、ラリー・ウォールのインタビューを読んだせいかもしれない。 「何をするにもやり方は一つだけじゃない」(TMTOWTDI; There's more than one way to do it.)の哲学は、宇宙の創造者の謙虚さを観察した直接の結果であり、荘厳ではなく軽妙に処理できるよう選択した結果だ。宇宙には、押し付けるべきスタイルのガイドラインなどない

    TMTOWTDIのつづき。Bicarbonate(けれど、一貫性を保つことは悪くないこともある) - Blog::kobaken
    mizdra
    mizdra 2024/03/17
  • 第79回 最近Perlに追加された実験的機能 try文、defer文、class文(1) | gihyo.jp

    Perl Hackers Hub 第79回最近Perlに追加された実験的機能 try文⁠⁠、defer文⁠⁠、class文(1) 連載では第一線のPerlハッカーが回替わりで執筆していきます。今回のハッカーはcharsbarこと石垣憲一さんで、テーマは「最近Perlに追加された実験的機能」です。 もとになるモジュールが存在している新機能 最近Perlに追加された新機能の中には、開発サイクルを速く回すためにCPANモジュールとしてプロトタイピングを行ったうえで、Perl体に実験的な機能として移植し、正式な機能への昇格を待っているものがいくつかあります。稿ではそのような実験的機能を紹介していきます。 なお、稿のサンプルコードは基的に執筆時の最新開発版であるPerl 5.37.11(2023年5月)で動作確認をしています。 try~catch文 ─⁠─正しいエラー処理 Perlで例外を

    第79回 最近Perlに追加された実験的機能 try文、defer文、class文(1) | gihyo.jp
    mizdra
    mizdra 2023/08/18
  • 最近プログラミングが楽しい - Blog::kobaken

    6/16(金) は、久々のオフライン開催の吉祥寺.pm #33でした。懇親会含め楽しませてもらいました!主催のid:magnoliak ありがとうございました! ここでは、話したことを書いてみたいと思います。 まず最初に、久々のオフライン開催おめでとうございます!いや〜〜〜、主催のmagnoliaさんよかったですね!おめでとうございます! 改めて、こんにちは。こばけんと言います。 エンジニア組織開発責任者をしたり、開発生産性の可視化サービスを作っていました。 今は、はてなさんやDiverseさんで業務委託をしながら、起業の準備をしています。 技術コミュニティでは、Japan Perl Associationの理事として、YAPCという技術カンファレンスの運営やPerlのドキュメントを整備するワーキング・グループを運営しています。 2019年にYAPC::Tokyoのリーダーをしていたのです

    最近プログラミングが楽しい - Blog::kobaken
    mizdra
    mizdra 2023/06/17
    良い
  • prototype大全 / YAPC::Kyoto 2023

    サンプルコードはGitHubで公開しています https://github.com/utgwkk/yapc-kyoto-2023-prototype

    prototype大全 / YAPC::Kyoto 2023
    mizdra
    mizdra 2023/03/21
    parse結果に影響するの面白い
  • 「#ぶつかり稽古」という事件について | 栗林健太郎

    去る11月23日、あるイベントが開催された。「秋のエンジニアぶつかり稽古 2013」という。何を目的にしたイベントなのか誰も(主催者側ですらも)わからないまま始まったこのイベントは、しかし、最後までその目的が明らかにならないままに、なぜか大成功の余韻だけはしっかり残して終わった、異常な「事件」と呼ぶ他ないものとなった。 事の発端 そもそもの始まりからして意味不明だったのである。発端はこれだ。 @__kan こんにちは、ペパボです。YAPC::ASIA参加者スペシャル特典にご応募いただき、ありがとうございます ! @kentaro とのぶつかりげいこをぜひ開催したく思います。ご都合のよろしい日をいくつかご連絡下さい! pic.twitter.com/uoj2uExHBU — ペパボ(paperboy&co.) (@pepabo) October 2, 2013 2ヶ月ほど前、YAPC::As

    「#ぶつかり稽古」という事件について | 栗林健太郎
    mizdra
    mizdra 2023/03/15
  • Perlドキュメントワーキンググループの立ち上げからの半年の活動報告 - JPA 運営ブログ

    こんにちは。id:kfly8 です。 昨年、7月からJPAはPerlを学びやすい環境作りとその支援のために「Perlドキュメントワーキンググループ」という新たな試みを開始しました*1。ここでは立ち上げから約半年の活動報告をします。 1. 翻訳の敷居を下げる Perlに関する和訳は、長年 argrathとktatに支えられている状況です。私も今回のワーキンググループ立ち上げをきっかけに翻訳をしてみましたが、技術文書ゆえ嘘はつきたくないですし、気を遣う作業の連続で、二人の貢献の偉大さを改めて感じました。一方、perldoc.jp に翻訳が反映されるまでの仕組みの理解は正直難しく、知らない方が多いのではないかと思いました。 ちょっとした一文の翻訳だけでも、技術コミュニティへの貢献になるにも関わらず、その貢献の敷居が高いのは課題だと思いました。 翻訳の敷居を下げるため、次を行いました。 翻訳のチュ

    Perlドキュメントワーキンググループの立ち上げからの半年の活動報告 - JPA 運営ブログ
    mizdra
    mizdra 2023/03/06
  • YAPC::Kyoto 2023のスピーカーを募集します - YAPC::Japan 運営ブログ

    YAPC::Kyoto 2023実行委員会の id:papix です. 昨日, YAPC::Kyoto 2023の公式サイトを公開したところですが, 日より早速スピーカーの募集を行います! forms.gle 上記のフォームよりご応募ください. なお, 一番大切なことを最初に述べておきますと, 応募締め切りは 2023年1月20日(金) 23:59 (JST) となります(締め切りから1週間を目安にメールにて採択結果をお知らせします). ...さて, YAPC::Kyoto 2023のテーマは, 昨日もご紹介したように「try/catch」です. そこで, 次のようなトークが集まればいいな...! と, 運営スタッフ一同心待ちにしています: いままで使ってきた、そしてこれから使っていくPerlの話 こんな場所で役に立つ! Perlで取得した技術 Perlと出会った事で広がった技術やコミュ

    YAPC::Kyoto 2023のスピーカーを募集します - YAPC::Japan 運営ブログ
    mizdra
    mizdra 2023/01/09
  • SHOWROOMはGo言語を採用します。PerlからGo言語へ刷新。『GOD計画』始動。|SHOWROOM Blog

    PerlからGo言語へライブ配信プラットフォーム「SHOWROOM」ではバックエンドシステムをプログラム言語のPerlで開発してきました。これを段階的にGo言語に置き換えていきシステムの刷新を図ります。 こんにちは。開発部の横山です。 現在、SHOWROOMのバックエンドシステムをGo言語に段階的に移行する計画を進めております。 どうしてPerlからGo言語に移行するの?背景現在、SHOWROOMはPerlで開発されています。元々DeNAの新規事業として立ち上がったSHOWROOMは、当時使用実績が豊富にあったPerlを採用して開発が進められ、今日に至ります。2013年のサービス開始以降、多くのお客様により楽しくご利用いただくために、多くの機能追加を行ってきました。 Perlでの課題サービス開始以来、開発・運用をしながら月日が経つ中で、世間も様変わりしていきました。以前から社内でも「そろそ

    SHOWROOMはGo言語を採用します。PerlからGo言語へ刷新。『GOD計画』始動。|SHOWROOM Blog
    mizdra
    mizdra 2023/01/02
  • CIの時間をボトムアップに短縮する方策 - yujioramaの日記

    背景 新機能の追加が継続している 既存機能の改修、改善が継続している 時とともにCIの実行時間が増加し続けている 自動テストはときどき失敗する(flaky) CIの成功が、コードレビューを始めるきっかけになっている(CIが成功するまでコードレビューが始まらない) 問題と原因 問題 CIの待ち時間が長く感じる 変更セットと無関係な自動テストがときどき失敗する(再試行すると成功する) 原因 CIはすべての自動テストを実行している 解決方法 1. テストの実行を並列化する すべての自動テストを実行すること にこだわりがあるときの戦略 プロジェクトによっては、変更セットの正しさを保証する最低限の線引きかもしれない CIやテストフレームワークの仕組みに応じていろいろなやり方がある マシンの並列化 プロセスの並列化 スレッドの並列化 2. 変更セットに含まれるプログラム部品に依存する自動テストだけを抽

    CIの時間をボトムアップに短縮する方策 - yujioramaの日記
  • Perlのmodule_trueフラグを先取り!

    Perl Advent Calendar 2022に穴が空いてしまったときの 穴埋め用に温めていた記事です。 無事完走したので公開してしまいます。 v5.38からmodule_true feature pragmaというのが入る予定らしいので試してみました。 v5.38は未リリースなので、開発版のv5.37.5で検証しています。 今まで挙動 Perlモジュールの末尾に1;という謎の記述を見たことはありませんか?

    mizdra
    mizdra 2022/12/25
  • 自動テストでチェックが失敗したときの説明を見やすくする - yujioramaの日記

    これは Perl Advent Calendar 2022 16日目の記事です。 昨日の記事は@hkunoさんのぜんぜんわからない。俺達は雰囲気で perl -p -i.bak をやっている でした。 Test2::Suiteの is 関数とTest2::Tools::Compareに登場する比較関数を組み合わせると、ネストしたデータ構造のチェックを(伝統的なスクリプト言語にしては比較的)分かりやすく記述できます。 cpm install Test2::Suite サンプルコードです。 ステートレスな関数を中心に設計しているなら、道具立てとしては十分でしょう。 ▶クリックで展開 #example.pl package main; use strict; use warnings; use utf8; use Test2::V0; package Foo; sub new { my ($cl

    自動テストでチェックが失敗したときの説明を見やすくする - yujioramaの日記
    mizdra
    mizdra 2022/12/16
    TABLE_TERM_SIZE 知らなかった。便利。
  • YAPC::KyotoをRebootします - YAPC::Japan 運営ブログ

    YAPC::Kyoto 2020実行委員会の id:papix です. 2020年3月に開催予定だったYAPC::Kyoto 2020は, 新型コロナウイルス感染症(COVID-19)の流行を理由として, 残念ながら開催を延期するという判断を下しました. blog.yapcjapan.org あれから2年が経過し, 新型コロナウイルス感染症(COVID-19)の流行状況や, 各種カンファレンスやイベントなどの開催/運用の状況を鑑み, いよいよYAPC::KyotoをRebootすることを決定いたしました. 開催日は2023年3月19日(日曜日), 場所はYAPC::Kyoto 2020と同じく京都リサーチパーク(KRP)での開催となります. 久々のオフライン開催ですが, YAPC::Japan::Onlineなどを通して得た知見を生かして, 会場の模様を配信の形で全国にお伝えすることも計画

    YAPC::KyotoをRebootします - YAPC::Japan 運営ブログ
  • ここ半年の間にコードレビューで受けたコメントなどをまとめた - noy72.com

    mizdra
    mizdra 2022/06/28
  • Class::Accessor::Typedで独自の型を使う - Masteries

    Class::Accessor::LiteやClass::Accessor::Lite::Lazyのように使えて, 型の恩恵を受けられる, Class::Accessor::Typedというモジュールを昔書きました. metacpan.org 詳しくは, 昔Kichijoji.pmで紹介した時に使った資料をまとめたものがあるので, こちらをご覧頂ければと思います. papix.hatenablog.com このモジュールは大変便利なんですが, 1つ課題がありました. それは独自の型をうまくいい感じに使う方法が当時の自分には思い浮かばなかった... ということです. 例えば, 次のような Types.pm があり, ここで「正の整数」であるPositiveIntという型を定義していたとします. package Types; use strict; use warnings; use Mous

    Class::Accessor::Typedで独自の型を使う - Masteries
    mizdra
    mizdra 2022/06/08
  • 小ネタ: Perlのメソッド呼び出しをModule::Spy風にモックする - Masteries

    Perlでテストを書いているとき, 例えば外部のAPIを叩くメソッドをモックしたい, という気持ちになることがあります. 選択肢としてはTest::Mock::GuardやModule::Spy, 最近ならTest2::Tools::Mockあたりが選択肢になるでしょうか. metacpan.org metacpan.org metacpan.org 「単純にモックしたい」という用途なら, 上記に挙げた3つのモジュール全てがその望みを叶えてくます. ただ, 「モックしたメソッドに渡った引数もチェックしたい」のであれば, Module::Spyが最適でしょう. use DDP; use Module::Spy; my $spy = spy_on('Hogehoge', 'hoge_method')->and_returns(undef); Hogehoge->hoge_method(args

    小ネタ: Perlのメソッド呼び出しをModule::Spy風にモックする - Masteries
    mizdra
    mizdra 2022/06/05
    便利
  • Perl Navigator の設定方法 - (Vim or VS Code) + (Carton or Carmel)

    # carmel export の出力をdotenv用に調整して、.envに書き込み carmel export | perl -anE 'say "export $F[1]"; say "export $F[2]"; say "export $F[3]"' | cat >> .env ※carmel exportのオプションでdotenvで使いやすいようにするオプションを入れてもらう? ※dotenvを普段使ってないので、もっと賢い方法ありそう?

    mizdra
    mizdra 2022/05/13
  • PerlNavigatorがすごい - 時計を壊せ

    年々とelispのメンテが雑になってきて、ついにはemacsclientがemacs serverにうまく接続できなくなってしまい、とはいえ普通にスタンドアロンで立ち上げると動くのでログも取れずに原因究明が難しく、もはやこのままでは引退も近いかと思われたので、悪あがきでVSCodeに手を出してみることにした。 Perl Mongerの端くれとして、まずはPerlが書ける環境を整えようと、とりあえず最近ちょっと話題になっていたPerlNavigatorをVSCodeと共にインストールしてみた。 github.com ところがこいつがすごい。 シンタックスハイライトをいいかんじにやってくれるのはもちろんのこと、emacsではperldoc -lmした結果に飛べるelispを仕込んでおいた(たぶんid:sugyanさんあたりのelispから拝借したきがする)のを使っていたが、PerlNaviga

    PerlNavigatorがすごい - 時計を壊せ
    mizdra
    mizdra 2022/05/05
    気になる
  • 「YAPC::Japan::Online 2022」に5人のエンジニアが登壇しました! - Hatena Developer Blog

    こんにちは, Webアプリケーションエンジニアの id:papix です. 最近気に入っているPerlの機能は後置デリファレンス(postfix dereference)です*1. ...それはさておき, 先日3/4〜3/5に, Japan Perl Associationが主催するPerlに関するオンラインカンファレンス, 「YAPC::Japan::Online 2022」が開催されました! yapcjapan.org はてなでは様々なWebサービスを開発しておりますが, その中にはPerlで開発されているものもあります. そのため, はてなは今回もGold Sponsorとしてカンファレンスに協賛させて頂き, ノベルティや幕間のCMなどお届けさせて頂きました(また, 私 id:papix もスタッフとして微力ながらお手伝いさせて頂きました). そして「YAPC::Japan::Onl

    「YAPC::Japan::Online 2022」に5人のエンジニアが登壇しました! - Hatena Developer Blog
    mizdra
    mizdra 2022/03/14
    5人すごい
  • Perlで @EXPORT を @EXPORT_OK に置き換える - Masteries

    この記事は「はてなエンジニア Advent Calendar 2021」の12日目の記事です. qiita.com 昨日は id:cohalz の「distrolessのnonrootイメージを使おう」でした. cohalz.co 関数のエクスポート Perlのパッケージには, "エクスポート"という概念があります. 例えば, 次のようなモジュールがあったとしましょう: package MyPkg; sub f1 { ... } sub f2 { ... } sub f3 { ... } パッケージMyPkgに定義されたf1, f2, f3の関数をパッケージの外から呼び出すには, 通常次のように呼び出す必要があります: use MyPkg; MyPkg::f1(); MyPkg::f2(); MyPkg::f3(); いちいち MyPkg を書くのは面倒, ということで用意されたのが Ex

    Perlで @EXPORT を @EXPORT_OK に置き換える - Masteries
    mizdra
    mizdra 2021/12/14
    便利! export/import が明示的になれば静的解析してエディタの補完にも役立てられるはずなので、いかにも良さそう。
  • 現状の癖を反映した.perltidyrcとperltidyの令和最新情報 - 私が歌川です

    今はそんなに頻繁にPerlを書いているわけではないけど、以下の記事を書いた時点から更新があったのでちょっと書く。 blog.utgw.net .perltidyrc --add-newlines --add-semicolons --add-whitespace --block-brace-tightness=0 --brace-tightness=1 --break-at-old-comma-breakpoints --character-encoding=utf8 --comma-arrow-breakpoints=1 --continuation-indentation=4 --cuddled-else --indent-block-comments --indent-columns=4 --logical-padding --long-block-line-count=1 --ma

    現状の癖を反映した.perltidyrcとperltidyの令和最新情報 - 私が歌川です
    mizdra
    mizdra 2021/10/05
    ありがたい / 真似します