タグ

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

  • 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
  • コンテキストと仲良く

    「実録!となりのJenkins2.0」 - 第7回大阪 / 第9回(東京)Jenkins勉強会 #jenkinsstudy

    コンテキストと仲良く
    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

    この記事は Perl5 Advent Calendar 2015 の8日目の記事です. 昨日は、 @songmuさんの Perl と Redis でした. はじめに 今回は、Perl5 の O/R Mapper の Aniki について紹介したいと思います. Aniki の特徴については、作者の @karupanerura の 1日目の記事 を参照してみてください. 環境の準備 Aniki は、perl 5.14 以降で動作します. ここでは、v5.22.0 を利用します.

    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
  • DBIとforkの関係 - heboi blog

    実際ググれば正解はいっぱい出てくるしここに自分もコメントで書いてたりしていまさら書く必要もないかなと思ってたけど一応自分のブログでもまとめておくということで。 一般的な解 DBIx::ConnectorとかDBIx::Handler経由でかならず$dbhを取得してからDBIを使う。 もしくはfork-safeなORM(DBIx::Class, DBIx::Skinny, Teng)を使う。 DBIを直接使っている場合 一般的なコネクションを保持するクライアントと同様にDBIもforkした子供が親のコネクションをそのまま使うことはバグの原因になります。特にトランザクションの処理等で重大な問題が起こる可能性がある。 解決策は、 DBIのコネクションを親で作らないで、子供で独自に作る 親で作ってしまったコネクションを子供が安全にDESTROYし、再接続する のどちらかになります。ここで問題は2で

    DBIとforkの関係 - heboi blog
    kfly8
    kfly8 2015/07/12
  • cpan module を並列でインストールする - skaji's blog

    先日行われた Gotanda.pm #5 でも発表させていただいたが、まさしく experimental な cpan client cpm を作った。 github.com Why new? cpan module の install にはいつも cpanm を使っており そのシンプルさと安定性には感心するばかりである。 が、cpanmにも不満がないわけではない。 perlである程度のことをやろうとすればすぐにcpan moduleの依存は 100を超える。 そういった場合、cpanmは直列でcpan moduleをインストールしていくため かなりの時間がかかる。 これをなんとかしたい。 Features of cpm cpm は如何に速くcpan module をインストールするか、しか考えていない。速くするために以下のようにしている。 cpanm を並列に使って cpan modul

    cpan module を並列でインストールする - skaji's blog
    kfly8
    kfly8 2015/07/09