タグ

perlに関するterazzoのブックマーク (72)

  • perl - で無名再帰関数再び : 404 Blog Not Found

    2009年02月15日10:30 カテゴリLightweight Languages perl - で無名再帰関数再び これまでのあらすじから。 Perl で JS の arguments.callee 的なことしようと思ってハマった - IT戦記 それDevel::Caller でできるよ - TokuLog 改め だまってコードを書けよハゲ 404 Blog Not Found:perl - で(Recall()|arguments.callee()|&?BLOCK()) PerlでRecallの話 - Unknown::Programming これ、それぞれに欠点がありました。Devel::CallerはXSに依存する。弾方式はソースフィルター、id:fbis方式はいちいち自分自身をスタックに積み直している... この欠点を全て取り除く方法を発見しました。 [Run via code

    perl - で無名再帰関数再び : 404 Blog Not Found
    terazzo
    terazzo 2009/02/15
  • 『モダンPerl入門』のXSの章がすばらしすぎて吹いた - Islands in the byte stream (legacy)

    『モダンPerl入門』を軽く立ち読みしてきた。 主にXSの章を中心に読んできたのだが,これがすばらしい。私がXSに触れ始めたころは英語をほとんど読めなかったので,XSの習得にはものすごく苦労したのだった。perlxstutのサンプルコードを試したり,Perlのソースコードを読んだり,xsubppが変換したCのソースコードを読んだりしながら試行錯誤してようやくXSを身につけたのだ。そうやって苦労した数ヶ月分の知識が,『モダンPerl入門』を10分立ち読みしただけで俯瞰できてしまった。 いい時代になった。

    『モダンPerl入門』のXSの章がすばらしすぎて吹いた - Islands in the byte stream (legacy)
    terazzo
    terazzo 2009/02/14
  • OreOreネームスペースの件

    先日勢いでCPANにuploadしたOreOre::Danjou::HelloWorldですが、OreOreネームスペースに今月中に二つ目のモジュールが登録されなかったら削除しようと思います。OreOreネームスペースを使いたい方は急いでCPANに登録してください!

    terazzo
    terazzo 2009/02/12
  • 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

    terazzo
    terazzo 2009/02/05
  • 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

    terazzo
    terazzo 2008/12/08
  • モジュールがMoose依存してた。別れたい… - Unknown::Programming

    さて毎年年末が近づくとブログ更新頻度が下がるid:fbisですが、Mooseも馴染んできたところなのでそろそろMooseに対して一言いっておくかということでね、はい。 Mooseは素晴らしい。とてもベリー素晴らしい。何より人に優しい。人間に優しい。 がっ!しかし、Mooseはまだ使うには早すぎた。ナウシカの巨神兵ばりに早すぎたんだ。 実際に組み込んでみて感じた問題点。 大きく分けて二つ。 その壱:オブジェクト生成のコスト やはりなんといってもnewのコストが高い。遅い。 一つ一つを見ればそこそこなんだけどやはりnewのコストは高い。 Mooseを使うのであれば極力newを避けるような仕組みの中に取り入れないと微妙。Catalystで例えるならsetupの時点でnewして以後キャッシュされるような実装だ。 newさえ終わればあとは(複雑なMooseの使い方をしてない限り)それほど問題ではない

    モジュールがMoose依存してた。別れたい… - Unknown::Programming
    terazzo
    terazzo 2008/12/02
  • Mojo 0.7 released (Perl on Rails in 150 lines of code) - Sebastian Riedel - Perl and the Web

    This is the biggest and most exciting Mojo update so far, because it finally includes the first example web framework named Mojolicious. Mojolicious has many similarities to Ruby on Rails and Merb, but stays true to it's Perl roots. While it's still just a proof of concept, it shows very well whats so cool about Mojo and how to get started with building web frameworks on top of it. Trying Mojol

    terazzo
    terazzo 2008/10/24
  • 初めてPerl触って思ったこととか - ずっと君のターン

    Perl暦一週間。ホントにまったく何にも知らないのに一身上の都合で使うことになって、勉強してみたらいろいろ驚きというかなんというか・・・。なにかが根的に間違ってるかもしれないけど、とりあえず触ってみて思ったこと。 関数定義 sub funcname { my($arg1, $arg2, $arg3) = @_; # do something } 関数定義に仮引数がなくて毎回こう書かないとだめみたいなんだけど、誰も文句言わないのこれ?ほんとに? 単なるシンタックスシュガーでいいから sub funcname($arg1, $arg2, $arg3) { # do something } こう書かせてほしいんだけど。 コーディングなんてその大部分は関数定義なんだから、そういうところにはもう少し気を使ってくれてもいいと思う・・・。 プレフィックスと名前空間 変数の型に応じてプレフィックスつける

    初めてPerl触って思ったこととか - ずっと君のターン
    terazzo
    terazzo 2008/09/04
  • Mooseは「使いやすいオブジェクト定義ツール」じゃないよ - D-6 [相変わらず根無し]

    Mooseは「使いやすいオブジェクト定義ツール」じゃないよ Mooseは「使いやすいオブジェクト定義ツール」じゃないよ。MooseはPerlにおける「オブジェクト指向の革命」ですよ。 http://dann.g.hatena.ne.jp/dann/20080814/p2http://d.hatena.ne.jp/fbis/20080814/1218689670http://d.hatena.ne.jp/a666666/20080813/1218628821http://anond.hatelabo.jp/20080621124021 ぶっちゃけ"has"が使えるとか、勝手にnew()を作ってくれるとか、そういうことはどうでもいいのです。Mooseが革命児たる所以はオブジェクトの初期化・クリーンアップ・メソッドのコールチェインをPerlという言語において初めて(呼び出される順番とか、そういう

    terazzo
    terazzo 2008/08/15
    >機能ベースの設計ができるようにしてくれ、我々が陥りがちなものすごく深い継承関係等を完全に抹消してくれるというところです。
  • CPAN モジュールを使って楽に携帯サイトを作る方法

    なにかと BK がつきまとう携帯サイト開発ですが、「これを入れると携帯対応ができます」的な単一の何かに乗っかった形ではなく、『各課題をそれぞれモジュールで解決する』という方向のサンプルサイトを作ってみました。 MobileCat 実はモバゲー、mixi はじめ Perl はそうとう携帯サイトの裏で動いていますが、いかんせん各社歴史が古いからかほとんどが独自の Web フレームワークで動いてるんですよね。そこをふまえ、今のところ一番一般的である Catalyst を使ってみています。 Mobile + Cat[alyst] なので MobileCat。名前から発想した後付けで、デザインをネコにしたり適当なネコ語になるようにしてみた。ネコは林くんに描いてもらった。 サイトは絵文字変換のテストが楽にできるよう twitter 的なもので、無駄に端末 ID 認証やメールで投稿できる機能が入ってたり

    CPAN モジュールを使って楽に携帯サイトを作る方法
  • はてなグループの終了日を2020年1月31日(金)に決定しました - はてなの告知

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

    はてなグループの終了日を2020年1月31日(金)に決定しました - はてなの告知
    terazzo
    terazzo 2008/07/07
    Perlに限らずフレームワークのソースコードを読むのは勉強になることが多い。
  • perl - tie()って何をtieするの? : 404 Blog Not Found

    2008年07月05日01:30 カテゴリLightweight Languages perl - tie()って何をtieするの? 私はタイをまとうのがだいっきらいですが、Perl 5の中で一番好きな関数がtie()だったりします。 tie関数とは - 燈明日記 すると、裏で処理が動き、オブジェクトをコンストラクトしたり、とある処理結果が参照できたり、代入したものに対応したものを格納出来たりする。 というわけで、tie()について語っておくことにしましょう。 tie()とはなにか? ずばり、「オブジェクトではない、perlの組み込みデータタイプを裏でオブジェクト化する仕組み」のことです。それがなぜtieと呼ばれるかと言えば、変数を指定されたクラスに結びつけるから、です。 論より証拠、実際に見てみましょう。 use strict; use warnings; { package MySca

    perl - tie()って何をtieするの? : 404 Blog Not Found
    terazzo
    terazzo 2008/07/05
  • use Safe; # XS知らなくても大丈夫! : 404 Blog Not Found

    2008年06月30日16:45 カテゴリLightweight Languages use Safe; # XS知らなくても大丈夫! さすがにこの目的のためだけにXS Hackというのは、ハエ退治にパトリオットミサイル撃つようなものなので、キンチョールも紹介しておきたく。 PL_check hack - daily dayflower ゴール #!/usr/bin/perl eval 'print "Hello ' . $ARGV[0] . '!\n"'; とか危険ですよねー*1。こんな機能があるなんてけしからん。ですので,eval の実行を抑制するモジュールを書いてみました。 そのためには、Safeモジュールを使います。Perl 5.02からCOREに入っている由緒あるモジュールです。Malcolm Beattie がBのフレームワークを作った理由の一つが、これを可能にすることでした。

    use Safe; # XS知らなくても大丈夫! : 404 Blog Not Found
    terazzo
    terazzo 2008/06/30
    蝿を撃つにパトリオットミサイルを以ってす
  • Perl Internalsについて - Unknown::Programming

    実は、Perl 5.8以降では、Internals::SvREADONLY()という関数がuseなしで使えるようになっていて、Internals::SvREADONLY($scalar, 1)で$scalarをREADONLY flagをonに、Internals::SvREADONLY($scalar, 0)でoffにできます。 404 Blog Not Found:perl - Const released -- True Readonly SUGEEEE、ってかそんなのあるなんて知らなかった。まぢで?まぢで?早速試してみた。 my $foo = 10; Internals::SvREADONLY($foo, 1); eval { $foo = 'WRYYYYYY' }; # エラーになるはず print $@ ? "error! $@" : 'not error!'; Interna

    Perl Internalsについて - Unknown::Programming
    terazzo
    terazzo 2008/06/27
  • [http://search.cpan.org/perldoc?Web::Scraper:title=Web::Scraper] をつかってみた - daily dayflower

    ドキュメントねー,と思ったら Redirecting… みたいな素敵なチュートリアルがあったのでいまさらながら使えるようになりました。サンプル群も参考になりました。 はてブのホッテントリから,タイトル,URL,キーワード,タグを抜き出すのを書いてみました。わりと素直に書くとこんな感じ? use strict; use warnings; use Web::Scraper; use Encode (); #binmode \*STDOUT, ':utf8'; my $utf8 = Encode::find_encoding('utf8'); my $target = do { if (@ARGV && ! -f $ARGV[0]) { use URI; URI->new($ARGV[0]); } else { local $_ = do { local $/; <> }; $utf8->de

    [http://search.cpan.org/perldoc?Web::Scraper:title=Web::Scraper] をつかってみた - daily dayflower
    terazzo
    terazzo 2008/06/27
  • YappoLogs: Acme::NabeAtzz - VM崩壊!? ナベアツ人気でPerlプログラマが悲鳴

    Acme::NabeAtzz - VM崩壊!? ナベアツ人気でPerlプログラマが悲鳴 小学校の算数の授業が崩壊しているというニュースがありますが、昨今のナベアツ人気とPerl VM hackのブームが融合して迷惑なCPANモジュールが誕生しました。 Acme::NabeAtzzをインストールして use Acme::NabeAtzz すると、PerlのVMオペコードの数値が3の倍数になるオペコードを実行する時にPerl VMがアホになってしまう迷惑なモジュールなんです。 例外無く全部の3の倍数のオペコードがアホになるので大変です。 もちろんPerl体へのパッチは不要です。モジュールインストールするだけです。 興味が有る人はソースでも読んでみて下さい。 このネタは特に明日のShibuya.pmでは言及しません。 Posted by Yappo at 2008年06月24日 13:04 |

    terazzo
    terazzo 2008/06/24
  • ファイルハンドルをめぐる冒険(ただしマニア向け) - daily dayflower

    以下は Perl 5.8.8 のソースを元に記述しました。Perl 5.10 でもそう変わってはいないと思いますが,結構内部が変更されているので違うかもしれません。大まかには同じだと思います。 イントロダクション Perl でのファイルハンドルは内部的には [http://search.cpan.org/perldoc?IO::Handle:title=IO::Handle] オブジェクトとして保持されています。そのような記述は perl5004delta くらいでしか見つかりませんでした。ラクダにもなかったような。 Internal change: FileHandle class based on IO::* classes File handles are now stored internally as type IO::Handle. The FileHandle module

    ファイルハンドルをめぐる冒険(ただしマニア向け) - daily dayflower
    terazzo
    terazzo 2008/06/05
  • 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

    terazzo
    terazzo 2008/05/21
  • ハチノコライフ~蜂の子生活~

    蜂の子は、古くから活力源として活用されてきた優秀な健康。 ミネラル・ビタミン・アミノ酸を中心に様々な栄養素を含み、多岐にわたる健康効果を期待することができます。 とは言え、蜂の子をべるのはちょっと...という方は少なくないはず。 そんな方にお薦めしたいのが、ずばり、サプリメントやコスメなどのアイテムです。 料理とは違い、味や匂い独特な見た目を感じずに済むのが特徴! 無理なく続けていくことができるので、しっかりと実感にアプローチすることができます。 とは言え、どんな製品でも同様にパワーを実感できる…という訳ではありません。 しっかりとパワーを実感できるのは、やはり、質が良く、含有量が豊富な製品に限ります。 その点を無視して、良く選ばずに製品を買ってしまうと、なかなか実感に結び付けることができません。 そこでこのサイトでは、満足度できる製品の選び方をナビゲートします! 人気製品の体験談&特

    terazzo
    terazzo 2008/05/17
    こりゃラクチン(主にインストールが。) processコールバックでchannelnameも取りたいな。
  • use charnames; を使うんだルーク! - TokuLog 改め Moose かわゆす日記

    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

    terazzo
    terazzo 2008/05/09