タグ

perlに関するziguzaguのブックマーク (843)

  • Data::ObjectDriver 0.10

    Data::ObjectDriver 0.10 をリリースした。 SIXAPART/Data-ObjectDriver-0.10 テストとドキュメントの修正だけのバージョンだけど 0.09 から 4 年弱を経ての復活。 大人の事情で宙ぶらりんになっていた PAUSE の SIXAPART アカウントを復活しつつ、前メンテナの Yann から Github 上のリポジトリを transfer してもらい再び Six Apart としてメンテナンスすることに。 sixapart/data-objectdriver Pull Request もながらく放置されてしまっているけどなるだけ近いうちに対応する方向で。Movable Type をはじめその他のサービスでも使っているので、今後はそれなりにメンテナンスされていくことになるはず。 ご利用中の皆様におかれましては引き続きよろしくお願い致します。

  • おそらくはそれさえも平凡な日々: Test::mysqldのcopy_data_fromでテストが更に捗る話

    少し前ですがTest::mysqld 0.17からは copy_data_fromというオプションが加わっています。 これは、Test::mysqld起動時にコピー元のdataディレクトリを指定できるもので MySQLの起動時間を節約することができます。テスト開始時にDBに大量のデータを 入れておきたい場合に特に有効です。 特にゲームなどの場合は、大量のマスタデータもコードの一部と言えるので、ちゃんと 全部流し込んでからテストを実施したいという要件があるので重宝します。 さて、そのdataディレクトリをどうやって作ればよいかという話になるのですが、 それも、Test::mysqldに事前に作らせてどこかに配置しておけば良いでしょう。 手順としては例えば以下のようになります。 ‘tmp/test_mysqld_data’ をdatadirにしてTest::mysqldを起動 DDLとマスタデ

  • Mojolicious 4.0 is coming soon! | Joel Berger [blogs.perl.org]

    As a newer member of the Mojolicious Core Development Team, I am more than usually excited for a Mojolicious release. This is because the next major release, version 4.0, is set to ship very soon! For those of you who don’t know, Mojolicious is a modern Perl web framework which is lightweight and easy to get started learning and using, while containing features that are cutting-edge. It’s asynchro

  • Monoceros雑感 - kazuhoのメモ置き場

    Monoceros は @kazeburo さんが開発してる Plack 用ウェブサーバ。prefork型だけど、待機中の接続をイベントドリブンのマネージャで管理することで、同時接続10,000とか行ける(ソケットの受け渡しは SCM_RIGHTS とか使う)。 で、雑感 大好き!!! Starletより遅い問題は、以下のようにすれば解決できると思う listen するソケットに TCP_DEFER_ACCEPT つけて、accept(2) は worker でのみ実行する worker は HTTP レスポンス送信後に read(2) してみて、後続のリクエストが来てない場合にのみ、マネージャプロセスにソケットを返還する (追記) 「返還」ではなく、マネージャプロセスが管理しているソケットのいずれかにデータがきている場合のみ、そのソケットとworkerのソケットを「交換」する、とすれば

    Monoceros雑感 - kazuhoのメモ置き場
  • Perl5 Census Japan 2013をまとめてみました : D-7 <altijd in beweging>

    Perl5 Census Japan 2013に回答いただいた皆様、ご協力ありがとうございました!知らなかった人のために説明しておくと、私が2013年4月7日から19日までの間アンケート形式で日でのPerlの利用状態等を知りたいと思い回答を募りました。回答数は394でした。 なるほどねー、へー、と思いつつデータを見ていました。取り急ぎ今回はシンプルな回答の集計結果をお知らせしようと思います。これからさらに面白い解析は是非このエントリの最後にあるデータを使ってみていただけると嬉しいです。 それでは一個一個紹介していきます。まずは回答者の居住地域。圧倒的に関東優勢。調べた事ないけど、やっぱりIT系の人はほとんど東京近郊に集まってる、ということでいいんかな。ちなみに中国地方がゼロ、ってのがなかなか味わい深いw Perl歴。古くから広まっている言語、という事もあり10年選手が多い。 Perl熟練

    Perl5 Census Japan 2013をまとめてみました : D-7 <altijd in beweging>
  • https://www.tamashiro.org/2012/12/oneman.html

  • 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 をコマンドラインでみる
    ziguzagu
    ziguzagu 2013/04/05
    書いた
  • perl-5.8と5.16でStarletのベンチマークを取って比べてみる - Hateburo: kazeburo hatenablog

    perlのバージョン上げて高速化!yay— masahiro naganoさん (@kazeburo) 2013年3月13日 の検証をいろいろついでにやってみた。 環境は Xeon L5630 (2.13GHz) 4コア8スレッド x 2 なサーバ。ベンチマークをクライアントは同じスペックの別のサーバです perl-5.8はCentOS5のsystem perl $ /usr/bin/perl -v This is perl, v5.8.8 built for x86_64-linux-thread-multiperl-5.16はperlbrewにてインストールしたもの $perl -v This is perl 5, version 16, subversion 3 (v5.16.3) built for x86_64-linux5.16はthreadもoffになっています ベンチマーク

    perl-5.8と5.16でStarletのベンチマークを取って比べてみる - Hateburo: kazeburo hatenablog
    ziguzagu
    ziguzagu 2013/03/14
    去年末にStarmanで5.8->5.12(mod_perl1併用のせいでここが限界...)というのをやったけど、省メモリ化もされてたり。Perlbal は逆に 5% 遅くなったりもしたけど...(5.14ならその遅くなった分とりかえせてたけど)。とかで同意。
  • おそらくはそれさえも平凡な日々: CPANモジュールのパッケージングの歴史

    最近同僚が次々とCPAN Authorになってて良い流れだなーとか思っています。 ただ、CPANへのモジュールの上げ方がわからないとか、M::Iを使えばいいのか M::Bを使えばいいのか、それらがそもそも何やってるのか分からないという話も 聞くので、僕自身もその辺の知識を整理してアップデートしました。 とりあえず、今はModule::Buildを使っておけば良いんじゃないかと 思っていますが、そこに至る歴史的経緯をまとめてみます。 大体、以下に書いてあることに加えて、最近の動きを書いています。 Module::Build:MakeMakerの後継者を目指して PerlでCPAN形式のモジュールを配布する場合は、Makefile.PLなりBuild.PLなりを モジュール作者が用意して、それがインストールに必要なファイル類を自動生成 するという流れになっています。 既存の雛形を使うと色々ファ

  • 最近の Module::Install で Travis るときの注意ポイント - unknownplace.org

    Travis は Github 連携の CI サービスで、結構前に Perl にも対応しているので最近更新したレポジトリには基的に .travis.yml を置いて便利に使わせていただいていたのですが、 いままで使っていた設定だとtravis上でうまくテストが通らなくなってしまった。 今まで使っていた方法は、まず gfx 考案の Makefile.PL をベースに Makefile.PL をこんなかんじで書く: use strict; use warnings; BEGIN { my @devmods = qw( Module::Install::AuthorTests Module::Install::ReadmeFromPod Module::Install::Repository ); my @not_available; eval qq{use inc::Module::Inst

  • Sub::Inspector というモジュールを書いた - Cside::Weblog

    https://metacpan.org/module/Sub::Inspectorcoderefから以下の情報を簡単に取り出すモジュールです。 アトリビュート プロトタイプ 元のメソッドが定義されているファイル 元のメソッドが定義されている行番号 名前 いずれも標準モジュールの B.pm を使えば出来ることですが、いちいち使い方を調べるのもしょうもないのでモジュール化するに至りました。インターフェイスは以下のとおりです(PODそのまま)。 use Sub::Inspector; # get file, line, name (oo interface) use File::Spec; my $code = File::Spec->can('canonpath'); my $inspector = Sub::Inspector->new($code); print $inspector->

  • DB操作ツール Emacs DBI を作ってみた - 技術日記@kiwanami

    去年からほそぼそと作ってきた、EmacsからDBを操作できるツール Emacs DBI を紹介します。 Emacs DBI の簡単な紹介 このツールの目的は、クロスプラットフォームで便利なDB操作環境を実現することです。 pgAdmin や MySQL Query Browser のようなGUIの良さをCUIで実現してみようとしてみました。すなわち、ぼくのかんがえたさいきょうのDBツールです。ちなみに、このツールにとってEmacsはただの実行環境です。Emacs使わない人でも使うと便利だと思います。 データベース画面 e2wmで3ペインの画面 機能概要 以下のような機能があります。 EmacsとDB接続可能なPerlが動けばターミナルでも何処でも動く DB定義、テーブル定義がすぐ見れる auto-complete によるSQL補完 接続先DBにからキーワード、型名、テーブル名、カラム名など

    DB操作ツール Emacs DBI を作ってみた - 技術日記@kiwanami
  • microdata を適当に抜き出す Perl スクリプト | tech - 氾濫原

    あんまり仕様書読みこめてないけど書くだけ書いてみた。CPAN にあるのは依存がひどいし、別に HTML::Parser 的なもの一個の依存で JSON 返すようなのでいいじゃんと思った。やる気があればテスト書いて CPAN にあげたりしたいけど、あんまりやる気わかない。 結局 HTML::Parser ではなく HTML::TreeBuilder::LibXML にしたけど、普通に入るモジュールなのでよさそう。 レポジトリをつくってテストを書いた。 https://github.com/cho45/HTML-Microdata/blob/master/lib/HTML/Microdata.pm use v5.12; use LWP::Simple qw($ua); use URI; use JSON::XS; my $uri = URI->new('http://www.lowreal.n

  • ベンチどうしますか? - Articles Advent Calendar 2011 Dbix

    どうもnekokakです。 みなさんDBIを使っているコードのベンチマークってどうしてますか? SQLのチューニングであればいいのですが、ロジックのベンチマークを取りたい時に 実際にdatabaseにクエリなげてしまうと、ネットワーク通信等が発生し、細かいロジックのチューニングの邪魔になることがあります。 たとえば私はTengのチューニングをするときに、バックエンドのdatabase性能なんてどうでもよくて、 プログラムの性能をみたいわけです。 そんなときに便利なのがTest::Mock::Guardです。(え Testというnamespaceにありますが、やっていることはコードをさしかえることなので これをつかって実際にデータベースにクエリなげるところとかをフガフガします。 例えばTengのベンチマークを取る時に試したコードは以下のようなものです。 #! /usr/bin/perl us

    ベンチどうしますか? - Articles Advent Calendar 2011 Dbix
  • http://perladvent.pm.org/2011/index.html

  • Config::ENV - 環境変数で config を切替えるためのモジュール - Articles Advent Calendar 2011 Hacker

    前置き こんにちは。cho45 です。みなさん、意識は高まっていますか? 僕は上々です。今回は拙作の Config::ENV というモジュールを紹介させて頂きます。 アプリケーション開発をするとき、開発用・テスト用・番用で、設定を変えたいわけですよね。だいたいのウェブアプリケーションフレームワークでは、環境変数にある値を設定することで、複数の設定を一括で切替えられるような機能を提供していると思います。Config::ENV は、その機能を1つのモジュールとしたものです。 Config モジュールを書く とりあえず簡単な使い方を紹介します。まずは以下のように設定を保持するモジュール (MyApp::Config) を作ります。 package MyApp::Config; use Config::ENV 'PLACK_ENV'; # (1) common +{ # (2) api_key

    Config::ENV - 環境変数で config を切替えるためのモジュール - Articles Advent Calendar 2011 Hacker
  • Yokohama.pm #8 で cpanm + OrePAN についてプレゼンしてきました - *Acme::Person::Bonnu

    去る 2011/11/18、Yokohama.pm #8 にて、プロジェクトで利用する CPAN モジュール群の部分ミラー(tarball のアーカイブ)を作りましょうという話をしました。 OrePAN と cpanm を使ったCPAN モジュールの部分ミラーの運用管理 :Yokohama.pm #8 View more presentations from boxphere プレゼンの内容は、今回のプレゼン中でも1、2番目に簡単だった気がします。 当は kazeburo さんの10ヶ月前の記事で十分なのですが、もっと(元が)参照されるべきかなと思ったので。 特に mac で作って linux番、なんて感じのサービスをやられている方には参考にしていただきたいです。 - carton については、carton --bundle や cpanfile について少しでも意見を出せるように

    Yokohama.pm #8 で cpanm + OrePAN についてプレゼンしてきました - *Acme::Person::Bonnu
  • cpanfile

    cpanfile is yet another format to declare CPAN dependencies of your Perl application.

    cpanfile
  • The End Of 5.6 Is Nigh! | Schwern [blogs.perl.org]

    It's that time again! Time when I hammer the last few nails in the coffin of a version of Perl. A few years back, I killed 5.004 and 5.005 in a stroke by uping the minimum version of Test::More, upon which 80% of CPAN relies, from 5.004 to 5.6.0. In a few months I'll be doing it again. The next major release of Test::More (aka Test::Builder1.5) will support 5.8.1 and up. ExtUtils::MakeMaker will p

  • にひりずむ::しんぷる - Git ライクなコマンドライン引数を処理できる Getopt::Compact::WithCmd を書いた

    近いうちに水性ペンを買います。(挨拶) コマンドライン引数を処理するモジュールっていっぱいありますね!ありすぎてどれがいいかよくわからないし、「まぁぶっちゃけ Getopt::Long さえあれば大体いいよね!コアだし!」って感じですが、まぁなんか書いた。 xaicron's p5-Getopt-Compact-WithCmd at master - GitHub App::Cmdとかありますが、あれはモジュール化しなきゃいけなくて、大変めんどうです。*1 俺は一枚のスクリプトに書きたいんだ!! サブコマンド前提 usage は自動生成 default や required の指定が可能 依存が少ない(かも)*2 という感じです。最初は、Getopt::Compactを継承して書いてたんですが、途中からなんかあびゃーってなったのでやめました。使い方は大体一緒ですが。 Getopt::Com