日向夏特殊応援部隊

俺様向けメモ

Perl

Yokohama.pm Tech Talk #2 で LT してきました

無事に二回目のYokohama.pm Tech Talkを迎える事が出来ました。運営側の皆さん、スピーカーの皆さん、参加者の皆さんと、デジハリ横浜校の皆さん、本当にありがとうございました。さて、まずは自分のLTの資料を遅くなりましたが公開しておきます。 Perl 最速…

Yokohama.pm TechTalk ストリーミング中

ストリーミングで観れるます。 http://www.ustream.tv/channel/yokohama_pm_techtalk id:kdaiba++

ワイルド過ぎる realm のワイルドカードを何とかしたい - 前編 -

openid.realm の値が例えば、 *.org *.co.jp みたいなケース。これだと大多数のドメインを許可する事になってしまうので、これを避けたいと言う話。 その前にワイルド過ぎる realm の定義を決めてみる (ドメイン縛りで) ワイルドカードを指定する事によって…

Yokohama.pm TechTalk #2 は 8/22 に開催です

Yokohama.pm テクニカルトーク #2 を開催します → 参加募集終了 - Yokohama Perl Mongers http://yokohama.pm.org/wiki/index.cgi?Conference2 日時 2008/8/22(金) 18:00 Open 18:30 Start 20:30 End 場所 デジハリ横浜校 地図 って感じです。どういう訳か F…

LWP::UserAgent or LWPx::ParanoidAgent + Crypt::SSLeay でオレオレ証明書の検出

結論から言うと、オレオレ証明書を使った場合に LWP::UserAgent + Crypt::SSLeay は明示的なエラーを吐き出すのではなく、レスポンスヘッダ Client-SSL-Warning を付与してアクセス結果を返します。*1 簡単にテストする場合 $ lwp-request -e -d https://bad…

中間CA証明書のインストールと設定

d:id:ZIGOROu:20080805:1217923189 の続き。例えば先のエントリで書いたスクリプトで、https://wassr.jp/ にアクセスすると見事にオレオレ判定されちゃう訳ですが、これは単に中間CA証明書が手元にインストールされていないから起こる。 wassr の証明書を調…

Perlモジュールで覚える英単語 - 数字編 -

はい、全国1億5千万人の typo generator の皆さん、こんにちは。ZIGOROu です。 今日は英語で数字の数え上げも出来ない弱い子*1の為のモジュールを紹介するよ。 Lingua::EN::Numbers これ、これさえあればもう困らない! はい、ワンライナー $ perl -MLingua…

Yokohama.pm Tech Talk に参加しました

いやー、楽しかったです。一部 Shibuya.pm のメンバーと被ってはいますが、良い意味で敷居の低いトークになったのかなと思ってます。ちなみに既に幾つか感想エントリがあるんで、詳細はそちらにて。 ゆーすけべー日記 Yokohama.pm #1 - dann's blog - # Yoko…

around, BUILD, MooseX::Object::Pluggable のメモ

