camelCaseMethodsに耐えられなかったので、その名の通り、JSON::Anyのバックエンドももちろん選択できるし、メソッド名も指定できるようにしてみた
BEGIN { $JSON::Any::FUNCTION_STYLE = 'Syck' }
use JSON::Any qw(XS Syck);JSON::Any->Dump($hoge);
とりあえず作ってみて、作者にメールしてみた。
camelCaseMethodsに耐えられなかったので、その名の通り、JSON::Anyのバックエンドももちろん選択できるし、メソッド名も指定できるようにしてみた
BEGIN { $JSON::Any::FUNCTION_STYLE = 'Syck' }
use JSON::Any qw(XS Syck);JSON::Any->Dump($hoge);
とりあえず作ってみて、作者にメールしてみた。
mysql+sennaでdrop indexすると全く同じサイズのsennaインデックスが作られるみたいなんだけど、なんで?しかもTIMESTAMPなカラムに対してDROPしてるんだから、関係ないsennaインデックスが作られる必要はないと思うんだけど。
G D/G
No you're not the first
Em D/F#
Yes I have had a past
Em A?
Though I'm not your first
D G
I intend to be the last
聞き取れた分。検索してもでてこなかった。誰の曲?
追記1:Janis Ianらしいというところまで発見したが、どうしても該当の曲がみつけられん・・・新曲?
追記2:あ、ここに→http://www.jti.co.jp/sstyle/manners/ad/change/tvcm/tvcm05.html
追記3:コード足してみた。もう少し細かい音が入ってる気がする。
http://lists.scsys.co.uk/pipermail/catalyst/2007-March/012769.html
YAPCでちょっとかぶるネタを喋るつもりなんだけど、これは時間の都合上これは含めない予定なので先にこっちに晒しておく。
NEXT.pmを使うとダイアモンド型のクラス継承構成の場合、
package Example::A;
package Example::B; @ISA = qw(Example::A);
package Example::C; @ISA = qw(Example::A);
package Example::D; @ISA = qw(Example::B Example::C);# 上記で全てのクラスに
# sub new { shift->NEXT::new(@_) }
# が定義されてると仮定
呼び出し順はD -> B -> A -> Cで、最後に呼ばれるべきベースクラスAがCより先に呼ばれる。もしA内でbless()を呼んでいるのであれば、
sub Example::A::new {
my $class = shift;
my $self = bless {}, $class;
$self->NEXT::new(@_); # あれ、ベースクラスなのにnew()ですか・・・
}sub Example::B::new {
my $class = shift;
my $self = $class->NEXT::new(@_);# 初期化
}sub Example::C::new {
my $class = shift;
# あれ、$class はすでにbless()されとる?
my $self = $class->NEXT::new(@_);# 初期化 ... ?
}
Bのコンストラクタは$_[0]にクラス名が、Cのコンストラクタには$_[0]にすでにbless()されたオブジェクトが入っている事になってしまう。一応この辺りもハックして順番が後になっても大丈夫なようにすることはもちろんできる
sub Example::C::new {
my $class = shift;
my $self = ref $class ? $class : $class->NEXT::new(@_);# 初期化 ...
}
でも、これなんか変。多分それぞれの中間のクラスがさらに複数の親を持っていたら場合によってはさらに変な事になってしまう可能性が高いし、こんな事に対応してまでNEXTのディスパッチングに合わせるっていうのがなんか嫌だ。一応自分の中の解決策としてはNEXTを使う場合はNEXTで呼び出すメソッド内の呼び出し順が問題にならないメソッドでやるべき。
# new()はベースクラスのみで実装
sub Example::A::new {
my $class = shift;
my $self = bless {}, $class;$self->initialize(@_);
}
sub Example::A::initialize {
my $self = shift;
# 全て共通の初期化
$self->NEXT::initialize(@_);
}sub Example::B::initialize {
my $self = shift;
$self->NEXT::initialize(@_);
# Bの初期化
}sub Example::C::initialize {
my $self = shift;
$self->NEXT::initialize(@_);
# Cの初期化
}sub Example::D::initialize {
my $self = shift;
$self->NEXT::initialize(@_);
# Dの初期化
}
ディスパッチの順番は守られないのは変わらないのだけれども、ディスパッチがAに来た時にNEXT::initialize()を呼ぶ前に初期化を行う事で最低限の初期化順番を守れる。
Class::C3かなぁ、やっぱり。
http://d.hatena.ne.jp/nipotan/20070324/1174705548
binmode(FILE, ':raw:eol(LF)') だとプログラム行数多くなるけど、速くなったりするのかな。調べようと思ったけど、腹減ったからまた後で。
うわ、雨が降ってきやがった。桜がー桜がー
現在の銀行から移行計画を発動中。とりあえず違う銀行に口座開設。
0.03アップした瞬間にglobのバグに気づいた。もうさすがにこれで網羅したろう。
オブジェクトをハンドリングできるようにした。さきほどアップロード。
まだちゃんとテストしてないけど、svn copyでブランチを移動するのに最小限のファイルを移動させてたら、Catalyst::Utils::homeがどうしてもlib/MyApp内を指すようになって色々ぶっこわれた。よーーーーくコードの動きを追って行くと、Catalyst::Utils::home内でどこがホームディレクトリか発見するヒントのひとつとしてMakefile.PLを使っているらしき事を発見。最低限touch Makefile.PLで動く事を確認した。
これはもう少しスマートにできないのかなぁ。
Googleからメールが来た。
Hi Daisuke,My name is ******** and I am a Recruiter for the Google.com Engineering team. While doing
a search for a specific skill set, I found you on the Internet and I am interested to know
more about your past work experience and openness to new opportunities. We currently have
positions available at Google that may be a good match for you.
ははは、俺リクルートされてるしw。正直ちょっぴり嬉しかったのはナイショだ。
http://www.fileformat.info/info/unicode/char/search.htm
このサイト有名?俺きょう初めて知ったのだけど。草なぎ剛の「なぎ」の字でほげほげしてたら発見したのです。自分が使ってる文字のコードポイントが本当に正しいのか調べるのにとてもイイ!
ちなみに「なぎ」の字はこちら
http://www.fileformat.info/info/unicode/char/5f45/index.htm
某DBから持ってきてた字がこちら
http://www.fileformat.info/info/unicode/char/78f2/index.htm
なんでこれになってしまうんだろうなぁ。
アップロードしたよ!
加藤さん!w
でも確かにこの辺りのモジュール、同じよーな人達が同じよーなコードを色んなフレームワーク用に書いているので、ここらで統一するのもいいのかも?Japanese::Constraintsとか作って、あちこちで使い回す、みたいな。
なんかコミッターになったよ!HTML::FormFu::Filter::Encodeをコミットしたよ!
テスト用のみ。
先週売れなかった株が今日跳ね上がってたのでサクッと売りました。28%のもうけなのでグッドです。問題は次にどこに突っ込むかだなぁ。今は総じてちょっと高すぎる。4/1になったら含み益分がガクッと落ちるかなぁ。
タコのマリネを作ったのだが、それにいっぱい入ってたタマネギとパプリカをパスタに流用。お酢を飛ばすためにしばらく弱火で火を通して、そこにベーコンと菜の花を入れて、後は塩こしょうで味付け。パスタを茹でて、ゆであがったところでバターをさっきの具の方に足してパスタとからめてできあがり。ひさしぶりに和食以外のもの作った。
時々CatalystのMLで見てたので気になってた。MLに参加してみたよ。これからコードも見てみる。今のところ->render()がなんか動かん・・・
「コードギアス」実は最初の回からずっと見てるんだけど、これおもろいわぁ。
水曜日:鰤の塩焼き、タコの刺身、卵豆腐、卵焼き。木曜日:ところてん、鰤の刺身、ひじき、ワカメ。あとは筑前煮とか、煮浸しとか、煮麺。ここのところ本当に魚/和風づくしだ。
さて、2007 吟醸新種祭の案内が来た。去年仕事で忙しくていけなかったヤツだ。行きたいけど、一緒に行こうと声をかけられそうな人がいないなぁ。はあああ、どうしようかなぁあ・・・
うへ、新種じゃなくて新酒でした。すみません。
それぞれCPANに新バージョンうp。
今朝投資口座の残高を見たら昨日より微妙~に減ってて、ギリギリ昨日のうちに買いを出してた銘柄の支払いができないくらいになっていたのだが、どうやら500株と注文したうち約定したのが100株だけで、その分がすでに引き出されていたのだということがわかってほっと一安心。ああ、びっくりした。
もう一個の売りのほうは今のところ2円高値を見誤って売るところまで行ってない。どうすっかなぁ。
You know, I think of all the things I want, and I kind of end up at the same conclusion: I just want to be with the person I love. Yeah, call me silly. Fool is my middle name.
この間、池尻のつくしのこという店に連れて行ってもらったのです。日本酒がそれこそ腐る程おいてあり、なんというかほっとする系のつまみがこれでもかと出てくる店なのです。まぁ正直酒を飲みたいというのがメインだとつまみが少々出過ぎなのだけど、そこは通ってペースがわかればなんとかなるかな、というかんじ。しかしすげぇ日本酒の種類。
よっぱらったおっさnが執拗に話しかけてくるのだけどは要注意。
ふぅ、バグ潰し終わった。明日は株式市場で個人的にプチ決戦。色々売買する予定。
帰ろうとした瞬間にバグ報告。ありえん。
まだ全然満開じゃないんだけど、ちょっと新宿御苑でプチ花見。それでもしだれ桜が少しずつ咲いていて、ソメイヨシノもボチボチ。来週あたりにはいい感じになるんじゃなかろか。
仕事で相模大野に行く事になった。そこは中央林間のあたりと聞いてまず子供の時の記憶から「うわ、遠い!」とまず反応。なんせ最後に行ったのが小学生の時の東急スタンプラリーだ。あのころはあそこは地の果てに等しかった。今日行ってみたら、意外と近い。渋谷から急行でサクッと。これなら特に問題ないねぇ。
http://naoya.g.hatena.ne.jp/naoya/20070319/1174334346
RHとかのOSに入っているPerlって超使いたくないのがこういうバグ?にやられる点だなぁ・・・おいらは素直にstable.tar.gzをコンパイル派。
パッチ本体と当時のP5P summary:
http://public.activestate.com/cgi-bin/perlbrowse/p/27512
http://use.perl.org/articles/06/03/30/1337208.shtml
これが入るとしたら5.10か。bless()が呼ばれた瞬間にPL_sv_arenaroot以下の全てのSV Referenceをチェックするという行為の模様。SV単体は自分がどこから参照されているかという情報を持っていないから、こういうことをしてるんだけど微妙なパッチだなぁ。
ん、なんだこれ。どうやって直せばいいんですかね。後で調べる。オフライン状態だったのにSVK使えず超不便。
daisuke@p20223-air01hon32k XML-RSS-LibXML$ svk update
Use of uninitialized value in pattern match (m//) at /Library/Perl/5.8.6/Class/Autouse.pm line 531.
Storable object version 2.13 does not match $Storable::VERSION 2.15 at /System/Library/Perl/5.8.6/darwin-thread-multi-2level/DynaLoader.pm line 253.
Compilation failed in require at /Library/Perl/5.8.6/Data/Hierarchy.pm line 4.
BEGIN failed--compilation aborted at /Library/Perl/5.8.6/Data/Hierarchy.pm line 4.
Compilation failed in require at /Library/Perl/5.8.6/SVK/XD.pm line 63.
BEGIN failed--compilation aborted at /Library/Perl/5.8.6/SVK/XD.pm line 63.
Compilation failed in require at /Library/Perl/5.8.6/Class/Autouse.pm line 406.
at /usr/bin/svk line 132
daisuke@p20223-air01hon32k XML-RSS-LibXML$
追記。なんか知らんけどStorable.dylibが先祖返りおこしてたとかなんとか?とりあえずforce install StorableでOK
桜がもうそろそろ見頃だよ。
随分ひさしぶりに誰とも会わない、仕事も(ほとんど)しない土曜日。ただひたすら、ぼーっと。なんとなく横目で「アンフェア」見ながら、ぼーっと。ブックオフで特に何も探してる訳でもなくぼーっと。
ナナオのカラーユニバーサルデザイン対応ワイドモニターが欲しい!
悪いおじさんにそそのかされて渋谷の裏~のほうの怪しげなビルの4階にあるいわゆる「スナック」に連れて行かれました。薄い焼酎の水割りをしこたまのまされましたが、正直ちょっと楽しかった。また悪い遊びを覚えてしまった・・・。
libsenna 1.0.0以降でも動くようにしたよ。
Plaggerにパッチふたつ書いた。XML::RSS::Liberal 0.03_01でXML::RSS::LibXML 0.30に対応。
ポイントもあったし、ざくっと買ってきた。
XML::RSS::LibXMLを大幅に更新しますた。これまでのXML::RSS::Liberalはこのバージョンでは動かないので注意。今さっきXML::RSS::Liberalもアップデートして動かしてみたんだけど、ネームスペースの部分とか細かいところがちょっとおかしい模様。こちらもテストスイートを全部持ってくるか。
「うたばん」でリア・ディゾンと宇多田ヒカルの会話がすげぇどこかのアメリカ人のホームパーティーで初めて出会った女性二人の会話風で、やっぱり普通の人なんだな、と一瞬思った次第であります。あれだけ普通に英語喋ってる番組って珍しいな。
あんまりそんなつもりはなかったのだけれども、久しぶりに会った面子で飲んでたらその流れで雀荘へ。実は雀荘初体験だったりするのだが。普段降りられない性格のおいらですが、今回はわりとマトモにプレイできて、キチンとあがりつつ大した振込もせずに2位。わーい。でも外は明るいぞ。うへぇ・・・
帰りにニコチンにやられてもう気持ち悪くて死ぬかと思った。家に帰ってきて速攻シャワー浴びて爆睡。
以前作ってあった豚バラ肉を冷凍してあったのでそれと買っておいたキャベツ、タマネギで回鍋肉もどき。五穀米。
Javascriptで2000件弱の駅の位置を検索中。便利な世の中になったもんだ。
新居ライフはすこぶる快適なのはいいんだけど、ここ最近ちょっと創作?意欲が低下中であんまりアウトプットができてない。そういうことでちょっと低下気味。
そういう時に若人に人生相談されたり、色々と新しいプランを練ってみたり。そろそろ自分が甘える側じゃなくなってきてるんだなぁ。年もとるわ。
いつ実現するかわからんけど、バーテンさんに今度夜明けの築地に行こうと誘われた。そろそろ暖かくなってきたし、午前5時に出ても歯をガタガタさせずにいけるよねぇ。去年は多分一回も築地行ってないし、楽しみだなぁ。
旅行に行きたいんですよ。伊豆もそろそろいい時期だし。あと去年も見に行ったけど、今年は駆け足じゃなくて弘前でちゃんと桜を見たい。花と言えば先日の日記にも書いた散策、まだギリギリ完全に散る直前の梅の花が楽しめてちょっとだけ癒された。
今日はとうとうPHPを書いてしまった・・・
一昨日:昼は素麺。筍、レンコン、椎茸の煮物付き。夜は小松菜、鶏肉、油揚げで煮浸し(S直伝)。切り干し大根、3個よりどりみどりで1000円だった刺身。昨日:朝は残り物のトマトソースがあったので冷凍してあったソーセージとかと和えてオムレツ。オムレツの包み方を忘れてしまって、形は微妙・・・。夜はホタルイカ、それに金目鯛のアラで作った雑炊もどき。
やっと常識的な値段の買い物をできる場所に引っ越せたのでご飯作る事がとても多くなってきましたよ。
三軒茶屋→駒沢公園と、三軒茶屋→中目黒→祐天寺。それぞれ3、4キロってところか。短い。つか、三軒茶屋から中目黒が思ってたよりはるかに近くてびっくり。祐天寺付近では物の見事に住宅地に迷い込んで近隣のおじさんおばさん達に訝しげな目で見られました。
もうこうやってWebに書くようになって9年目とかに入っているわけですが、その当時から読んでくれている人達は昔から「俺は宇多田ヒカルと結婚したい」と念仏のように唱えていたのを覚えているかもしれません。先週末もちょうど「そういえばあ宇多田ヒカルはあんな若さで結婚してるのに離婚とかしないよねぇ、偉いねぇ」とか言ってた矢先に離婚の話ですよ。タイムリーすぎて鼻血でそうでした。当事者の人達はもちろん辛いのだろうけれども、正直そんな妄想を繰り返してきたファンとしてはちょっと明日への活力が漲るニュースでした。ということでいつか宇多田ヒカルと出会えると信じて*1生きて行きたいと思います。
今週は日曜から連日色んな人と飲みだったので昨日はさすがにもうギブアップ。家に帰って素直に筑前煮と鰆の照り焼き。ご飯は五穀米。この照り焼きがまるで照り焼きのお手本みたいな良い出来映え。写真に撮る前に食いついてしまったのが惜しい。まさかこんなにうまくできるとはなぁ。
Daisuke Maki (a.k.a lestrrat): Perl hacker, Director of Japan Perl Association, YAPC::Asia Tokyo Organizer (2009-2012), Fluent in Japanese, English. Ex-Brazilian (sorta)
#perl #c #ruby #java #mysql #english #japanese #opensource #stf #cooking #scotch #cigar
翔泳社よりモダンPerl入門(2010)を出版させていただいております。できれば内容をアップデートしたいので是非皆様・・・現在の在庫処理にお力をお貸しください!><