タグ

Perlに関するe-kurodaのブックマーク (72)

  • Test::Mock::Guard Released - 日向夏特殊応援部隊

    さっき nekokak さんと xaicron さんにそそのかされて Test::Mock::Guard ってモジュールを書いてみました。 そもそも Perl には Test::MockObject と言う汎用の Mock モジュールがあるんですけど、あれこれ余計な機能がたくさんついてたり Mock 化すると多分元に戻せないと言うのがあってもっとシンプルな奴がほしいなと思って作ってみた次第です。SYSNOPSIS のコピペですけど、 use Test::More; use Test::Mock::Guard qw(mock_guard); package Some::Class; sub new { bless {} => shift } sub foo { "foo" } sub bar { 1; } package main; { ### このスコープでは Mock 化されてる my

    Test::Mock::Guard Released - 日向夏特殊応援部隊
    e-kuroda
    e-kuroda 2011/03/09
    Test::MockObjectで元に戻せない場合ってあるのか。
  • Perlの開発環境構築メモ - hide-k.net#blog

    最近、社内で初対面の人に自己紹介すると「あ!twitterでfollowしてます。AKB好きな方ですよね?」と辱めを受けてることが多くて色々反省しています。 こんばんは。 先日、会社で新しいMac Book Airを支給されて開発環境を再構築して、せっかくの機会だったので自分の環境をメモりました。 YAPC::Asia 2010でtokuhirom氏の「モダンな Perl5 開発環境について」で大きく取り扱われたり、あちらこちらで散々エントリされていますが毎回ぐぐるのも面倒なのではっときます。 0. 下準備 gccや各種ライブラリが必要なので何はなくともXcodeをインストールします。僕はiOS SDK付きをダウンロードしてインストールしました。 ついでにhomebrewもインストールしておきます。 sudo dscl /Local/Default -append /Groups/staf

  • Modern Perl | Onyx Neon Press

    A word from our authors… “Aliens!” The Dread Pirate Jack Spartan spit the word carelessly across the beach. He sat just shy of the water’s edge and watched the ship—his ship!—soar ever smaller to the lee of the sun, where a shadowy hulk menaced the otherwise blue sky. There would be no third hijacking, he resolved. The tropical sun bore down. Jack found shade under a palm tree and resumed his read

  • http://bulknews.net/lib/mailmag/29/mag.txt

  • にひりずむ::しんぷる - DBI で実際に発行されるクエリーを取得する DBIx::QueryLog を書いた

    季節が変わって、早速風邪をひいています。 さて、もう秋を通り越して冬の様相を呈してきた昨今ではありますが、DBI では、普通はプレースホルダを使い my $stmt = 'SELECT * FROM user WHERE user_id = ?'; my @bind = ($user_id); $dbh->do($stmt, undef, @bind); とか書くと思います。 このときに、実際にバインドされた後の SQL をみたいなーって衝動に駆られると思いますが*1、どう頑張ってドキュメントを読んでもわかりませんね。 こういうときは仕方ないので、$stmt と @bind を両方ログに出してお茶を濁していました。 $self->log->_dump($stmt, @bind); # => SELECT * FROM user WHERE user_id = ?, [1234] でもこれっ

  • YAPC::Asia 2010 スライドまとめ - punitanのメモ

    見つかったスライドまとめ(敬称略) 観測範囲狭すぎ & twitterで流れて思ったほどみつからないのでヘルプミー RSS フィードだけでもなんでもいいのでまとめて reblog する仕組みがあってもよさげ。 Youtube yapcasia - YouTube タイムテーブル YAPC::Asia 2010 前夜祭 : ATND YAPC::Asia Tokyo 2010 Timetable YAPC::Asia 2010 前夜祭 イントロダクション yusukebe 10min WAF作者+利用者の集い kamui – nekokak 10min Ark – typester ( 代打 sugyan ) 10min YAPC::Asia 2010 を終えて - すぎゃーんメモ Amon – tokuhirom 10min Mojo – charsbar 10min Polocky –

    YAPC::Asia 2010 スライドまとめ - punitanのメモ
  • はてなグループの終了日を2020年1月31日(金)に決定しました - はてなの告知

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

    はてなグループの終了日を2020年1月31日(金)に決定しました - はてなの告知
  • Perlで単体テスト - yokkunsの日記

    Perlの単体テスト、特にMockObjectを使ったテストについての情報が少ない気がするのでまとめてみる。 前提 モジュールは、CPAN形式であると前提。雛形は、Module::Starterで作成すると良い。 テストは、Test::Perl::Criticを入れる。 インストール $ sudo cpan Module::Starter $ sudo cpan Module::Starter::PBP $ sudo cpan Test::Perl::Critic 初期セットアップ $ perl -MModule::Starter::PBP=setup モジュールの作成 $ module-starter --module=Ysm::Example $ cd Ysm-Example $ ls Build.PL Changes MANIFEST Makefile.PL README ignor

    Perlで単体テスト - yokkunsの日記
  • AnyEventに関する写経用サンプルプログラムリンク集(Tatsumaki含む) - メメメモモ

    AnyEvent(Tatsumaki)の勉強で写経するのに良さそうなサンプルプログラムがあるページを集めました。 第13回 AnyEvent:イベント駆動モジュールの方言を吸収する(モダンPerlの世界へようこそ) Hello World的な短いサンプルプログラム AnyEventでechoサーバ - すぎゃーんメモ AnyEvent::Socket, AnyEvent::Handleを用いたechoサーバ AnyEvent::Twitterの使い方 - すぎゃーんメモ AnyEvent::Twitterの使い方 A simple chat server in AnyEvent - unknownplace.org チャットサーバ AnyEventでの簡単なFIFOキューの作り方 - D-6 相変わらず根無し AnyEvent で plagger-ircbot 的なのかいた IRCのpro

    AnyEventに関する写経用サンプルプログラムリンク集(Tatsumaki含む) - メメメモモ
  • mbga Open Platform and Perl

    モバゲーオープンプラットフォームでどのように Perl を使っているかのプレゼンテーションです。Read less

    mbga Open Platform and Perl
  • Perl 非同期プログラミング

    Ohotech 特盛 #10 ( http://ohotech.connpass.com/event/7517/ )で発表した資料です。

    Perl 非同期プログラミング
  • 複雑なデータ構造はData::Visitor::Callbackで簡単一発変換 - Unknown::Programming

    ハッシュと配列の参照が入り交じったような複雑なデータ構造の、全value を均等に加工したかったので次の様にしてみました。 (中略) すでに似たモジュールがある気が激しくしています! ご存知でしたらぜひ教えてくださいませ。 [perl] 複雑なデータ構造のvalue を一気に書き換える方法 - harupiyoの日記 ということでData::Visitor::Callbackがズバリそれにあたるものじゃないかなーと。 use strict; use warnings; use Data::Dumper; use Data::Visitor::Callback; my $rh_testdata = { 'a' => 1, 'b' => { 'aa' => 1, 'ab' => [ 1, 2, 3, \ 'test', 5 ], 'ac' => 3, }, 'c' => 3, 'd' => 4

    複雑なデータ構造はData::Visitor::Callbackで簡単一発変換 - Unknown::Programming
  • Perlで+を使うと幸せになれるよ (*´Д`)ノ - (゚∀゚)o彡 sasata299's blog

    2009年06月12日00:04 Perl Perlで+を使うと幸せになれるよ (*´Д`)ノ use constant を使って、リファレンスを定数として宣言するときってたまにありますよね。こういう値をデリファレンスするにはどうしていますか??僕はこうしていました>< #!/usr/bin/perl use strict; use warnings; use constant DATA => { aaa => 1, bbb => 2, ccc => 3, }; my $data = DATA; print join " ", keys %{$data}; # aaa bbb ccc 一度変数に値を入れるあたり、何かいまいちですね。。。この解決策を実は今日たまたまプログラミングPerlを読んでいて発見しました。こんな風に+を定数の前に付けてあげれば、文字列ではなく定数宣言された値だと判断し

  • String::Dictionary - naoyaのはてなダイアリー

    String::Dictionary という Perl のライブラリを作ってみました。 http://github.com/naoya/perl-String-Dictionary/tree/master String::Dictionary は検索エンジンその他を作る時に必要になる「辞書」のためのデータ構造 + API です。辞書は単語の集まりですが、これを配列やハッシュなどで持つのではなく、単語をすべて繋げた一つの大きな文字列として保持することでメモリ領域を節約したものです。単語は単に文字列連結で持つだけでなく、Front Coding で圧縮しています。以下簡単な解説です。 辞書は例えば [0] ・・・ jezebel [1] ・・・ jezer [2] ・・・ jezerit [3] ・・・ jeziah [4] ・・・ jeziel ...という風に単語を配列で持つことで実現でき

    String::Dictionary - naoyaのはてなダイアリー
  • 面白ラボBM11(ブッコミイレブン) 2009: perl-comletion.el

    perl-completion.el from imakado on Vimeo. perl-comletion.el は Emacsでのperlプログラミングを支援するマイナーモードです。 変数,メソッド,モジュール等のコード補完、perldocの閲覧の補助、manページの検索、等の便利な機能を提供します。 anything.el のインターフェイスを利用した、今までのEmacsの常識を覆す操作性を提供します。 install-elisp.elをお使いの方は M-x install-elisp-from-emacswiki perl-completion.el でインストール可能です。 詳しくは、下記のblog記事を参照ください。 http://d.hatena.ne.jp/tomoya/20090121/1232536106 スクリーンキャストは、http://vimeo.com/47

  • POE の処理の流れを把握してみる - 理系学生日記

    メモ書き程度に。 準備 POE の多くのクラスは、POE::Kernel に対する mix-in となっています。つまり、POE::Kernel パッケージに属するメソッドなのに、Kernel.pm にないんだけど…!! ということがよく起こる。これをなんとかするために、とりあえず TAGS ファイルを作っておきます。 $ DIR=/opt/local/lib/perl5/site_perl/5.10.0/ $ etags $DIR/POE.pm `find $DIR/POE -type f` mix-in なので、基的にはメソッドの多くが POE::Kernel に属しますが、ここでは便宜上、POE/hoge.pm に書かれているメソッドは POE::hoge::method と記述します。 主な流れ POE の主な処理は、POE::Kernel::run の呼び出しから始まります。P

    POE の処理の流れを把握してみる - 理系学生日記
  • Garuda - サービス監視フレームワーク 作った - lamanotrama's diary

    稼働中サーバのサービスの状態を監視するためのプラガブルフレームワークGarudaというのを作ったので、codereposに置いておきました。 Plaggerとか、mizzyさんのAssurerみたいなやつです。というか最初はそのAssurerを使う予定だったんですが、自分とこの環境に合わない部分を改造してるうちに、最初から作ってみたくなったんです。 とはいいつつ、かなりの部分をAssureから頂いたり参考にさせてもらっています。Garudaって名前も、Assurer(阿修羅)と同じく八部衆の迦楼羅からとりました。迦楼羅って鳥らしいんで、サーバ間飛び回ってる感じで意味的にもいいかなぁと。 プラグインアーキテクチャに関してはClass::Componentをベースにしたので、さほど考える必要はなかったんですが、仕様とか設計で結構悩んで、思ったより時間かかっちゃいましたね。経験値の足りなさを痛感

    Garuda - サービス監視フレームワーク 作った - lamanotrama's diary
  • Perlゼミ(サンプルコードPerl入門)

    Perl入学式 全6回のPerl入門講座。東京、大阪、沖縄、札幌で開催。(東京は4月と10月スタート、それ以外は5月スタート) YAPC::Japan Perlを軸としたITに関わる全ての人のためのカンファレンス。 東京 吉祥寺.pm 五反田.pm 大阪 なにわPerl 沖縄 沖縄.pm

  • k-means++を試し中 - のんびり読書日記

    http://d.hatena.ne.jp/kaiseh/20090113/1231864089 上の記事を見て、k-means++が面白そうだったので、ちょっとだけ試してみた。 k-meansは初期値に大きく依存するところが嫌い。初期値への依存度を軽減するために、初期値を変えて何回か試行してその中で一番良い結果のものを使用する、なんてことをしないといけない。そのため処理時間も馬鹿にならなくなってしまうので、ちょっとこれじゃあなあ…ということで使ってなかった。 でも今回のk-means++は初期値をうまく求めることで、精度と速度の向上が得られるらしい。これはうれしい! 論文著者のページにサンプルコードがあったので試してみようと思ったんだけど、MFCを使っているみたいで僕の環境ではコンパイルできず…。 http://www.stanford.edu/~darthur/kMeansppTest

    k-means++を試し中 - のんびり読書日記
  • Perlプログラマのためのgdb入門(at Shibuya.pm #9 LT) - とあるはてな社員の日記

    先日のShibuya.pm #9のLightening Talkで「gdbでXS on mod_perlをデバッグ」という話をしてきました。XSを使い出すと、従来のPerl的デバッグだけでは不十分なのでgdbをうまく使って、効率的にデバッグしましょう、という話です。実は、はてな社内では1年近く前に勉強で話したネタだったのですが、ようやく公開することができました。 Shibuya.pmでは5分という枠があったのでショートver.でしたが、ここでは制限はないので、来のロングバージョンの資料をアップします。ちょっと公開できない情報が混っていたので、xxxで隠していますが、ご了承ください。 ちなみに、Rubyとかでも似た感じでデバッグできると思うので、そちらの人も参考にしてください。長いよ!という人は、最後の「これは設定しておけ的gdb初期化マクロ」だけでもどうぞ。かなり便利です。 (資料公開が

    Perlプログラマのためのgdb入門(at Shibuya.pm #9 LT) - とあるはてな社員の日記