タグ

関連タグで絞り込む (259)

タグの絞り込みを解除

perlに関するlapis25のブックマーク (1,364)

  • CPAN Module のバージョン間 diff をコマンドラインでみる

    CPAN Module の変更点をサクッと調べる方法 というエントリーに反応してみるテスト。 僕は CPAN Module のバージョン間の diff をとるのに、search.cpan.org にある diff 機能を使う以下のようなやっつけスクリプトを使ってる。 #!/usr/bin/env perl use strict; use warnings; use LWP::Simple; my ($pkg, $from, $to) = @ARGV; $pkg =~ s/::/-/g; my $content = get("http://search.cpan.org/diff/${pkg}-${from}-${pkg}-${to}.-w.diff") or die "oops. no content. try again!\n"; print $content; たまに空のレスポンスが返

    CPAN Module のバージョン間 diff をコマンドラインでみる
    lapis25
    lapis25 2013/04/10
  • Re: “Test::Moreのsubtestのテストはどう書くのが一番きれいなのか" : D-7 <altijd in beweging>

    Test::Moreのsubtestのテストはどう書くのが一番きれいなのか コードを見る限り、ガードオブジェクト使うとteardown部分は気が楽ですよ。以下のような使い方をすればガードオブジェクトはスコープを抜けた瞬間に必ず実行されるのでteardownのタイミングなんて気にする必要さえない。 use Scope::Guard; subtest "A context" => sub { my $subject; my $setup = sub { $subject = Bar->new; return Scope::Guard->new(sub { undef $subject; }); }; subtest 'foo_method' => sub { subtest 'given xxxx arguments' => sub { my $guard = $setup->(); ....

    Re: “Test::Moreのsubtestのテストはどう書くのが一番きれいなのか" : D-7 <altijd in beweging>
  • Test::More で teardown/setup - tokuhirom's blog

    http://blog.ainam.me/2013/04/09/test-more-perl-testing/ http://lestrrat.ldblog.jp/archives/26535307.html package t::Util; use parent qw(Exporter); our @EXPORT = qw(lovetest $MOCK); use Test::More; sub lovetest { # setup local $MOCK = ...; # teardown は guard object で。 goto \&Test::More::subtest; }そしてテストケースはこう。 lovetest 'foo' => sub { ... $MOCK->do_something; };というのがここ数年はブーム。 Test::Class も最近はだいぶ使いやす

  • plenvを使ってみた. - Masteries

    2013-01-21 plenvを使ってみた. @tokuhiromさんがplenvという, Perl 5のインストール管理ツールを開発されたそうです. ブログ記事やREADMEをまとめてみると, plenvの特徴は... Rubyのrbenvから影響を受けている. perlbrewと違って, プロダクトごとにperlのバージョンを指定することができる. とても高速で, インストールも簡単. perlbrewのような機能を持つが, 完全な上位互換ではない. ...という感じっぽい. こういう時はグダグダ言わずに入れて試してみるに限る, というわけでさっそく導入してみましょうー! インストール plenvを導入する為にはCPAN/brew/gitを使う方法がありますが, 今回はgitを使って入れてみます. ただ特徴にも書いてあるとおり, どの方法を使うにせよインストールはとても簡単です

    lapis25
    lapis25 2013/03/30
  • Perl における一般的なコーディング規約について - tokuhirom's blog

    http://perldoc.perl.org/perlstyle.htmlhttp://perldoc.jp/docs/perl/5.8.0/perlstyle.podperlstyle.pod にのっているものが公式のスタイルガイドです(Larry 風)。 Larry has his reasons for each of these things, but he doesn't claim that everyone else's mind works the same as his does. このへんが Perl らしさ、というかそういうかんじですね。 Perl Best Practice にのっている Damian style もありますが、これはだいぶ癖がつよいです。 日では「miyagawa さんのスタイルにあわせておけば DIS られる心配はない」方式のコーディングスタ

    lapis25
    lapis25 2013/03/29
  • 「Webサービスのつくり方」 のつくり方

    2013/02/23 Kansai.pm 第15回ミーティング / Yusuke Wada a.k.a. yusukebeRead less

    「Webサービスのつくり方」 のつくり方
  • はてなグループの終了日を2020年1月31日(金)に決定しました - はてなの告知

    はてなグループの終了日を2020年1月31日(金)に決定しました 以下のエントリの通り、今年末を目処にはてなグループを終了予定である旨をお知らせしておりました。 2019年末を目処に、はてなグループの提供を終了する予定です - はてなグループ日記 このたび、正式に終了日を決定いたしましたので、以下の通りご確認ください。 終了日: 2020年1月31日(金) エクスポート希望申請期限:2020年1月31日(金) 終了日以降は、はてなグループの閲覧および投稿は行えません。日記のエクスポートが必要な方は以下の記事にしたがって手続きをしてください。 はてなグループに投稿された日記データのエクスポートについて - はてなグループ日記 ご利用のみなさまにはご迷惑をおかけいたしますが、どうぞよろしくお願いいたします。 2020-06-25 追記 はてなグループ日記のエクスポートデータは2020年2月28

    はてなグループの終了日を2020年1月31日(金)に決定しました - はてなの告知
  • 型一致ベースのテストに使えるPerlモジュール ~Test::Deep::Matcher,MouseX::Types~ | hirobanex.net

    PerlでTDD(テスト駆動開発)するなら覚えておきたいCPANモジュール群 』って記事書いたら、ありがたいことにikasam_aさんに「Tes::Deep::Matcherを書いたよ」ってご紹介頂きましたので、続けざまに型一致ベースのPerlのテストについていろいろと思うところを整理しておきたいと思います。 【宣伝】Yapc::Asia2012のトークに応募しています この記事アップしようとして、先の記事みたら、私のブログからしたらたくさんはてぶが付いているじゃありませんか!!そして、そのわり・・・。だったので、最初に紹介します。 Perlの最大のイベントYapc::Asiaが今年も開催されますが、今年はトークに応募してみました。バッチ処理とかジョブキューシステムとのQudoとかについて普段やっていることをまとめて発表する予定です。ご興味ありましたら、是非『不安定な環境の中でのバッチ処

  • Kyoto.pm Tech Talks 02を開催します! - kyotopm's blog

    こんにちは、@shiba_yu36 です。 次回のKyoto.pm開催のお知らせです! 次回は8/18(土) にTech Talksの形式でKyoto.pmを開催しようと思います。Perlに興味があれば歓迎なので、是非気軽にお越しください! 詳細としては 日時 : 2012/8/18 (土) 15:30-18:00 場所 : 株式会社はてな(http://www.hatena.ne.jp/company/location) 参加費 : 100円〜500円 学生は無料(当日のお菓子に使います。人数によって変動) としています。 参加したい方はATNDで受付をしていますので、以下からどうぞ! Kyoto.pm Tech Talks 02 懇親会は別枠でATNDを立てていますので、こちらからどうぞ。場所はそのままでピザやお酒などを買って、やろうと思っています。 Kyoto.pm Tech Tal

    Kyoto.pm Tech Talks 02を開催します! - kyotopm's blog
  • Perlの正規表現の限界を突破する - Islands in the byte stream (legacy)

    Perlerなら誰しも一度はお世話になったことのあるであろう、大崎氏のPerlメモというサイトがあります。 Perlメモ ここで紹介されているHTMLタグの正規表現は正規表現の叡智が詰め込まれたすばらしいものですが、Perlではこれである特定の文字列系に対してマッチを行うと、うまく動きません。具体的には、Perl 5.8系ではSEGVし、5.10以上だと警告が出た上で、来成功するはずのマッチに失敗します。もっとも、これはこの正規表現に問題があるのではなく、Perlの正規表現エンジンの限界です。これは、バックトラックをCレベルの関数の再帰で実装しているためです。 例: #!perl -w # complex_re.pl use strict; my $tag_regex_ = q{[^"'<>]*(?:"[^"]*"[^"'<>]*|'[^']*'[^"'<>]*)*(?:>|(?=<)|

    Perlの正規表現の限界を突破する - Islands in the byte stream (legacy)
  • はてなグループの終了日を2020年1月31日(金)に決定しました - はてなの告知

    はてなグループの終了日を2020年1月31日(金)に決定しました 以下のエントリの通り、今年末を目処にはてなグループを終了予定である旨をお知らせしておりました。 2019年末を目処に、はてなグループの提供を終了する予定です - はてなグループ日記 このたび、正式に終了日を決定いたしましたので、以下の通りご確認ください。 終了日: 2020年1月31日(金) エクスポート希望申請期限:2020年1月31日(金) 終了日以降は、はてなグループの閲覧および投稿は行えません。日記のエクスポートが必要な方は以下の記事にしたがって手続きをしてください。 はてなグループに投稿された日記データのエクスポートについて - はてなグループ日記 ご利用のみなさまにはご迷惑をおかけいたしますが、どうぞよろしくお願いいたします。 2020-06-25 追記 はてなグループ日記のエクスポートデータは2020年2月28

    はてなグループの終了日を2020年1月31日(金)に決定しました - はてなの告知
    lapis25
    lapis25 2012/04/27
  • Perl Ocean

    Overview Oceanは、XMPPプロトコルを中心とする、リアルタイムコミュニケーションフレームワークスイートです(XMPPプロトコルについては プロトコルガイドで解説します)。つまり、リアルタイムコミュニケーションサービスを実現するためのフレームワークの集合で、次のような機能の提供を実現することを目指しています。 一対一のインスタントメッセンジャー プレゼンスサービス グループチャット オーディオチャット、ビデオチャット イベントのプッシュ通知 また、他のJabber/XMPPライブラリやフレームワークと比べたときの特徴として、次のようなものを目指しています。 Webサービスとのインテグレーションを前提とした設計 クラスターサポート デファクトスタンダードな拡張を一通り標準サポートしたフルスタックフレームワーク WebSocketなどを利用したHTTP Bindingの独自サポート

  • なぜ Perl で配列に対して defined を使ってはいけないのか?

    defined の挙動で相談されたのでソースコードを見てみたら、配列に対して defined を呼んでいた。 最近の Perl では配列に対して defined を使うのは非推奨である(perldata や perlfunc 参照)。 ほとんどの人が望むような判定結果は返ってこない*1。 perl -e '@a = (); print defined @a ? 1 : 0; push @a, 1; print defined @a ? 1 : 0; shift @a; print defined @a ? 1 : 0' 配列が空かどうかならスカラーコンテキストで評価するだけで OK なのだが、Perl プログラミング経験上、1度は defined を使用してしまうだろう。 ただ通常は警告が出るのですぐ気がつく。 この警告は Perl 5.6.0 以降で出る。 #!/usr/bin/perl

    なぜ Perl で配列に対して defined を使ってはいけないのか?
    lapis25
    lapis25 2012/04/09
  • YAPC::Asia Tokyo 2012 [Sep 27, 28, 29]

    The world's largest YAPC is back! YAPC is a grassroots conference for geeks: it stands for Yet Another Perl Conference and is mainly targeted for Perl users, but have no worry! We have talks for everybody! It's more like a 3-day festival filled with fun and geeky-ness than a all serious conference. We're sure you can have lots of fun with us. Come see what's up with the Perl geeks, and what keeps

    lapis25
    lapis25 2012/03/26
    9/27-29のYAPC::Asiaに参加しよーっと!
  • RubyのMethod#source_locationをPerlで - Islands in the byte stream (legacy)

    [追記]Cside先生がUNIVERSAL::source_location_forとしてリリースしておりますのでcpanmでご利用ください![/追記] asakusa.rbでsource_locationというメソッドを教えてもらいました。 それによれば、Rubyのメソッドオブジェクト(UnbountMethod, Method, Procなど)にはsource_locationというメソッドがあり、そのメソッドが定義されたファイル名と行番号を取得することができます。これはクラス階層が複雑なときにデバッグに役立ちそうです。 Perlでも標準ライブラリに含まれるBモジュールを使って同様のことができるのでやってみました。 Ruby版: #!/usr/bin/env ruby2 require 'fileutils'; p FileUtils.method(:pwd).source_locat

    RubyのMethod#source_locationをPerlで - Islands in the byte stream (legacy)
    lapis25
    lapis25 2012/03/07
  • Read the Latest CI CD News

    Introduction Measuring and improving the productivity of DevOps teams has long been a major challenge. From purely technical metrics to more business-oriented ones, the choice of metrics often remains a… Among all the tools aimed at orchestrating containers, the two leading players are Docker Swarm and Kubernetes. Both provide solutions for container application management, as well as container ap

    Read the Latest CI CD News
  • PerlのWAFはMojolicious推しな件とそのノウハウ - ゆーすけべー日記

    Perlerな皆さん!WAFは何を使っていますかー!? 昨日行われたという「Perl Beginners #1」のレポートを漁っていると @hsksyuskさんのエントリにこう書かれていましたので僕もつい乗っかってみたくなりました。 PerlのWAFは何がいいの? @ytnobodyさんはKossy推し。 僕はAmon2推し。 ぼ、ぼ、ぼ、僕はMojolicious推し!!! ということでなぜ僕が今、Mojolicious推しなのかを探るためにその「いい点」と思っていること列挙してみました。 それと同時に悪い点も見えてきて、かつバッドノウハウもあるなーって感じなのでまとめてみます。 Mojoliciousのいい点 依存モジュールが無くポータブル ご存知の通りMojoliciousは標準で入っているモジュールに依存しているだけで、 残りは自前で実装しています。なので、 $ cpanm Moj

    PerlのWAFはMojolicious推しな件とそのノウハウ - ゆーすけべー日記
  • Lion での EV(libev) のインストール - 日向夏特殊応援部隊

    どうも Lion 環境下だとそのまま EV-4.03 はインストール出来ないみたいですね。 memoryless sources — Lion で Plack をインストールすると EV のテストでエラーがでる。 9891 – static const struct optimized-away incorrectly by llvm-gcc Trouble installing EV-4.03 on Mac OSX 10.7 (Lion) llvm-gcc のバグが原因だそうで、 $ perl Makefile.PL CC=gccとしてインストール出来ましたとさ!

    Lion での EV(libev) のインストール - 日向夏特殊応援部隊
  • Writing a prefork server / daemon using Parallel::Prefork - Articles Advent Calendar 2010 English

    Parallel::Prefork is a module I wrote back in the year 2008, which is basically an imitation of the excellent Parallel::ForkManager but with support for signal handling, an indispensable feature if you want to write a network server or a daemon program with features like graceful shutdown or runtime reconfiguration. The code below illustrates the basic usage of Parallel::Prefork. Upon the intantia

  • Parallel::Preforkのサンプルコードを読み解く - Mandy Code

    どうも、ひたすらに更新が遅くてすいませんすいません。 最近ものすごく勉強になることが多いんですがなかなかひとまとまりの文章にすることが難しいです。 でもどっかに書いてあるだろ、と思ってしまうのはよくないのでTips的にこまめに書けたらいいですね。 さて、題ですが、先日大量のサーバーにsshしてデータを取ってきて一覧表示するようなのを書いてた時、ものすごい時間かかったので並列処理をしようと思っていろいろ教えてもらったり調べてもらったりしました。 その中でzigorouさんにわざわざParallel::Preforkを使ったサンプルコードを書いて頂いたので、じっくり読んだら細かいところに気が遣ってあるなぁというコードだと思ったので、細かく読みといてみたいと思います。 全文はこちら。 まず冒頭部分、 my $pp = Parallel::Prefork->new(+{ max_workers

    Parallel::Preforkのサンプルコードを読み解く - Mandy Code