北海道苫小牧市出身の初老PGが書くブログ

永遠のプログラマを夢見る、苫小牧市出身のおじさんのちらしの裏

perl+web

今日はYAPC::Asia Tokyo 2013の2日目です

2日目です。地元開催なので、地の利を生かして朝からタリーズでのんびり朝食などとっております。今日もgihyo.jpさんのスペシャルレポートにレポーターとして参加しています。

YAPC::Asia Tokyo 2013 を終えて

今年もYAPCが終わった。スタッフを始めとした関係者の皆様には、本当にありがたいと思っている。また、gihyo.jpの担当の@k_takaさんには、今年も大変お世話になった。さて、今年のYAPCに参加して感じたことが2つある。まず、世の中は自分が思った以上に進ん…

今日はYAPC::Asia Tokyo 2013の1日目です

一日目です。今日もgihyo.jpさんのスペシャルレポートにレポーターとして参加しています。

今日はYAPC::Asia Tokyo 2013の前夜祭です

今年もYAPC::Asia Tokyoの季節がやって参りました。今年の会場は慶應義塾日吉キャンパスです。夕方から始まる前夜祭から参加する予定ですので、いつものように適当にメモをとっていきます。今年もgihyo.jpさんのスペシャルレポートにレポーターとして参加し…

今日はYAPC::Asia Tokyo 2012の2日目です

YAPC::Asia Tokyo 2012の最終日です。電源ケーブルを忘れたので一度家に帰りますが、東大内の伊藤国際学術研究センターに向かいます><今日もgihyo.jpさんの特集にレポーターとして参加します。@amayanさん、@moznionさん、ya_k0さん、@takayuki_hさんのメ…

今日はYAPC::Asia Tokyo 2012の1日目です

今日は昨日に引き続きYAPC::Asia Tokyo 2012の1日目です。東大内の伊藤国際学術研究センターに入り開会を待っております。今日もgihyo.jpさんの特集にレポーターとして参加します。昨日と同様に@amayanさん、@moznionさん、ya_k0さん、@takayuki_hさんが中心…

今日はYAPC::Asia Tokyo 2012の前夜祭です

今日はYAPC::Asia Tokyo 2012の前夜祭です。去年までとは会場が代わり、今年は東大内の伊藤国際学術研究センターにて開催されます。今日から最終日まで参加する予定ですので、いつものように聞いた話をリアルタイムでメモっていくつもりです。なお、今年もgi…

Re: Perlでちえんひょうか

dankogai 2012/08/26 01:48 http://blog.livedoor.jp/dankogai/archives/51059559.htmlPerlでちえんひょうか ありがたい先人の知恵に従ってみるとだいぶシンプルになって素晴らしいのだけど、dump_listの戻り値のvoidを評価させるのが泥臭くなった。 use str…

Perlでちえんひょうか

Perlは正格評価なので、無限リストにheadをかけても停止してくれない。 use strict; use warnings; sub nil() { 'Nil' } sub concat($$) { my ($x, $xs) = @_; [$x, $xs]; } sub repeat($); sub repeat($) { my $x = shift; concat $x, (repeat $x); } sub h…

Test::LeakTrace についてメモ書き

ハマったので未来の自分のためにメモ書きを残しつつ、今年もよろしくお願い致しますm(_ _)m。 Test::LeakTraceの特性 Test::LeakTrace で、以下のテストは通る。 my %x; no_leaks_ok { $x{x} = undef }; しかし以下のテストは通らない。 my @x; no_leaks_ok …

AE::cv->cb のコールバック実行タイミングについての小噺

