タグ

perlに関するmakamaka_at_donzokoのブックマーク (796)

  • 時にはお伽の話を - Acme::Rumpelstiltskin - Articles Advent Calendar 2010 Acme

    (firstly written in Japanese, later in English) こんにちは、前回2回の記事が受けなく軽く凹み気味のmakamakaです。今日はまず最初にお伽話をしましょう。ご存じの方も多いと思いますが、ルンペルシュティルツヒェン(ランペルシュティルツキンなど日語表記は色々)というドイツの童話です。日Wikipediaのルンペルシュティルツヒェン(英:Rumpelstiltskin)に細かい説明がありますが、かいつまんでいうと: 粉挽屋が「うちの娘は藁を紡いで黄金に変えれるよ」とテキトーなこと言ってたら、王様が「じゃ、明日の朝までにやってみせて。お后にしてあげるから。出来なきゃ首チョンパね」と娘を塔に幽閉。 娘さん困り果てて泣いていると、小人が出てきてコンニチハ。娘の身につけてるものと交換で藁を金に変えてくれましたとさ。 ところが、できあがった金を見た王

    時にはお伽の話を - Acme::Rumpelstiltskin - Articles Advent Calendar 2010 Acme
    makamaka_at_donzoko
    makamaka_at_donzoko 2010/12/15
    あーーーー気付かなかったーーー orz
  • Acme::Seclusion::JP - Articles Advent Calendar 2010 Acme

    こんにちは。Acme Track 2回目のhide_o_55です。 今回紹介させて頂くのは、Acme::Seclusion::JPです。 このモジュールを使用すると江戸時代のような鎖国状態を実現できます。 具体的には日中国韓国、オランダ*1以外のモジュールは使用できなくなります。 use Acme::Seclusion::JP; use Moose; 上記のようにMooseを使うと標準エラー出力にエラーメッセージを出力しexitします。作者が日人のMouseなら通常動作をします。 この動作をどのようにして実現しているかというと、http://perldoc.perl.org/functions/require.html にも書かれている、@INCに[コードリファレンス|オブジェクト]を入れるテクニックを使用しています。@INCにコードリファレンスが含まれている時にモジュールをロード

    Acme::Seclusion::JP - Articles Advent Calendar 2010 Acme
  • 変換しなイカ?

    アドベントカレンダーという、もういくつ寝るとクリスマス~♪って楽しむ風習があるらしいでゲソ。技術系コミュニティではこの機会にみんなで毎日順番にネタ出し合う形でカレンダーが作られて、日ごろ語られない個人の持ってる tips が出てくる良い風習じゃなイカ! perl界では10年続く年末恒例行事でゲソが、最近は日語や各テーマにそったカレンダーもあり、今年は前代未聞のカレンダー数でお届けしているのでチェックしてみなイカ? 参加してみなイカ? ぼくは例によってネタモジュール部門に参加してるでゲソが、この機会にネタモジュールを完成させたでゲソ。さいきんハマった「イカ娘」の言葉に変換する Acme::Ikamusume なかなか良い感じになったので試せるサイト作ったでゲソ。 侵略! イカ娘変換でゲソ! どうでゲソ? イカ娘の声で脳内再生されなイカ? 知らない人に説明するとイカ娘は頭がイカの女の子で、語

    変換しなイカ?
  • Cache::LRU が速い理由 - Articles Advent Calendar 2010 Hacker

    先日、オンメモリなキャッシュモジュール Cache::LRU を書きました。Kazuho's Weblog: Cache::LRU (a handy and fast in-memory cache module in pure-perl) を見ていただければ、Cache::LRU が他のモジュールより速いことは明らかだと思います。速度差の原因としては機能や実装上の差異もあるのですが、設計上の工夫も Cache::LRU が速い理由のひとつです。 LRU (Least Recently Used) アルゴリズムを備えたキャッシュを実装しようと思うと、 エントリルックアップのためのハッシュ アクセス順を表現するためのリスト の2種類を組み合わせる必要があります。リストを表現する手法としては配列を利用するものとリンクリストを利用するものがありますが、Perl だと前者のほうが速い、ということは

    Cache::LRU が速い理由 - Articles Advent Calendar 2010 Hacker
  • Image::SizeとImage::Imlib2を使ってCSS Spriteしてみよう - Articles Advent Calendar 2010 Casual

    はじめに 名古屋というところでゆるゆるとPerlを書いているissmと申しますこんにちは.先週イカ帽子を作りました. さて,Webサイトなんかで,比較的小さなサイズの素材画像をひとまとめにして,用途によってその背景位置をずらすことでうまく表示する「CSS Sprite」という手法,もうご存知のことかと思います.次のエントリあたりが人気のようですね. CSS Spriteを活用しよう | DesignWalker CSSスプライトを使ったメニューの作り方 | CREAMU CSSスプライトで画像を円滑に表示させる | Webクリエイターボックス 私もナビゲーション・メニュー画像(言い方古い?)をはじめ,マウスオーバーで変化するような画像なんかで,この手法を使っています. しかしまぁ,この「CSS Sprite」,素材画像をまとめるための作業(デザイナさんから渡された「デザイン重視」なデータを

    Image::SizeとImage::Imlib2を使ってCSS Spriteしてみよう - Articles Advent Calendar 2010 Casual
  • RJBS Advent Calendar 2010 - Putting less on Your Wish List

    One of Perl's lesser Known Features I do a lot of work with email, including a lot of message rewriting. Last year, I wrote about my favorite message-rewriting helper, but this year I'll write about something somewhat more removed. Although quite a lot of my mail-handling uses Email::MIME or Email::Simple, the most heavily-munged mail goes through the venerable MIME::Entity, which has much more so

  • Windows で複数の perl を使い分けよう! - Articles Advent Calendar 2010 Win32

    こんにちはこんにちは! MySQL Casual でこの記事を書いている xaicron です。MySQL とかよくわかってません。 さて、世間一般では、perlbrew を使わないでいいのは小学生までだよねーって感じになってますが、当然 Win32 で使うのは大変ですし、バイナリあるから使いたいよねって感じです。 そこで、以下のルールをもとに、strawberry perlswitch するスクリプトを書いて使ってます。 とりあえず、C:/strawberry とかに最初のインストール (またはインストール済みの PATH) 新しい perl をインスコするときは、最近入れた perl を {ionstall_path}-{version} にしておく そんでもって以下のスクリプトを実行します。 use strict; use warnings; use version; use F

    Windows で複数の perl を使い分けよう! - Articles Advent Calendar 2010 Win32
  • Perlで文学を嗜む Net::AozoraBunko - Articles Advent Calendar 2010 Casual

    今年の Advent Calendar もいよいよ中盤戦。 もういくつ寝ると、メリークリ○○ス! きのうの Acme Track (Acme::Yomeru) につづいて Casual Track にやってまいりました bayashi です。こんにちは! さて、みなさん、コード書いてますか、コード読んでますか。 短く簡潔なコードを読むと、気持ちもスッキリしますね。 でも、たまには文学なんてどうですか。 Perl で文学が嗜めるなんて、なんか渋くないですか。 青空文庫 青空文庫 - Wikipedia国内において著作権が消滅した文学作品、あるいは著作権は消滅していないものの著作権者が当該サイトにおける送信可能化を許諾した文学作品を収集・公開しているインターネット上の電子図書館 古くは森鴎外、夏目漱石、芥川龍之介など、近くは中島敦(1942年没)、太宰治(1948年没)、林芙美子(195

    Perlで文学を嗜む Net::AozoraBunko - Articles Advent Calendar 2010 Casual
  • Data::Validatorでバリデーションする - Articles Advent Calendar 2010 Casual

    はじめまして!@hisaichi5518です。就活生です。誰か雇ってください。 Text::Xatenaについて書こうと思っていたんですが、もうText::Xatenaの記事が他のトラックにあるので、今日はgfxさんによってリリースされたData::Validatorを紹介しようと思います。 Data::Validator とは 実行時型チェック / パラメーターチェックが出来る便利なモジュールです。 現在、Params::Validateがデファクトスタンダードっぽいんですが、速度が遅かったりするので正直微妙です。 ベンチマーク p5-Data-Validator/benchmark/simple.pl Params::Validate/0.95 Smart::Args/0.06 Data::Validator/0.06 without type constraints Rate P::

    Data::Validatorでバリデーションする - Articles Advent Calendar 2010 Casual
  • Perl で拡張可能なモジュールをかくときに s/^\+// ? $_ : __PACKAGE__ . '::Plugin::$_' とした方がいい理由 - tokuhirom's blog

    Data::Validator のコードの中にこんなのがあった。 sub with { my($self, @roles) = @_; foreach my $role(@roles) { next if ref $role; $role = Mouse::Util::load_first_existing_class( __PACKAGE__ . '::Role::' . $role, $role, ); } Mouse::Util::apply_all_roles($self, @roles); return $self; } この場合、やはり s/^\+// ? $_ : __PACKAGE__ . '::Plugin::$_' のイディオムをつかった方が問題がすくないようにおもう。たとえば、Data::Validator::Role::JSON っていう拡張があったとしよう(実際に

  • Acme::Yomeru - Articles Advent Calendar 2010 Acme

    こんちには 、 みさなん 、bayashi です。 さくむて かなぜど ひいて いですないか 。 おかだらは くれれぐも お だいじに 。 げきんが あれば こーども かける ! げきんが あれば AKB48も うたえる ! さて 、 あれ 、 なだんか へんすでね 。 あれれ 、 よく わせかまりんが 、 この ぶょんしう 、 よめて いすまか ? よめますね 。 なぜか よすまめね 。 かなり びみかょうも しせんまれが 、 よめすまね 。 よなめい ひとは 、 がばっんて よんで くさだい 。 はい 、 そでうす 。 いちじ わいだに なった 「 なぜか よめる ぶょしんう 」です 。 きうょは 、 この ような なぜか よめ る ぶうしょんを せせいい する もじゅーるを しかょうい します 。 もう 、 かんの よい かたは きづいて いかると おいすもまが 、 いっ ぱつ ねた

    Acme::Yomeru - Articles Advent Calendar 2010 Acme
  • Google Docsの表計算書類をNet::Google::Spreadsheetsを使ってブラウザ抜きで読み書きする - Articles Advent Calendar 2010 Casual

    こんばんは。tumblr がサーバーダウンするとネット呼吸が出来ないotsune (Facebook - otsune) です。 jp.blogs.com|おもしろブログ記事のまとめサイトというサイトで、ネットウォッチ中に見かけた興味深いWebページのURLを美人編集長上野さんにたれ込むという趣味的行為をしているんですが。困ったことにURL集計にGoogle Docsの表計算の複数人編集機能を使ってて、1-clickどころかブラウザひらいてマウスでカチコチと気の長くなるほどメンドクサイ手順を踏まないとURLを貼れないという、CUIGUIのあいだに横たわる深くて長い天の川があったりしてシンドイわけです。世間でもよくある話ですね。 そんなわけでめんどくさいことはPerlのようなものにやらせればいいのよってことで、今日は飲み会のヒーローlopnorさんが書いたNet::Google::Spre

    Google Docsの表計算書類をNet::Google::Spreadsheetsを使ってブラウザ抜きで読み書きする - Articles Advent Calendar 2010 Casual
  • WebService::Async でウェブサービスの非同期アクセスを簡単に! あるいは私は如何にしてMacBookProを手に入れたか? - Articles Advent Calendar 2010 Hacker

    今年はHokkaido.pmからはるばる YAPC::Asia に出張してきたkeroyonnです。 嫁にYAPCの写真を見せて「ほらみんなMacでしょー」と言ったら、不憫に思ったのかMacBookProを買ってくれました。 ひとりだけ違うメーカーのランドセルをしょった可哀想な子供を連想したらしいです。 すばらしいですなっ! YAPC は! WebService::Async とは さて今回ご紹介する、WebService::Async というモジュールは、yusukebe さんの WebService::Simple の非同期版です。 WebService::Simple はカジュアルにウェブサービスにアクセスできる素晴しいモジュールだなぁと思っていたのですが、非同期処理ができないため同時に複数のリクエストを投げるのがちょっと面倒でした。 これを簡単に書けたらいいなーと思って作ってみまし

    WebService::Async でウェブサービスの非同期アクセスを簡単に! あるいは私は如何にしてMacBookProを手に入れたか? - Articles Advent Calendar 2010 Hacker
  • Acme::CheckCharactorsOutsideRange - Articles Advent Calendar 2010 Acme

    こんにちは!相変わらず一週間にわたって風邪をひき続けている xaicron です。 今日は shibuya.pm ということもあって、perl mongers にとっての最大規模の忘年会的な感じになったんじゃないでしょうか。行ってないのでよくわかりませんが。 さて、当は Acme::Iku を実装して紹介しようと思っていたのですが、普通に「あ、18禁になるなこれ」と気付いてやめました。CPAN にも 18歳未満の方はダウンロードできない的な仕組みが必要なんじゃないかと思い始めています。 というわけで、はるか昔に書いたよくわからんモジュールであるところの Acme::CheckCharactorsOutsideRange を紹介しようと思います。 使い方 もうすでに名前からしてわけがわかりませんが、とりあえず use するだけで動きます。 use strict; use warnings;

    Acme::CheckCharactorsOutsideRange - Articles Advent Calendar 2010 Acme
    makamaka_at_donzoko
    makamaka_at_donzoko 2010/12/10
    ぜひAcme::Ikuも><
  • 帰る家、HOMEがあるという事実は、幸せにつながる。良いことだよ。 - Articles Advent Calendar 2010 Win32

    当初は閑古鳥が鳴くかと思われた Win32 トラックも連日熱い記事がアップされていてすばらしいことですね。一部の人は二巡目に入りましたが、まだまだ参加可能ですので、興味を持たれた方はぜひ ATND に登録してくださいませ。また、twitter などで「次書くよ」と宣言していただけるとなお助かります。 さて、9日目の今日は頭文字Iの覆面ライターがいまさら感あふれるバッドノウハウをお送りします。 みなさんホームディレクトリというものはご存じでしょうか? Unix 系の環境では /home/(ユーザ名) になっていることが多いようですが、窓使いにとってはコマンドプロンプトを引数なしで立ち上げたときのカレントディレクトリ、というのがわかりやすいかもしれません。具体的にどこになっているかは Windows のバージョンや設定に依存しますが、日語版の Windows 2000 と XP では「C:\

    帰る家、HOMEがあるという事実は、幸せにつながる。良いことだよ。 - Articles Advent Calendar 2010 Win32
  • 『スロット ハワイアン ドリーム』|豪 血 寺 一族 パチンコ|cr オグリ キャップ・栃木県佐野市|長野県筑北村|美空 ひばり パチンコ

    広島県北広島町 パチスロ かぶき ものがたり Basic Strategy Counting DIA 4th ミニアルバム「Summer Ade」ティザー映像公開 爽やかなルックスのおまけスロットマシン シンガポール 中泊町 大工 の 源 さん 超 韋駄 天 ボーダー ジェリーフィッシュ・エンタテインメント・ジャパン株式会社 インタラクティブ・メディア・ミックス株式会社td 長崎県島原市 ニューギン 009 (G)I-DLEがフラッシュモブに参加したファンとタイムズスクエアの前でポーズをとっている画像。 豪 血 寺 一族 パチンコ マクロス f パチンコ 初代 パチスロ ガメラ 導入 日 新曲「雨が降ったら」MVティザー映像 [ウングァンInstagram全文] こんにちは 5ch スロット 機種 福岡県宗像市 キョンシー パチンコ 自身のインスタグラムに「2週間前の稽古場で…明るくて優し

  • そうだ、カレンダを出そう - Articles Advent Calendar 2010 Meta_adcal

    こんにちわ。mattn です。 カレンダ表示機能を追加しました。 カレンダって仕組みを理解しながら作らないといけないので、新人教育の題材としてカレンダ表示は良いんじゃないかなと思います。技術者のスキル判断基準にも出来るかもしれませんね。 では行きましょう。 Xslateに渡すオブジェクトとしては calendar という名前のハッシュリファレンスで、その下に rows というハッシュリファレンスの配列、各 row には cols という記事情報を格納したハッシュリファレンスを保持します。 カレンダは、まずその月の1日が何曜日で始まっているかを見て、そこまで空を表示する必要があります。 何個空白を入れれば良いかは、週の何曜日かで取得出来ますので Time::Piece の day_of_week を使います。 @cols = (); push @cols, { date => undef,

    そうだ、カレンダを出そう - Articles Advent Calendar 2010 Meta_adcal
    makamaka_at_donzoko
    makamaka_at_donzoko 2010/12/09
    hackerとacmeが / 対応ありがとうございます
  • Win32::GUITest と Win32::Clipboard で GUI 操作を自動化する - Articles Advent Calendar 2010 Win32

    こんにちわ。のどの痛みと熱でだいぶ体がだるい上に、開けていないフィギュアの箱を思いっきり踏んでしまって軽く凹んでいる xaicron です。 今日紹介するモジュールは Win32::GUITest というとってもナイスなモジュールです。 これの詳しい説明は、その昔に amachang が書いていますのでそちらを見るのが良いかと思います。 簡単にいうと、window 名から window を取得したり、キーボード入力やマウス入力をエミュレートしてくれる便利なやつです。 普段は、iTunes や foobar2000 を愛用していますが、たまに楽曲情報が見つからなかったりするときに、割と簡単に gracenote に情報を登録できるので SonicStage を使ってます。(最近、X-Application とかいう名前に変わってしまったみたいですが) しかし、これのインターフェースってまぁ当

    Win32::GUITest と Win32::Clipboard で GUI 操作を自動化する - Articles Advent Calendar 2010 Win32
  • Acme::Tsu - JPerl advent calendar 2010 acme Track

    こんにちは、hide_o_55です。 みなさんアクメで思い浮かべるものは何でしょうか? そうです、アクメツですね。 ということで名前だけ思いついて、勢いで作ったAcme::Tsuを紹介させて頂きます。 あ、ちなみにこれが僕の初Acmeです。 まず、インストール。 git clone git://github.com/hideo55/p5-Acme-Tsu.git cd p5-Acme-Tsu perl Makefile.PL make && make install 次に使い方 use Acme::Tsu; print "Hello world\n"; これだけです。 これでどうなるかというと、Acme::Tsuをuseしたスクリプトがアクメツになります。 こんな感じです↓ $ perl helloworld.pl $ cat helloworld.pl use Acme::Tsu; (

    Acme::Tsu - JPerl advent calendar 2010 acme Track
  • Acme::AKB48 - Articles Advent Calendar 2010 Acme

    最近大画面テレビを買ったのですが来ている電波がデジタル化されていませんでした。 こんばんは。hidekです。 というわけで、今回は国民的スーパーアイドルグループAKB48を堪能できるモジュールを紹介させてもらいます。 リポジトリはこちらです。 AKB48については最近の活躍で皆さんよくご存じだと思うので多くは説明しませんが、現在チームA, チームK, チームBの各16人の正規メンバーと24人の研究生からなるアイドルグループです。 個性的なキャラが多いので比較的覚えやすいのですが、テレビを全く見ない貴兄や、2次元しか興味がない貴兄にとっては、ひょっとしたら覚えられないことがあるかもしれません。そんなことになったら学校や職場で会話に入れず肩身の狭い思いをすることになるでしょう。 そんなときのために是非このモジュールを活用してください。 このモジュールは前回でも紹介されたAcme::Mornin

    Acme::AKB48 - Articles Advent Calendar 2010 Acme