Perl
もの凄く久しぶりにはてダにログインしたので、はてな記法を皆目忘れてしまった訳ですがこんにちは! ブログを書くまでが YAPC だって事なので書いてみます。 まずスタッフの皆さんお疲れさまでした。yusukebe が主体になっての初の YAPC だけど何ら違和感な…
こちらでもお知らせしちゃいます!http://blog.perlassociation.org/2012/03/perldocjp.htmlにて詳しく書きましたが、perldoc.jp の運営母体を JPA に移管する事になりましたので、デザインの公募を行います。もしお知り合いにデザイナー等いましたら、お声…
MyTAP という MySQL 上で Test Anything Protocol を実現してしまうというプロダクトがあります。これと TAP::Parser::SourceHandler::MyTAP に付属している my_prove コマンドを使うとかなり簡単に SQL プログラミングでテストを行う事が出来ます。また MyS…
それ perldoc -M と Pod::Strip で出来ます。例えば、 $ perldoc -MPod::Strip AnyEventみたいな感じですね。AnyEvent の pod 部が多過ぎてソース読むのが大変だったので、これで読みやすくなりますね。 ひょっとしたらもっと良い、あるいはシンプルな方法が…
どうも Lion 環境下だとそのまま EV-4.03 はインストール出来ないみたいですね。 memoryless sources — Lion で Plack をインストールすると EV のテストでエラーがでる。 9891 – static const struct optimized-away incorrectly by llvm-gcc Trouble insta…
まずは自分のスライドですが公開しました。 Mobage オープンプラットフォームの事件簿 ちょっと Mac の PowerPoint のせいかどうか分からないけどスライドがプロジェクタに映らず急遽 PDF に変換したりして、最大化出来なかったりしてお見苦しい所があったか…
さて、ちょっとしたことからタイトルのようなモジュールを書いて見ました。Iterator::GroupedRange モジュールは簡単に説明すると、リストまたは別の(複数行ずつ返す)イテレータから指定行数分まとめて列挙するというモジュールです。0.01 で SYNOPSIS を思…
id:kazuhooku さんがかつて作った KeyedMutex を memcached でやってしまおうと言うのがこのモジュールの目的です。KeyedMutex の場合は、keyedmutexd と言うそれ専用の daemon を立ち上げなければいけませんが、このモジュールの場合は既存のシステムに mem…
さっき nekokak さんと xaicron さんにそそのかされて Test::Mock::Guard ってモジュールを書いてみました。そもそも Perl には Test::MockObject と言う汎用の Mock モジュールがあるんですけど、あれこれ余計な機能がたくさんついてたり Mock 化すると多分…
makamaka さんが YAPC Asia 2010 にて発表した XSからPPへ - YAPC::Asia Tokyo 2010 に既に書いてあるんだけど、備忘録を兼ねて。JSON にする際に違いが出てくる訳ですがまずは論より証拠。 $ perl -MJSON -e 'warn encode_json(+{ foo => 1, bar => "1", ba…
さて、今日は selectcol_arrayref です。昨日、会社のグルメな同僚に教えて貰いました。ちょうど 生 DBI ユーザーのための DBI Cookbook (1) - Yet Another Hackadelic にて selectall_arrayref + Slice, selectall_hashref などの使い方を書きましたが、こ…
重要id:holidays-l さんがこの記事の誤りと、ちゃんとした解説を書いてくれているので、そっちを参照して下さいませ。以下、そのつもりで読んで下さい。MySQL から UNIX_TIMESTAMP() と NOW() の値をこんな感じで出します。 [12:13:13 root@bopobo/test :4] …
はい、@941 さんを初めとして、@lestrrat さん、JPA の皆様って僕もですけど、それとボランティアスタッフの皆さん、スピーカーの皆さん、ご来場者の皆さん3日間お疲れ様でした。そして、今年も盛り上がりましたね。さて、後半だいぶ時間が押して早口になっ…
sharding やら partitioning とかし始めると段々とその key が特定のノートやパーティションに収まるように分類した上で処理とかしたくなる訳です。 最近、モバゲーのオープンプラットフォームのプロダクト全てで使っている、DBIx-DBHResolver にちょこちょ…
ちょっと忙しいので感想とかは後で><というわけで行って参りました北海道。前日頑張ってスライド書いては呑んでスライド書いては呑んでの繰り返しでホテルの朝食を二度とも逃すという体たらくぶりでしたw Web テクノロジーセミナー in Hokkaido mbga Open…
まさかの続編ですよwww HandleError を使ってより詳しいエラーを得る 今日、帰りに @myfinder さんと話していて、syslog-ng に吐かれるエラーで Too many connection とかをちゃんと監視しつつも、エラーメールボムによって大事な思い出が消えたりしない…
Module::ExtractUse で何となく出来る。 perl -MModule::ExtractUse -le 'my $p = Module::ExtractUse->new; my @used; while (my $module = shift @ARGV ) { $p->extract_use($module); push(@used, $p->array); } my %seen; @used = sort { $a cmp $b } gr…
1ヶ月半ぶりのエントリです。皆さんお元気ですか? 何故か最近 Eclipse ばっかり使ってる zigorou でございます。12.2.1 DELETE 構文 を見ていたら複合 DELETE 構文ってのが有ったので試してみました。前提としてレコードがうんざりする程多いテーブル、、、…
やってみたかったからついやってみた。 #!/usr/bin/perl use strict; use warnings; use Data::Dump qw(dump); use DBI; use Test::More; use Test::Exception; use Test::mysqld; use Test::TCP; sub setup_master { # http://dev.mysql.com/doc/refman/5.1…
今まで使ったこと無かったけど、これは便利だ。 #!/usr/bin/perl use strict; use warnings; use IO::String; use XML::Beautify; use XML::Writer; my $osns = 'http://ns.opensocial.org/2008/opensocial'; my $buffer = IO::String->new; my $writer = XM…
一応、インターフェースとしては存在してるんだけど、cpan-packager コマンド経由だとどうにもならない。 $ perl -d /usr/bin/cpan-packager --module OreOre::Module --builder RPM --conf /path/to/cpan-packager.yaml DB<1> x use CPAN::Packager::Builde…
コラボレータに加えて貰って、0.04 をさっき id:ikasam_a に ShipIt して頂きました。そのうち cpan コマンド等でインストール出来ると思います。id:ikasam_a++URI::Template::Restrict なんですが、extract() の処理が process() と同様の厳格なルールにな…
さてと、モバゲーオープンプラットフォームが先日やっと始まりました^^ みなさん是非遊んで下さいです。d:id:ZIGOROu:20091125:1259163476 のさらに続編です。 ShowErrorStatement でエラー時に発行されていたクエリを表示する #!/usr/bin/perl use Carp; …
訂正 (2009-12-09T12:55:19+09:00) id:charsbar さんに教えて貰ったんですが依存してる Module::Pluggable::Object の except, only とかを使えば普通に出来た罠。 __PACKAGE__->config( setup_components => ['MyApp::Web::Model::Damepo',] ); とかで同様…
d:id:ZIGOROu:20090814:1250262134 のさらに続編です。 現在接続している dbh 全てを disconnect したい場合 use strict; use warnings; use DBI; ### なんかいっぱい接続したりとかする my %drhs = DBI->installed_drivers; for my $drh ( values %drhs ) {…
SELECT * FROM hogehoge WHERE hoge_flags & 2 = 0; みたいのを作りたい場合、 use strict; use warnings; use Data::Dump qw(dump); use SQL::Abstract; my $sql = SQL::Abstract->new; my ($stmt, @bind) = $sql->select("hogehoge", ["*"], +{ hoge_flags…
挙動確かめる用。ちなみに Exception::Class だと pacakge をわざわざ明示的に割り当てる必要は無い。 #!/usr/bin/perl package ThrowableProcess::Exception; use base qw(Error::Simple); package ThrowableProcess::FirstException; use base qw(Throwabl…
id:kazuhooku さんの指摘 *1 を受けて transaction してた所を修正。AutoCommit をとりあえず 1 にしておきました。 #!/usr/bin/perl use strict; use warnings; use DBI; use Perl6::Say; use SQL::Abstract; use SQL::Abstract::Plugin::InsertMulti; use …
作ってみました。元ネタは MySQLにおけるbulk insert と bulk update - 金利0無利息キャッシング – キャッシングできます - subtech です。bulk insert, bulk update *1 が出来ます。 SQL-Abstract-Plugin-InsertMulti-0.05 - add mysql bulk insert support…
http://www.art-code.org/presen/yapcasia2009/ に置きました。前半は以前に書いたブログのまとめ的な感じになっていて、後半は MySQL::Sandbox::Frontend と言うモジュールの話をしてみました。make_sandbox コマンドの実行は結構重たくて、毎回 Sandbox 作…