私的なメモです。 around before, after, augment の汎用版かつ、引数や戻り値を変更出来るのがaround before っぽく使う場合は、 around 'run' => sub { my $orig = shift; my ($self, @args) = @_; ### process before run ### ここになんか書く $orig->($…

Moose::Cookbook::Recipe10 - role, requires, with -

Perl OOP に interface, abstract の概念を持ち込む role, requires, with の話です。 Moose::Cookbook::Recipe10 - The Moose::Role example - metacpan.org ソースコード ちょっと変えてあります。 package Equivalent; use Moose::Role; requires 'equal_…

Moose::Cookbook::Recipe9 - builder -

拡張可能な default と同等の機能である builder です。 Moose::Cookbook::Recipe9 - Builder methods and lazy_build - metacpan.org ソースコード package BinaryTree; use Moose; has 'node' => ( is => 'rw', isa => 'Any' ); has 'parent' => ( is => '…

Moose::Cookbook のお勉強 - 目次

めんどくさいから目次作る Recipe1 - has, before, after, extends - Recipe2 - constraint, modifier - Recipe3 - predicate, weak_ref, lazy - Recipe4 - subtype - Recipe5 - coerce - Recipe6 - augment, inner - Recipe7 - make_immutable - Recipe9 - …

Moose::Cookbook::Recipe7 - make_immutable -

Moose::Cookbook::Recipe7 - Making Moose fast with immutable - metacpan.org 今度は make_immutable について。 ソース package PointImmutable; use Moose; has 'x' => (isa => 'Int', is => 'ro'); has 'y' => (isa => 'Int', is => 'rw'); __PACKAGE__…

Moose::Cookbook::Recipe6 - augment, inner -

Moose::Cookbook::Recipe6 - The augment/inner example - metacpan.org 次はネストする呼び出しである augment, inner についてです。 ソースコード package Document::Page; use Moose; use Perl6::Say; has 'body' => ( is => 'rw', isa => 'Str', defaul…

Moose::Cookbook::Recipe5 - coerce -

次は Recipe5 也。 ソース package HTML::Location; use URI; sub __as_URI { my $self = shift; return URI->new( $self->uri ); } package Request; use Moose; use Moose::Util::TypeConstraints; use HTTP::Headers (); use Params::Coerce (); use URI …

TeraTerm に付属の cygterm を使って perl する

id:tamagogayu が苦戦してるのでヘルプエントリ。 初心者は今日も。 - 起業準備日記 cygterm みたいな感じのショートカットを貼れば特に問題なく動作するはず。 必要な設定は既に TeraTerm 側で終わってると思うので何も考えなくても大丈夫。後はこのリンク…

Params::Coerce のメモ

Params::Coerce の使い方が良く分からなかったので試してみました。 追記 (2008-06-09T18:22:10+09:00) と言うか、すぐに間違えに気づいたので内容を大幅に書き換え(ぉぃ Params::Coerce とは 特定のクラスのインスタンスから違うクラスのインスタンスへ変…

Moose::Cookbook::Recipe4 - subtype -

Moose::Cookbook::Recipe4 - Subtypes, and modeling a simple Company class hierarchy - metacpan.org ソースコード 少しテストを加えてます。 package Address; use Moose; use Moose::Util::TypeConstraints; use Locale::US; use Regexp::Common qw(zip…

Moose::Cookbook::Recipe2 - class based constraint, modifier with arguments -

続いて Recipe2 をやっちゃうぞー。 http://search.cpan.org/dist/Moose/lib/Moose/Cookbook/Recipe2.pod ソース 預貯金に関する英単語が良く分からなかったので調べてコメント振った。 package BankAccount; use Moose; # 預金残高 has 'balance' => (isa =…

Moose::Cookbook::Recipe1 - has, before, after, extends -

もの凄い乗り遅れた感ですが僕も Moooooooooooooooooose してみる。 とりあえず Cookbook をやってみる事にしてみました。 Moose::Cookbook::Recipe1 - The (always classic) Point example. - metacpan.org ソース まぁ適当にテストとか追加してある。 pack…

Windows環境でCygwinを使ってPerl実行環境を整える

たまには初心者向けの話でもしてみます。Windows環境でPerlの実行環境と言えば、真っ先に ActivePerl と言う選択肢がありますが、個人的には*1 Cygwin がお勧めです。お勧めする理由は、 昔に比べてそれなりに扱いやすくなった。(昔はバッドノウハウだらけだ…

Moose::Cookbook::Recipe3 - predicate, weak_ref, lazy -

さらに Recipe3 です。 ソース package BinaryTree; use Moose; has 'node' => (is => 'rw', isa => 'Any'); has 'parent' => ( is => 'rw', isa => 'BinaryTree', predicate => 'has_parent', weak_ref => 1, ); has 'left' => ( is => 'rw', isa => 'Binar…

日本の Perl ユーザーの為のサイト perl-users.jp 始まった!

YAPC での Michael Schwern の Perl is unDead から、id:Yappoさんが立ち上げてくれました。CodeRepos もそうだったけどこうして先陣切ってくれるところがGJすぐる。id:Yappo++++++そして、先頭走る者あればすぐさまそれに追従して行くのもPerlコミュニティ…

XRI::Resolution::Liteのサンプル

解説はあとで。priorityも考慮に入れて、OpenID サービスを取得する場合はこんな感じかなぁ。 #!/usr/bin/perl use strict; use warnings; use Data::Dump qw(dump); use Math::BigInt; use Perl6::Say; use XML::LibXML; use XRI::Resolution::Lite; my $cl…

YAPCでOpenIDについて話します

今現在、スライド出来てませんが明日(今日?)の朝一番でOpenIDについて語ります。 早起きな方は是非見に来て下さい!ところでtypesterさんはスライド出来たのであろうか。

これからPerlやろうかなーとか思ってる人へ

id:perlcodesampleさんが凄い丁寧に入門記事書いてます。 Perl入門ゼミ Perl界隈で初心者向けのコンテンツって余り無い気がするので、こうして書いて下さる方が居るってのは貴重だなとずっと思っていたんですが、紹介しそびれてたです。 オヌヌメ。

DBIC::Schema::Loaderのカスタマイズと言うネタでプレゼンするはずだった件

話してないけど、資料はあるので公開しまっする。 Customization of DBIC::Schema::Loader 概要 開発中にスキーマに変更が発生して、make_schema_at()を何度も叩く際に困ることと、Schema::Loaderで比較的意図した通りにSchema, Tableクラスを生成する為に、…

Catalyst Conference #1 まとめ

昨日は直前にエロギークな人のトラブルもありましたが、何とか無事に終える事が出来ました。 参加者の皆さん、お疲れ様でした。と言う訳でプレゼンのまとめと個人的な感想です。 プレゼン CatalystからModelを切り離せ (g:catalyst:id:dann) 資料 今回の基調…

Parse::Yapp ヨチヨチ歩き

Perlのyacc風パーサーである Parse::Yapp でちょっと遊んでみてます。とにかく書き方に関する解説とか全然オンラインでヒットしないので、少し分かってきたので、個人的にまとめてみます。門外漢なので突っ込み歓迎。 お題 IPv4なアドレスをパースします。 …

Catalyst/DBICでDigest認証する

自分の為のメモですよ。 準備 まずはCatalystプロジェクトを作ります $ mkdir -p /path/to/dir $ cd /path/to/dir $ catalyst.pl AuthSample ユーザー用のDBICスキーマを定義します。 $ module-starter --module AuthSample::Schema $ cd AuthSample-Schema…