タグ

2008年4月2日のブックマーク (14件)

  • tokuhirom blog

    Blog Search when-present<#else>when-missing. (These only cover the last step of the expression; to cover the whole expression, use parenthesis: (myOptionalVar.foo)!myDefault, (myOptionalVar.foo)?? ---- ---- FTL stack trace ("~" means nesting-related): - Failed at: ${entry.path} [in template "__entry.ftlh" at line 3, column 25] - Reached through: #include "__entry.ftlh" [in template "entry.ftlh" at

  • たけまる / cpan2pkg - .deb を賢く自動作成

    _ cpan2pkg - .deb を賢く自動作成 [cpan][debian] CPAN モジュールを .deb にするスクリプトを作りました.単純に .deb に まとめるだけでなく,もう少し賢く振る舞ってくれます. # 同じことをしている人はたくさんいそうだし,ツールも公開されているの # かもしれませんが,見つからなかったので作ってみました.より良いもの # をご存じの方がいましたら教えてください. 開発環境のモジュール構成を忠実に再現したいときに使います.次のよう な状況を想定しています. - cpan コマンドでモジュールをインストールして開発し,テストしている - 運用マシンにも同じバージョンでモジュールをインストールしたい - Perl をよく知らない人でも扱えるように,.deb にしておきたい - 開発マシンにインストールされているすべてのモジュールではなく,指 定したモ

  • Mixing Class::C3 and NEXT

  • Class::Data::Accessor と Class::Data::Inheritable は個人的には継承しなくてもいいと思う(継承せずに使う) - IT戦記

    Class::C3 を使うと継承順がかなりセンシティブになる。 たとえば、普段から Class::Accessor::Fast と Class::Data::Inheritable を同時に継承する場合にどちらが先かというのは、そんなに意識しないと思います。(僕はしません) でも、Class::C3 を使う場合は、同じツリー内に継承順の矛盾があると実行できなくなってしまいます。(d:id:amachang:20061007:1160232763) たとえば、以下のクラス郡とクラス群は同時に Class::C3 で呼べないことになる。 Class::Data::Inheritable が先 http://google.com/codesearch?q=Class%3A%3AData%3A%3AInheritable%5Cs%2BClass%3A%3AAccessor%3A%3AFast Cl

    Class::Data::Accessor と Class::Data::Inheritable は個人的には継承しなくてもいいと思う(継承せずに使う) - IT戦記
    dann
    dann 2008/04/02
  • Class::C3, Algorithm::C3 を勉強したよ! - IT戦記

    DBIx::Class を少し使ったことがあったので Class::C3 をなんとなくで理解していたんです。(ふーん幅優先版の NEXT モジュールでしょ?みたいな感じで。) でも、これは絶対にちゃんと細かい挙動まで勉強しといたほうがいいと思いました。 多重継承とか mixin とかに強くなりたいなと C3 C3 というのは Python 2.3 のドキュメントに書いてある MRO(Method Resolution Order 多重継承したときにどんな感じでメソッドを探索するかという順番) を決めるアルゴリズムで。Algorithm::C3 っていうのがそのアルゴリズムの Perl 実装なんです。 それに! Parrot でも使えるみたいだし! ちなみに MRO ってこんな感じね A には add というメソッドがある B にも add というメソッドがある C は A と B を多重継

    Class::C3, Algorithm::C3 を勉強したよ! - IT戦記
    dann
    dann 2008/04/02
  • hide-k.net#blog: CatalystのNEXTが気持ち悪い説

    Soozy Conference #4あたりからtokuhiromさんが声を大にして言っているCatalystのNEXT気持ち悪い説。 酒の席でこの話になるたびに奥の座敷から大声で呼び出されるCatalystのNEXT気持ち悪い説。 気を抜いてDBICを褒めるとClass::C3も同じじゃねーかとDisられるCatalystのNEXT気持ち悪い説。 僕も激しく同意。なのでちょっとまとめておく。 NEXTを使う場合、こんな感じかと。 use strict; use warnings; use NEXT; package PluginA; sub foo { print "A"; shift->NEXT::foo; } package PluginB; sub foo { print "B"; shift->NEXT::foo; } package Object; use base qw/

    dann
    dann 2008/04/02
  • Perl の Mixin / Catalyst のプラグインの仕組み - naoyaのはてなダイアリー

    何とタイムリーな記事。まつもとさんが「仕様の継承」と「実装の継承」について語っているので勝手にまとめてみる。 まつもとさんがITProに書いた記事がきっかけになったのか、最近 Mixin に関する話題をよく目にする、気がします。 Perl は多重継承をサポートする一方で、Exporter を使った Mixin も可能です。この辺はmiyagawa さんのメールマガジンのバックナンバーに詳しく書いてあります。 Object-Oriented Programming with Perl Vol.29 - Exporter による Mixin Object-Oriented Programming with Perl Vol.30 - Exporter::Lite Exporter で関数を export しつつ、それを import した側で、関数ではなくインスタンスメソッドとしてそれを利用す

    Perl の Mixin / Catalyst のプラグインの仕組み - naoyaのはてなダイアリー
  • CodeRepos::Share – Trac

  • はてなブログ

    山手線、歩いて一周 最近、大学生が京都から佐世保まで歩いたり、プロゲーマーが仙台から弘前まで歩くなどと長距離の道を歩きとおす企画を耳にする。 僕も3月下旬に山の手線を歩いて一周したので、ここに書いておきたい。 きっかけは去年の10月くらい、知り合いのuiuさんと会って話したと…

    はてなブログ
    dann
    dann 2008/04/02
  • ゆーすけべー日記: POX over HTTP のウェブAPIにアクセスするためのモジュール「WebService::Simple」を作ってみた

    サキとは彼女の自宅近く、湘南台駅前のスーパーマーケットで待ち合わせをした。彼女は自転車で後から追いつくと言い、僕は大きなコインパーキングへ車を停めた。煙草を一吸ってからスーパーマーケットへ向かうと、ひっきりなしに主婦的な女性かおばあちゃんが入り口を出たり入ったりしていた。時刻は午後5時になる。時計から目を上げると、待たせちゃったわねと大して悪びれてない様子でサキが手ぶらでやってきた。 お礼に料理を作るとはいえ、サキの家には材が十分足りていないらしく、こうしてスーパーマーケットに寄ることになった。サキは野菜コーナーから精肉コーナーまで、まるで優秀なカーナビに導かれるように無駄なく点検していった。欲しい材があると、2秒間程度それらを凝視し、一度手に取ったじゃがいもやら豚肉やらを迷うことなく僕が持っているカゴに放り込んだ。最後にアルコール飲料が冷やされている棚の前へ行くと、私が飲むからとチ

    ゆーすけべー日記: POX over HTTP のウェブAPIにアクセスするためのモジュール「WebService::Simple」を作ってみた
    dann
    dann 2008/04/02
    cool !
  • FAQ/Git - CodeRepos::Share

    Git 公式 http://git.or.cz/gitwiki/GitFaq チートシート http://cheat.errtheblog.com/s/git git 全般 空ディレクトリを追加したいときってどうすんの (FAQ に書いてあるけど) できない。.gitignore ファイルをつくって add するとかするしかない。 「元に戻す」コマンド git-revertは指定したコミットと同じ状態に戻るようなパッチを作成・適用してコミットする。つまり、以前の状態に戻し、「戻した」という作業も変更履歴に残したい場合に使う。 git-resetはrevertと似ているが、新たなコミットは発生せず、変更履歴には残らない。マージをミスったり、直前にコミットした内容に実はしょぼいミスがあって修正したいときに使う。前者の場合は--hardを指定して作業ツリーの内容も元に戻すとよい。後者の場合は--

    dann
    dann 2008/04/02
  • はてなグループの終了日を2020年1月31日(金)に決定しました - はてなの告知

    はてなグループの終了日を2020年1月31日(金)に決定しました 以下のエントリの通り、今年末を目処にはてなグループを終了予定である旨をお知らせしておりました。 2019年末を目処に、はてなグループの提供を終了する予定です - はてなグループ日記 このたび、正式に終了日を決定いたしましたので、以下の通りご確認ください。 終了日: 2020年1月31日(金) エクスポート希望申請期限:2020年1月31日(金) 終了日以降は、はてなグループの閲覧および投稿は行えません。日記のエクスポートが必要な方は以下の記事にしたがって手続きをしてください。 はてなグループに投稿された日記データのエクスポートについて - はてなグループ日記 ご利用のみなさまにはご迷惑をおかけいたしますが、どうぞよろしくお願いいたします。 2020-06-25 追記 はてなグループ日記のエクスポートデータは2020年2月28

    はてなグループの終了日を2020年1月31日(金)に決定しました - はてなの告知
    dann
    dann 2008/04/02
  • GraphVizで遊んだ - 焼きサンマ綺麗に食べるブログ

    Twitterのfriendsとfollowerをグラフ化しようとしてGraphVizを使ってみた。 いろいろやってみたら100ノードぐらいで限界がきたのでやめた。 なんか載せた図みたいになった(friends 100のみで)。解像度は当は1536×1472です。 目標は全く達成できてないけどソース載っけてみる。 とりあえず、モジュールNet::TwitterとGraphVizの使い方がわかったのでよしとしよう。 #!/usr/bin/env perl package main; use strict; use warnings; use Carp; use utf8; use Net::Twitter; use GraphViz; my $username = $ARGV[0]; my $password = $ARGV[1]; my $output_file = $ARGV[2];

    GraphVizで遊んだ - 焼きサンマ綺麗に食べるブログ
  • 404 Blog Not Found:perl - ワンライナーの書き方入門

    2008年03月30日19:45 カテゴリLightweight Languages一日一行野郎 perl - ワンライナーの書き方入門 まあ、ruby のコマンドラインオプションって、Perl由来ですから。 Rubyでワンライナーを書く方法のまとめ まぁ、Perlもあるしあんまり需要が無いのかも知れませんが。 というわけで、Rubyistにも役立つPerlのワンライナー入門です。 基中の基 コマンドとしてのperlは、スイッチがない場合、引数はスクリプト名として扱われます。 % cat hello.pl print "Hello, world!\n"; % perl hello.pl Hello, world! % コマンドライン中の文字列をスクリプトとして解釈させるには、-eを使います。 % perl -e 'print "Hello, World!\n"' Hello, worl

    404 Blog Not Found:perl - ワンライナーの書き方入門
    dann
    dann 2008/04/02