$cv を実行が終わるまで取っておこうとして、 package CVPrinter; use strict; use warnings; use AnyEvent; sub new { bless {}, $_[0] } sub print_cv { my ($self, $cv) = @_; $cv->cb(sub { my ($v) = $_[0]->recv; print $v, "\n"; delete $self->{cv};…

Hokkaido.pm #6 は 12月10日 です

Hokkaido.pm #6 への参加申し込みはお早めにどうぞ。 今回は、懇親会の1次会までの参加です。今回は@sugyan さんの参加が確定してますし、@nekokak さんもスケジュールがあえばいらっしゃるようです。純粋にスキルアップを狙う人はもちろん、Perlを使ってい…

Directing AE with Arrows

@maki_daisukeさんに教えてもらったのを読んで実装してみた。 use strict; use warnings; { package AsyncArrow; use Scalar::Util qw/weaken/; use AnyEvent; use Exporter qw/import/; use Class::Accessor::Lite new => 1, rw => ['code']; our @EXPORT =…

「Hokkaido.pm のおかげで結婚できました」

めでたい RT @lestrrat: [YAPC::Asia のおかげで結婚できました」RT @hiratara: 無事に婚姻届が受理されたとこ。@Yappo 「YAPC::Asia のおかげで結婚できました」エントリありますか RT @hiratara: 無事に婚姻届が受理されたとこ。@lestrrat エアRTからの無…

今日はYAPC::Asia Tokyo 2011の2日目です

あいにくの雨ですが、今日も時間通り会場に到着しています。本日もgihyo.jpさんの特集のレポーターをやってます。参加されているみなさんと一緒に楽しみながらレポートしようと思っています。

YAPCで話さなかったこと

今回のトークでは「斜めの矢印」とか「合成」とかそういう言葉を説明に含める必要があったので圏論のことばや記法を前半で色々紹介しましたが、泥沼詳細には踏み込み過ぎないように気をつけました。その泥沼詳細にあえて踏み込んでみたい人のために、このト…

YAPCで話したこと

今回のYAPCでスピーカーデビューしてきました。スライドは以下にあります。 Monads in Perl (動画) 応募した当初は、十数名聞きにくればいいかなーと思っていたのですが、蓋を開けてみると結構な人数に聞いていただき、ほんとうにありがとうございました。今…

今日はYAPC::Asia Tokyo 2011の1日目です

YAPC::Asiaの季節がやってまいりました。昨日は寝込んでいましたが、今日は朝から出席します。場所は東京工業大学大岡山キャンパスです。なお、今年もgihyo.jpさんの特集のレポーターをやってます。会場の熱気を伝えられるよう、頑張ります。なお、機材トラ…

Data::Monad::CondVar をリリースしました

YAPC Asia 2011で話をする予定のモジュールをCPANへアップしました。Data::Monad::CondVarはJSDeferred みたいなもんです。 use AnyEvent; use AnyEvent::HTTP; sub random_choice { my ($data, $headers, $cb) = @_; my (@url) = $data =~ m{href="(http:[^…

Catamorphism の他の例

Catamorphismを使って二分木での畳み込みを定義すると比べると関連が見えてくるかも? リストの畳み込み 自己関手Fとして、型Xを1+A*Xへ移すものをとる。1+A*ArrayRef A→ArrayRef A なる以下のF代数が始対象となる。 sub array(;$$) { @_ == 0 ? [] # type 1…

Catamorphismを使って二分木での畳み込みを定義する

高階関数がなす圏上の自己関手Fとして、型Xを A+X*X へ移すものを考える。A+X*X は具体的には、$a∈A 、$x1, $x2∈X としたとき、$a または ($x1, $x2) の形を含むもの。F代数とは、FX→X のような射をいう。例えば、以下のような射A+Int*Int→Int。 sub choose_…

Tengのソースを読む(3)

Teng-0.11 IT'S IN ALPHA QUALITY. IT MAY CHANGE THE API WITHOUT NOTICE.」">*1の最後。プラグインを見てみる。 概要 第一回で見たようにPluginはTengクラスにメソッドを生やすものなので、どんなメソッドが生えるか見る。 Teng::Plugin::BulkInsert 複数…

Tengのソースを読む(2)

Teng-0.11 IT'S IN ALPHA QUALITY. IT MAY CHANGE THE API WITHOUT NOTICE.」">*1の続き。今日はSchemaクラスとRowクラス周り。 概要 Teng::Schemaと Teng::Schema::Table はスキーマ情報の保持、Teng::Schema::Declare とTeng::Schema::Loader, Teng::Schem…

Tengのソースを読む(1)

次はORMの最近の事情を知りたいのでTeng-0.11(ただし、「> IT'S IN ALPHA QUALITY. IT MAY CHANGE THE API WITHOUT NOTICE.」)。今日はTengクラス周り。 Tengでは Teng->new で得られるオブジェクトを起点に様々な操作を行う。DBやテーブルやカラムの情報を…

DBIx::TransactionManagerのソースを読む

今日はDBIx::TransactionManager-1.09。1ファイルしかないのでさっくりと。 中では2クラス定義がされていて、DBIx::TransactionManager と DBIx::TransactionManager::ScopeGuard。前者がメインで、後者はスコープガード用のクラス。 txn_begin の中では$dbh…

Amon2のソースを読む(5)

今日はAmon2-2.49のDSL周り。これで最後。 Amon2::Declare $c じゃなくて c() 使えたらいいよねって話。内容物の中では、t/ 内のExtended::V::MT::Context にて、テンプレからcを呼び出せるようにするために使っている。 Amon2::Lite Sinatra-ish な書き方が…

Amon2のソースを読む(4)

今日はAmon2-2.49のTriggerとPluggin。 Amon2::Trigger クラスに対してもインスタンスに対してもフックがかけられ、それぞれ@Class::_trigger と $obj->{_trigger} を使って保存される。get_trigger_code を呼ぶと関連するハンドラを全て取得できるが、イン…

Amon2のソースを読む(3)

今日はAmon2-2.49のscaffoldとDispatcher。--flavor=Basic が基本なんで、それを読む。 概要 scaffold 内のPerl関連のファイルはapp.psgiとYourProject.pmとYourProject::Webと YourProject::Web::Dispatcher だけ。実際のユーザ側の処理は YourProject::Web…

Amon2のソースを読む(2)

今日はAmon2-2.49のコンテキスト周りで、具体的には Amon2、Amon2::Web、Amon2::WebRequest、Amon2::WebResponse、ついでにAmon2::Config::Simple 。Dispatcher はこれらと粗結合なので、次回以降。他残っているのは、scaffoldのコードと、トリガーとプラグ…

YAPC::Asia Tokyo 2011 「チケット絶賛発売中です!」とのこと

YAPC::Asia Tokyo 2011 が10/13〜10/15 に開催されます。チケットの販売も始まってますので、買ってない方は締め切りが近いようなので早く買った方がいいです。今年は初スピーカーとして出られることになったので、Monads in Perlという題でこんな話とかこん…