タグ

perlに関するkfly8のブックマーク (87)

  • PPI Signatures Trial Release - Feedback Requested | Cat Eats Mouse [blogs.perl.org]

    kfly8
    kfly8 2024/12/03
    PPI でsubroutine signatureのトライアル実装が入った。
  • PerlでResult型を扱うResult::Simpleをリリースしました - Blog::kobaken

    metacpan.org 簡単な利用例 Result型は関数の戻り値を成功または失敗として表して、安全なエラー処理をする旨味があり、F#、RustGoなど他の言語でも使われています。詳細は他に譲ります。 Perlでも同様にその旨味は享受できます。加えて、このモジュールの実装は、名前の通りシンプルです。関数の返り値をオブジェクトで包む実装を見ることがありますが*1、そういうことはしていません。($data,undef) または (undef, $error) のタプルで結果を表現しています。例えば、Ok関数の実装を見てください。以下の通り、単純です。 # When the function is successful, it should return this. sub Ok { if (CHECK_ENABLED) { croak "`Ok` must be called in lis

    PerlでResult型を扱うResult::Simpleをリリースしました - Blog::kobaken
    kfly8
    kfly8 2024/12/02
    Perlアドベントカレンダー2日目の記事です。
  • Types::Standard で利用できる、知っておくと便利な型 - MPがありません。

    概要 Perlで型チェックを行うモジュールに Type::Tiny というものがあります。 Type::Tiny には Types::Standard というライブラリがついてきて、いろいろな型が利用可能になるわけですが、 これはその Types::Standard で利用可能な、個人的に知っていると便利だったりわかりやすいコードがかけていいなーと思う型を紹介する記事です。 Enum[@list] 列挙型です。 引数として渡した文字列のリストのうち、いずれかにマッチする値だけを許容する型です。 use Test2::V0; use Types::Standard qw( Enum ); my $constraint = Enum[qw( green blue red )]; ok $constraint->check('green'); ok !$constraint->check('ho

    Types::Standard で利用できる、知っておくと便利な型 - MPがありません。
    kfly8
    kfly8 2019/06/30
  • NQPとMoarVMと私/nqp_moarvm_anatofuz

    YAPC::Tokyo前夜祭でのLTです

    NQPとMoarVMと私/nqp_moarvm_anatofuz
    kfly8
    kfly8 2019/01/26
  • コンテキストと仲良く

    1. The document discusses RESTful APIs and gRPC, comparing their characteristics and use cases. 2. RESTful APIs typically use HTTP and JSON to access resources via URLs while gRPC uses protocol buffers and HTTP/2 for efficient streaming and RPC. 3. gRPC is better suited for microservices and mobile apps due to its ability to handle streaming and performance, while REST is more widely used due to i

    コンテキストと仲良く
    kfly8
    kfly8 2019/01/03
  • Perlの中をgdbで覗く | BLOG - DeNA Engineering

    こんにちは。DeNAの樋口です。 Perlで書かれたアプリを動かしているときに、Perlのプロセスが今コードの何処を実行中なのか知りたいことがよくあります。そのような場合には、gdbで実行中のプロセスにアタッチし、Perlインタプリタインスタンスの内部を覗くことによって調べることができます。また同様の方法で、プロセスのコアダンプを取り、後でじっくりデバッガで調べることも可能です。 デバッグシンボル付きのPerlを用意する まず前提として、Perlの実行形式にデバッグシンボルが付いている必要があります。無い場合でも不可能ではありませんが、現実的には難しいでしょう。デバッグシンボル付きのPerlを用意する方法はOSによりますが、例えばrpmを使っているGNU/Linuxディストリビューションであればperl-debuginfoのように分離されたパッケージにデバッグシンボルが入っていることが多い

    Perlの中をgdbで覗く | BLOG - DeNA Engineering
    kfly8
    kfly8 2019/01/03
  • 今年書いた & update したCPANモジュールたち - 酒日記 はてな支店

    Perl Advent Calendar 2018 11日目のエントリです。 最近、新しく書きはじめるもので Perl を使うことはめっきり減っているのですが、それでも仕事のいくつかのプロジェクトのメイン言語が Perl だったり、リリースした CPAN モジュールでまだまだ需要があるものはメンテが必要です。 ということでちょくちょく Perl も書いているので、今年自分がリリースした CPAN モジュールと update の変更点をまとめておきたいと思います。 Fluent::Logger おなじみ Fluentd へログを送信するためのモジュール。2011年にリリース以来、継続的にメンテナンスしています。2018年の変更は、エラー時に即座にリトリライするためのオプション追加でした。 0.27 2018-06-19T07:52:56Z Add retry_immediately opti

    今年書いた & update したCPANモジュールたち - 酒日記 はてな支店
    kfly8
    kfly8 2018/12/11
  • 他言語からの訪問 【第 3 回】 Perl

    kfly8
    kfly8 2018/06/18
  • Perl 1.0 をビルドする - Qiita

    再々度、ちょっとした考古学的興味により初期のPerlを調べてみたくなったので、Perl 1.0 をビルドして動かしてみた。 プログラミング考古学シリーズ 第1回: Python 1.0 をビルドする 第2回: Ruby 0.49 をビルドする 第3回: Perl 1.0 をビルドする Perl略史 現在においてPerlといえばおそらく Perl 5 か Perl 6 のことを指すと思われるが、5とか6とか言う以上は当然1から4までが存在したわけで、特に最初の Perl 1 がリリースされたのは今から30年以上前の話になる。 Perlが初めて公開されたのは1987年のことであり、Ruby (1995年) や Python (1990年) と比較しても長い歴史を持つプログラミング言語である。Larry Wall のインタビューによれば最初のバージョン1.0は1987年12月18日にニュースグル

    Perl 1.0 をビルドする - Qiita
    kfly8
    kfly8 2018/06/10
  • Perl - Wikipedia

    Perl is a high-level, general-purpose, interpreted, dynamic programming language. Though Perl is not officially an acronym,[9] there are various backronyms in use, including "Practical Extraction and Reporting Language".[10] Perl was developed by Larry Wall in 1987[11] as a general-purpose Unix scripting language to make report processing easier.[12][11][13] Since then, it has undergone many chang

    Perl - Wikipedia
    kfly8
    kfly8 2018/04/10
  • Can EPO (or TPF) tame TIMTOWTDI?

    kfly8
    kfly8 2018/04/10
  • ランカスター・コンセンサス - github.com - perldoc.jp

    2008年にオスロで開催された最初のPerl QA Hackathonでは、Perlの品質管理やツールチェーンに関係するモジュールの作者、メンテナ、有識者が多数集まり、よくある標準や慣行のいくつかについて合意を行いました。このとき発表された合意は「オスロ・コンセンサス」という名で知られるようになりました。 5年後、2013年のPerl QA Hackathonでも、同様の専門家集団が集まり、新たに統一見解が必要になった問題について議論しました。 以下の決定事項は今後の方針を示すものではありますが、例によって実装にかかる時間は、実際の作業にあたるボランティアの事情や、実際の作業にあたるボランティアが現れるかどうかによります。 ツールチェーンとテスト サポートするPerlの下限 今後、Perlのツールチェーンは2003年9月にリリースされたPerl 5.8.1を対象とすることになります。これに

    kfly8
    kfly8 2018/03/04
  • JPAとPerl入学式の連携を強化します! - JPA 運営ブログ

    こんにちは. Perl入学式の代表(校長)のpapixです. プログラミング初心者向けの勉強会「Perl入学式」は, これまでもJPAと連携して, YAPC::AsiaでのPerl入学式の開催など, 様々な取り組みを行ってきました. この度, JPAの新体制への移行に伴い, JPAがその事業の1つとしてPerl入学式との連携を深め, 継続して支援する体制を構築していくことになりました. そこでJPAのブログをお借りして, Perl入学式とJPAの更なる連携強化と, これをきっかけにして今後取り組んでいきたいと考えている新たな施策について, 紹介させて頂きたいと思います. Perl入学式とは? その前に, まずPerl入学式について, 簡単にご説明したいと思います. Perl入学式は, 2012年に大阪で始まった, プログラミング初心者向けの勉強会です. これまで大阪, 東京, 福岡, 沖縄

    JPAとPerl入学式の連携を強化します! - JPA 運営ブログ
    kfly8
    kfly8 2017/01/14
    素敵です!
  • 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
  • Aniki クイックスタート - Qiita

    Deleted articles cannot be recovered. Draft of this article would be also deleted. Are you sure you want to delete this article?

    Aniki クイックスタート - Qiita
    kfly8
    kfly8 2015/12/16
    Aniki のこのチュートリアルわかりやすいな!! #gotandapm #yokohamapm
  • 俺のワンライナー改め CLI ツール群のステマ

    このエントリーは Perl 5 Advent Calender 2015 の3日目の記事です。 まだワンライナーで消耗してるの? Perl で書くワンライナーが便利というのはもうさんざん語られている気がするし自明だろうて、このたびはコマンドラインインターフェースで便利なツール群をドヤ顔でステマしたいと思います。怠惰ゆえ、もうワンライナー書くのも面倒になったらコマンドにしてしまえこのやろう、というノリですぜ、おとっつあん。 手前みそですが、できる限り便利そうなやつをピックアップするので、ひとつお付き合いください。ペコリ。 swoop まずは Statistics::Swoop をインストールすると付いてくる swoop コマンド。これは、ログのあるカラムの合計、最大、最小、レンジ、平均をさくっと算出してくれるコマンド。 $ cat log_file | swoop -f3 -d, .----

    俺のワンライナー改め CLI ツール群のステマ
    kfly8
    kfly8 2015/12/04
  • Release Mouse v2.4.4 - Shohei Yoshida's Diary

    https://metacpan.org/release/SYOHEX/Mouse-v2.4.4 Mouse with threads did not work on Perl 5.22.0 or higher version. This makes Text::Xslate test failure for a long time. This version fixed the issue and works with threads. Please upgrade for newer perl users. Example We expects $foo->syntax is "Kolon" but $foo->syntax is undef with older Mouse on Perl 5.22.0 or higher. This test is passed with Mous

    Release Mouse v2.4.4 - Shohei Yoshida's Diary
    kfly8
    kfly8 2015/08/03
  • 「Perl入学式の教科書」を公開しました! : Perl入学式 公式ブログ

    Perl入学式 公式ブログ プログラミング未経験者/Perl初心者を対象としたワークショップ『Perl入学式』のブログです。 一緒にプログラミングの楽しさを体感しましょう! みなさまこんにちは, Perl入学式校長のpapixです. いきなりですが, Perl入学式は今年で4年目となりました. ここまでの3年間, 多くの方と一緒にPerlを学ぶことができていて, とても嬉しく思っています. その中で, Perl入学式の卒業生からよく頂く意見の1つが, 「卒業後に使えるカリキュラムが欲しい」というものです. Perl入学式で扱う内容は, プログラミングを学ぶために不可欠な環境構築からスタートし, Perlという言語を通して「プログラミングに必要な考え方」を学んでいくという, まさに「基礎中の基礎」といえる内容になっています. 最終回でMojoliciousを利用したWebアプリケーションの開

    「Perl入学式の教科書」を公開しました! : Perl入学式 公式ブログ
    kfly8
    kfly8 2015/07/29
    すてきだ
  • サブルーチンのアトリビュートの信頼性 - Islands in the byte stream (legacy)

    Perl 5.6.0以降にはアトリビュート(Attribute)というメカニズムがあり,変数やサブルーチンの宣言時に呼び出されるコールバックを設定できる*1。 このアトリビュートは実験的に取り入れられたのちに放置されるという不幸な運命をたどってしまい,現状では活用するのが難しい。特に,サブルーチンアトリビュートの扱いは非常に難しく,使用に際しては様々な問題がある*2。 一つの大きな問題は,アトリビュートハンドラが呼び出されるタイミングである。アトリビュートハンドラはサブルーチンオブジェクトの構築中*3に呼び出されるのだが,サブルーチンオブジェクトの構築が不完全なため,そのままではアトリビュートハンドラ内でできることはほとんどないのだ。以下のスクリプトはこのことを示す。 #!perl -w use strict; use Devel::Peek; sub MODIFY_CODE_ATTRIB

    サブルーチンのアトリビュートの信頼性 - Islands in the byte stream (legacy)
    kfly8
    kfly8 2015/07/12
  • Scope::Container::DBIを書いた - blog.nomadscafe.jp

    2010 Perl Advent Calendar などでも説明していた Scope::Container でDBの接続管理を行うモジュールを書いた。 CPAN: http://search.cpan.org/dist/Scope-Container-DBI/ github: https://github.com/kazeburo/Scope-Container-DBI 機能的には、Scope::Container に接続情報をキャッシュして、同じDSN・ユーザ名で接続の場合、キャッシュからdbhを返します。Scope::Containerなので任意のスコープで接続の維持と切断ができます。 Scope::Container::DBIには、connectメソッドがあるだけ。DBIと同じくdsn、ユーザ名、パスワード、オプションを渡す。 use Scope::Container::DBI; u

    kfly8
    kfly8 2015/07/12