タグ

Perlに関するyassan0627のブックマーク (186)

  • Package::Prototype をリリースした - アルパカ三銃士

    Package::Prototype というモジュールを開発した。 metacpan.org これは bless($ref :HashRef[, $classname :Str]) メソッドにハッシュリファレンスを与えるとインスタンスを作成し、 _ で始まらないキーに対応する値を返すような動作をするメソッドを stash(Symbol Table Hash) へ登録してくれる。この時、指定した $classname の stash をリセットしてメソッドを登録する。デフォルトで $classname は __ANON__ としている。 全部 XS で作成してるため、パフォーマンスは劣らないはず。 以下は Package::Prototype を用いて bless を行う時と通常の bless を行った場合のメソッド定義の振る舞いを確認するためのコードである。(眠すぎてめちゃくちゃ...)

    Package::Prototype をリリースした - アルパカ三銃士
  • App::RemoteCommand リリース - skaji's blog

    App::RemoteCommand というのを cpan にあげた。 cpan: https://metacpan.org/release/App-RemoteCommand github: https://github.com/shoichikaji/App-RemoteCommand インストール方法 > cpanm App::RemoteCommand > rcommand -v App::RemoteCommand 0.01 なにするもの? ssh で複数ホストにはいって並列にコマンドを実行するスクリプト。 なんで作ったか fabric や chef を使えば複数ホストに並列にコマンドを実行できる。 が、専用のシンタックスで書かなくちゃいけないしイマイチカジュアルじゃない。 ssh, xargs を組み合わせて > cat host-list.txt | xargs -P5 -L

    App::RemoteCommand リリース - skaji's blog
    yassan0627
    yassan0627 2018/03/25
    ssh で複数ホストにはいって並列にコマンドを実行するスクリプト
  • Docker上でPerlのWebアプリケーションを動かしてみる - Qiita

    この記事はモバイルファクトリー Advent Calendar 2017の1日目の記事です。 @carimaticsが担当します。 記事はDocker入門として、Docker上でPerlを動かすというお話です。 雰囲気くらいは掴めると思います。 Perlの入門ではないです。( carton などは知ってるものとします) 開発環境 以下の環境で動作確認をしています。 OS: macOS Sierra version 10.12.6 Docker: Version 17.09.0-ce-mac35 fish: version 2.7.0 Dockerのインストールについてはこの記事では扱いません。 必要であれば公式ガイドに従ってインストールしてください。 また、fishというシェルを使っていますが、bashやzshでも動作すると思います。 はじめに 記事の内容 前述の通り、記事はDock

    Docker上でPerlのWebアプリケーションを動かしてみる - Qiita
  • Carton 1.0 時代の Web アプリケーション開発フロー - tokuhirom's blog

    Carton 1.0 がでたところで、Web アプリケーション開発のフローを一度見直しておきたい、そんな人も多いでしょう。 そんな方のために僕のやりかたをまとめました。各社、議論の叩き台にしていただければよろしいかと存じます。 もっとも重要なことは、、 Carton を使うときに、僕が最重要だと思うことは、できるだけ番環境と開発環境の環境をそろえるということです。CPAN モジュールが番と開発でバージョンちがうから挙動がちがってた!! なんてのは時間の無駄ですし、よくないことですからね。 ですから、各開発環境と番環境をできるだけそろえることを意識していきたいとおもいます。 DarkPAN は使ってない そんなに DarkPAN 的なのを使うほど、DarkPAN 的なオレオレモジュールがないので、git submodule で管理しています。 【201308061241update】

  • Perlでモジュールにパスを通す方法 - Qiita

    Perlで use や require を使ってモジュールを読み込む場合、通常は @INC 配列に入っているパスのどこかに、所定の形式で配置されている必要があります。 具体的には、Foo::Bar というモジュールがあり、@INC 配列に /opt/lib/site_perl/ といったパス文字列があってそれが対象となる場合、/opt/lib/site_perl/Foo/Bar.pm というファイルとして存在している必要があります。 最終的には @INC をいじる必要があるのですが、現在のファイルの場所などを元にして、それをどう抽象化・簡略化するか、様々な手法があるようなのでまとめてみました。 モジュールが存在して読み込めるかどうかをワンライナーで確認する 例えば LWP::UserAgent モジュールが存在するかどうかを確認したい場合には以下のようにします。 存在すれば何も表示されませ

    Perlでモジュールにパスを通す方法 - Qiita
  • Carmelとcpm - Qiita

    この記事は Perl Advent Calendar 2017 の7日目です。 6日は songmuさんによる、 えるしっているか、Lは便利 でした。 今日は、新しいCPANのモジュールマネージャー周りのお話をしたいと思います。 Perlプロジェクト/ツールの開発をしよう! という時に、モジュールマネージャー Carton を使われる場合が多いのではないでしょうか。 しかし、Perlでプログラムを書いていくと、依存するCPANモジュールが数百個...というのはよくある事で、プロジェクト作成毎に、数百のモジュールインストールを待つには人生は短すぎる、、、そう思われている方も多い事でしょう。 そんな時は、もう一つのモジュールマネージャー Carmel の出番です! Carmelとは Cartonと同じ作者である、Tatsuhiko Miyagawaさんが開発されている新しいモジュールマネージ

    Carmelとcpm - Qiita
  • PerlでTDD(テスト駆動開発)するなら覚えておきたいCPANモジュール群 | hirobanex.net

    最近、久しぶりに新規コードを書いたんですが、そのテスト書く中でTest::Mock::Guardってモジュール使って便利だったんで、ここらで、動作確認テストを書く上でいいな(使ってみたいな)って思ったモジュール群やテスト関連ネタを個人的なメモとしてまとめておきたいと思います。 いいなって思うPerlの動作確認テスト系CPANモジュール群 私が実際に普段使っているものから、これいいなー使ってみたいなーと思うものまで、一覧にまとめて見ました。結構いろんなモジュール使わないと、いい具合にTDDってできないものだと思います。 入門編 モジュール名 概要 参考日語記事

  • Test2::Suiteを使ってテストを書く - kichijojipm’s blog

    吉祥寺.pmは一応(?)Perlのイベントなので、たまにはPerlのことを書いてみます。 Test2モジュール Perlのテスティングフレームワークと言えばTest::Moreがスタンダードですが、今リリースされているTest::More v1.3以降では内部構造が全て作り直されていて、Test2というモジュールがベースになっています。 Test2モジュールでは、テストの結果やメッセージが全て「イベント」という形で取り出せるようになっていて、テストモジュールの作者は従来より確実にテストができるようになっています。 詳細は割愛しますが、従来のTest::Moreではテストモジュールのテストが難しい、という課題を解決するためにTest2モジュールは作られました。 Test2::Suiteモジュール さて、Test::Moreの中身はTest2モジュールを使って書き直されていますが、後方互換性を

    Test2::Suiteを使ってテストを書く - kichijojipm’s blog
  • Test::MoreからTest2::V0に移行した話 - KAYAC engineers' blog

    ソーシャルゲーム事業部のサーバサイドエンジニアの飛鷹です。 これはカヤックアドベントカレンダーの10日目の記事です。 今回は担当している案件でのTest2::V0を導入した話をします。 Test2導入経緯 担当している案件でperl 5.24からperl 5.26へのアップデート予定があり、バージョンを上げるのであればYAPC::Fukuokaで話のあったテスト結果がいい感じになると噂のTest2へと移行しようという試みでした。 Test2導入 Test2以前にもTest::SimpleやTest::Moreがあったように、Test2にも Test2::Bundle::ExtendedOld name for Test2::V0 Test2::Bundle::MoreALMOST a drop-in replacement for Test::More. Test2::Bundle::Si

    Test::MoreからTest2::V0に移行した話 - KAYAC engineers' blog
  • YAPC::Fukuokaで「新時代のテストフレームワークTest2」という話をしました - アリ

    speakerdeck.com トークの内容はTest2の導入から便利情報を紹介したりしました。少しでもTest2使う人が増えるといいですね。 スライド中にも触れていますが、基的にはTest2に移行するにあたってはTest2::Plugin::UTF8を使うようにすれば大丈夫かなと思います。 一部Test::ClassのハックをTest2に対応するといった特殊な例も紹介しました。スライドでは時間の都合上省いたのですが、Test::Classは意外と扱いが難しく、テストファイルから読み込まれるモジュールでTest::Moreを直接使っていると$TODOが動かなくなるというケースもありました。Test::Moreのokを直接呼んでいる場合はTest2::APIのcontextで書き換える必要があります。 また、Test::Warningsでテスト中で警告が出ていたらfailする機能(Test

    YAPC::Fukuokaで「新時代のテストフレームワークTest2」という話をしました - アリ
  • plenvを使ったPerl環境構築 〜2018年度版〜 - Masteries

    2013年頃に登場した plenvですが, 2018年となった今でもPerlの環境構築におけるデファクトスタンダードの立ち位置を維持しています. github.com この記事では, plenvを使ったモダンなPerlの環境構築の手法について紹介します. またplenvのような形で, 様々な言語のために開発された**envを束ねて管理できるanyenvを利用して, plenvを導入する方法についても紹介します. plenvのインストール Git $ git clone git://github.com/tokuhirom/plenv.git ~/.plenv $ git clone git://github.com/tokuhirom/Perl-Build.git ~/.plenv/plugins/perl-build/ $ echo 'export PATH="$HOME/.plenv/

    plenvを使ったPerl環境構築 〜2018年度版〜 - Masteries
  • YAPC::Okinawa 2018 ONNASON

    沖縄で開催された Perl カンファレンス YAPC::Okinawa 2018 ONNASON についてのツイートをまとめました!

    YAPC::Okinawa 2018 ONNASON
  • Perlを中心としたワンライナーあれこれ

    YAPC::Okinawa 2018 ONNASON B会場 (Keynote版に修正しました)

    Perlを中心としたワンライナーあれこれ
  • perlを書く時に使ってるsnippetのはなし

    Perl Advent Calnedar 2017の4日目。 普段perlを書く時に使っているsnippetについて書いてみる。 環境 # Spacemacs v.0.200.10 on Emacs 25.2.1 Spacemacsを入れればすぐに使えるyasnippetにsnippetを追加している。 snippet #最初に書く系 #pl/pmファイルを作る時に書くことは決まっている。 設定すればファイルの新規作成と同時に自動で入力しておくこともできるが、 ちょっと煩わしいのでsnippetにしている。 # -*- mode: snippet -*- # name: default for pl file # -- #!/usr/bin/env perl use strict; use warnings; use utf8; $0 pmファイル用のものはファイルパスを元にモジュール名を

    perlを書く時に使ってるsnippetのはなし
  • Perlの基礎知識 [Perl] All About

    Perlを使ってエクセル表(CSV)のデータから重複している行を抽出する方法を紹介します。集めた名簿データを名寄せ(同じ人物データが複数あるものを一つにまとめる)するために活用する事を想定しています。Perlの使い方を知りたい方(別記事)サンプルコードに飛ぶ名寄せとは名簿データで重複する人物のデータ...続きを読む

  • VimにおけるPerl関連のスニペットを晒してみる 〜2017年版〜 - Masteries

    この記事は, 「Perl Advent Calendar 2017」の23日目の記事です. qiita.com 昨日は, @magnolia_k_さんの「ビルドツールの裏側にいるMakefileを覗いてみる 」でした. qiita.com VimにおけるPerl関連のスニペットを晒してみる あと30分で12月24日ですが, まだ23日の記事が開いてそうだったので, 折角なので小ネタで埋めようと思います. 大きめのネタにしなかったのは, 24日のPerl Advent Calendarも担当しているからです. ...さて, 去年このような記事を書きました: papix.hatenablog.com 日頃, Perlを書く時は(というか何かしらコードを書く時は)Vimでコーディングをしていますが, その時に使っているスニペットを紹介した記事です. この記事では, あれから1年以上が経過した,

    VimにおけるPerl関連のスニペットを晒してみる 〜2017年版〜 - Masteries
  • Perl の隠れ演算子の紹介(2017) - アルパカ三銃士

    この記事は「Perl Advent Calendar 2017」の 25 日目の記事です。 まさか全部埋まるとは思っていませんでした。これも皆さんのおかげ様です。 ありがとうございました! qiita.com Perl には隠れ演算子なるものが存在します。 これらは、言語開発者が意図して作ったわけではなく、偶然発見されたものです。それを誰かが命名することで有名になっていきました。 今回はそれらの演算子を perlsecret に沿った形でお届けします。 環境は Perl 5.26.0 で Mac OSX Elcapitan です。 隠れ演算子一覧 Venus 0+ +0 Venus 演算子は文字列を数値にキャストしてくれることで有名な演算子です。 print 0+ '23a'; # 23 print 0+ '3.00'; # 3 print 0+ '1.2e3'; # 1200 print

    Perl の隠れ演算子の紹介(2017) - アルパカ三銃士
  • Docker で Amon2 の開発環境を構築 - takaya030の備忘録

    docker-compose を使った Amon2 の開発環境構築の手順メモ 検証環境 Windows10 Home Edition VirtualBox 5.1.20 Docker version 17.05.0-ce, build 89658be docker-compose version 1.6.2, build 4d72027 ディレクトリ構成 +---amon | | docker-compose.yml | | | +---data | | Dockerfile | | | +---perlcli | Dockerfile | +---logs | +---www cpanfile 各種設定ファイル amon/docker-compose.yml version: "2" services: data: build: ./data volumes: - ../:/data p

    Docker で Amon2 の開発環境を構築 - takaya030の備忘録
  • Day 1: Getting Started

  • MouseとText::Xslateをリリースした - Qiita

    この記事はPerl Advent Calendar 2017の11日目の記事です。 昨日はtsucchiさんのMinion についてでした。Minionはv8からadmin uiが付属するようになったらしいので使わねばと思っていたところでした。 さて今日は、先日僕がメンテナになりリリースしたMouseとText::Xslateについて なぜメンテナになりリリースしようと思ったか どういう変更をしたか を書きたいと思います。 なぜメンテナになりリリースしようと思ったか MouseはShawn M Mooreさん作のPerl5に格的なオブジェクト指向プログラミングを導入するものです。 Text::Xslateはgfxさん作の高速なtemplateエンジンです。 この2つのモジュールはどちらも広く使われていて、Perl5が今後も実用的な言語であるためにはなくてはならないものです。一方でオリジナ

    MouseとText::Xslateをリリースした - Qiita
    yassan0627
    yassan0627 2017/12/12
    version表記の問題、minil化の話とか、Perl5.26の@INCの話、Windowsへの考慮とかモジュールのメンテの話があってとても参考になるなぁ。ありがたい。