タグ

mooseに関するkamipoのブックマーク (31)

  • perl-mongers.org

    This domain may be for sale!

    kamipo
    kamipo 2010/02/18
  • Mouse 0.42 "Mouse::XS" released - Islands in the byte stream (legacy)

    I have released Mouse 0.42 "Mouse::XS". http://search.cpan.org/dist/Mouse/ From this version, Mouse generates constructors, destructors, and accessors in XS. These generated mehtods are much faster than pure Perl methods, especially in attributes with type constraints. How fast is it? Accoding to a benchmark for HTTP::Engine, Mouse::XS is about 100% faster than Mouse::PurePerl in command line appl

    Mouse 0.42 "Mouse::XS" released - Islands in the byte stream (legacy)
  • 『プライベート ブロック チェーン』|ブロック チェーン 3|ホワイ ブロック チェーン・鹿沼市|諫早市|スカラー ブロック チェーン

    スクエニ ブロック チェーン NEWS パチスロ 貞子3D(自动转) 東京都立川市 デジタル 通貨 白虎 どうしてもって時は、お刺身とかお野菜が単品で出てくるようなところに行って、それだけをべたりしています 伊豆市 ブロック チェーン 3 確かに送迎は必要なくなったとはいえ、年ごろの娘たちのことは心配だったので、その提案はいいかもしれないと思いました 2023-03-20 帯広市 プライベート ブロック チェーン 「聞いちゃいけない内容っぽいから一旦退出します」というメールと共に終了されていました(笑) 茨城県高萩市 CR牙狼GOLDSTORM翔 Ver.319 「原監督は19年のシーズン終了後に阿部慎之助(42)を引退させ、帝王学を授けるために二軍監督に就かせた,明野 パチンコ 屋 nft とは 仮想 通貨 愛知県尾張旭市 apple ブロック チェーン それでは、どうすればストレスの

  • https://hibinokoto.jp/archives/2009/04/000305.html

  • hasで定義したメソッドのオーバーライドについて - Unknown::Programming

    defaultだけ上書きとかできないのかな? package Foo; use Moose; has foo => ( is => 'rw', lazy => 1, default => sub { 100 } ); package Bar; use Moose; extends qw(Foo); # isとlazyを引き継いで欲しい! has foo => ( default => sub { 200 } ); 派生先でdefaultだけ上書きしたいんだけどそーゆーのはできない? やっばhasの定義をBarに全コピーするのがいいのかなぁ。でも定義が重複するのがやだな・・・。triggerとかが二重化しちゃうし。 んー他にはこうするとか? package Foo; use Moose; has foo => ( is => 'rw', lazy => 1, default => sub {

    hasで定義したメソッドのオーバーライドについて - Unknown::Programming
  • Mouse の Destructor がよくわかっていない。。。 (DESTROY とか DEMOLISH) - はちゅにっき

    ちょっとデストラクタで遊んでみた。 ら、Mouse の挙動ではまった。 Moose / Mouse を利用するとコンストラクタ *1 "new" と、デストラクタ "DESTROY" を定義することができません。 そこで、"new" の代わりに "BUILD"、"DESTROY" の代わりに "DEMOLISH" を使います。 だいたいこんな感じ *2。というのが自分の認識ですが。。。 Non Moose/Mouse なモジュールを継承して Moose/Mouse なモジュールにしたい (第二版) http://d.hatena.ne.jp/magicalhat/20090709/1247145570 で 非 Moose / Mouse なモジュールを Moose / Mouse で継承するには、make_immmutable する際に、 inline_constructor に 0 を渡

    Mouse の Destructor がよくわかっていない。。。 (DESTROY とか DEMOLISH) - はちゅにっき
  • Moosification: Catalyst 5.8に移行した際にちょっと気づいた事。 - D-6 [相変わらず根無し]

    Moosification: Catalyst 5.8に移行した際にちょっと気づいた事。 最初からMooseベースでアプリケーションを作るというのは、実務ではなかなか難しいのはわかります。一般論は JPA #02で話すのでおいておきますが(参加申し込みは今日5/12までですよ!)、5.8 からMoose化したCatalystであった問題・注意点をちょっと書き出してみます。 1. use Catalyst Catalyst::Upgradingを読んでいると package MyApp; use Moose; extends 'Catalyst'; __PACKAGE__->setup(qw/ ConfigLoader /); という表記が見られるが、これは気をつけないと駄目。 自分が直面した問題は、path_to()等を使った時に起こった。path_to() は現アプリのルートディレクトリ

  • 社内勉強会 - Pixel Pedals of Tomakomai

    Moose::RoleはJavaのInterfaceなんかじゃないの内容を社内勉強会でやったので、スライドだけ貼っておきます。 slideshareの貼り方ははてなブログでslideshareのプレゼンテーションflashを貼る方法で教わりました。

    社内勉強会 - Pixel Pedals of Tomakomai
  • はてなグループの終了日を2020年1月31日(金)に決定しました - はてなの告知

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

    はてなグループの終了日を2020年1月31日(金)に決定しました - はてなの告知
  • MooseX::ConfigFromFileもいいよ! - D-6 [相変わらず根無し]

    MooseX::ConfigFromFileもいいよ! http://dann.g.hatena.ne.jp/dann/20080702/p4 MooseX::Getoptを紹介するならMooseX::ConfigFromFileも是非どうぞ。 package MyApp; use Moose; with 'MooseX::Getopt'; with 'MooseX::ConfigFromFile'; # 引数の設定・・・ no Moose; sub get_config_from_file { my ($self, $file) = @_; # ファイルから読み込む・・・ return \%config; } これだけでコマンドラインからも、設定ファイルからも引数を渡せるよ! ちなみにget_config_from_fileの部分は、Config::Anyを使いたいので、以下のようにして

  • Mooseのお勉強(1) : あるソフトウェアエンジニアの戯言

    Mooseのドキュメントを読んでの覚書 Moose::Intro new, DESTROYメソッドは作ってはいけない Class class は attribute を持つことができる class は method を持つことができる class は superclass を持つことができる class は method modifier を持つことができる class では role が実行されることがある class は コンストラクタとデストラクタを持つことができる。(ただし、new, DESTORYという名前ではなく BUILD(), DEMOLISH() という名前のメソッドになる) コンストラクタには名前つき引数を与えてインスタンスのattributeを初期化することができる class は metaclassを持つ。 metaclassには meta-attribute, m

  • Moose::Roleのメソッドの競合(2) - 蛇足編 - Pixel Pedals of Tomakomai

    かなり蛇足ですが、昨日のエントリに追記。 「メソッドが競合している」ではなく、「クラス側にメソッドを実装しなさい」と怒られる Traitsの形式的定義によれば、 clashes, i.e., names that are defined in both T1 and T2 , annihilate each other and do not appear in the resulting record. となってますので、重複したメソッドは削除されて合成されることを想定しているようです。じゃあ、なんでこんなエラーになるのかとソースを読むと、 Moose::Meta::Role::Application::RoleSummation にて・・・ foreach my $method (@all_methods) { if (exists $seen{$method->{name}}) { if

    Moose::Roleのメソッドの競合(2) - 蛇足編 - Pixel Pedals of Tomakomai
  • Moose::Roleのメソッドの競合 - Pixel Pedals of Tomakomai

    再びTraits: Composable Units of Behaviorのネタです。 Moose::Roleを使った場合、メソッドの優先順位は 自クラス → Role → スーパークラス ... となりますが、ここで Role だけは複数持てるため、競合がありえます。 以下のTaxとTotalの二つのRoleは、どちらもtotal_priceを持っています。 # 価格から税金計算 package Tax; use Moose::Role requires 'price'; sub tax { my $self = shift; return $self->price * 0.05; } sub total_price { my $self = shift; return $self->price + $self->tax; } no Moose::Role; # 単価から合計計算 pa

    Moose::Roleのメソッドの競合 - Pixel Pedals of Tomakomai
  • 第4回 Any::Moose:なにがどうでもムースはムース | gihyo.jp

    CPANTSは情報の宝庫 Perlを使う最大の利点といわれるCPANですが、CPANは単なるモジュール置き場ではありません。CPANはまたPerlの利用状況を知るうえで不可欠な統計情報を得る場でもあります。そのような統計情報のいくつかは、いわゆるCPAN検索サイトからも確認できますが、より突っ込んだ情報が欲しい場合はCPANTS(CPAN Testing Service)と呼ばれるサイトを確認するのが便利です。 国内ではnipotanこと谷口公一氏が始めた「輝け!全日最強 CPAN Author 決定選手権」のネタ元として知られていますが、このサイトでは個々の作者やモジュールの品質だけでなく、そのモジュールが実際にどこで使われているかという情報を得ることもできます。 たとえば前回取り上げたロール関連のモジュールの利用状況を調べてみると、古き良きExporterを依存モジュールとして取り上

    第4回 Any::Moose:なにがどうでもムースはムース | gihyo.jp
  • Moose::RoleはJavaのInterfaceなんかじゃない - Pixel Pedals of Tomakomai

    Moose::RoleはJavaのInterfaceと似たような物だと思ってたんですが、大きな誤解でした。 モダンPerlの世界へようこそを読んで、Moose::RoleはTraits: Composable Units of Behaviorの概念の実装らしいことがわかったので、この論文を読んでみました。*1。非常に面白い内容でした。P.12 の a) と b) を見るだけでも、この概念の面白さが伝わるんじゃないかと。要は、指定した振る舞い(requires)から新しい振る舞い(provides)を作るものが、Traitsってことです。(ただし、ここで言う振る舞いにはアクセサを含みます。) 誤解していたこと Moose::RoleをTraitsとして見なすとすれば、JavaのInterfaceの性質である以下の2点は誤解です*2。 Moose::Roleは、単なるインタフェース(API)

    Moose::RoleはJavaのInterfaceなんかじゃない - Pixel Pedals of Tomakomai
  • 第3回 Moose::Role:役割単位のクラス分け | gihyo.jp

    多重継承しないほうがよい場合 前回は多重継承を利用してクラスを拡張するときにありがちな問題と、そのひとつの解決策を見てきましたが、クラスにいくつかのメソッドを追加したいだけであれば、むしろ継承を利用しないほうがふさわしい場合もあります。 たとえば「コウモリ」というクラスを実装するとき、「⁠乳を出す」というメソッドのために「ほ乳類」というクラスを、「⁠空を飛ぶ」というメソッドのために「鳥類」というクラスを継承するのは――たしかにそれで当座の問題は解決するかもしれませんが――違和感が残ります。 use strict; use warnings; use Test::More tests => 4; package Mammal; sub new { bless {}, shift; } sub produce_milk { print "I can produce milk.\n"; } pa

    第3回 Moose::Role:役割単位のクラス分け | gihyo.jp
  • https://hibinokoto.jp/archives/2009/02/post-303.html

  • モダンPerl入門でMooseに入門してみた - bonar note

    Perl界隈の期待の新刊「モダンPerl入門」。読んじゃいました。 モダンPerl入門 (CodeZine BOOKS) 作者: 牧大輔出版社/メーカー: 翔泳社発売日: 2009/02/10メディア: 大型購入: 23人 クリック: 465回この商品を含むブログ (112件) を見る Perl基礎の表層を一通りなめたものの、初心者からなかなか抜け出せない僕のような人のためにかかれたですね。感動しました。読んで満足してこのまま終わってしまいそうだったので、書いてある内容を実践してみてようと思います。 注意 調べながら書きながらなので間違っている箇所もあるかもです。ツッコミお待ちしております。 Moose と Class::MOP の機能をおそらく混同してます。すいません。 Mooooooose モダンPerl入門は "Class::Accessor::Fast と Moose" という

    モダンPerl入門でMooseに入門してみた - bonar note
  • Any::Mooseの挙動と使い方 - Yappo::タワシ

    追記 この記事は Any::Moose 0.02 以前が対象です。 0.03および、現在の最新版 0.04 では MouseとMooseを挟んだ処理の挙動が以下のように変わってます。 $VAR1 = bless( { 'roles' => [], 'superclasses' => [ 'Mouse::Object' ], 'name' => 'ANY', 'attributes' => {} }, 'Mouse::Meta::Class' ); $VAR1 = bless( { 'roles' => [], 'superclasses' => [ 'Mouse::Object' ], 'name' => 'ANY2', 'attributes' => {} }, 'Mouse::Meta::Class' ); ようするに最初にuse Any::Mooseをした時にMooseがloadされ

  • MooseX::WithCacheを書いた - D-6 [相変わらず根無し]

    MooseX::WithCacheを書いた オブジェクト、特にビジネスロジックを書くときに、その結果をキャッシュに突っ込んでおくことがとにかく多い。 で、まぁそういう共通コードはベースクラスに入れておけばいいやって感じで書いてたんだけど、それももう5回目くらいになって最近もう当にそれが面倒くさくなってきたので、丸ごとパッケージングした。それがMooseX::WithCache 話は単純で、要はcacheオブジェクトへのリファレンスをそれぞれのオブジェクトが持っていて、それに対するアクセスを簡単にするメソッドを生やしてやっているだけ。 package My::Thing; use Moose; use MooseX::WithCache; with_cache 'cache'; # デフォルトはCache::Memcached no Moose; no MooseX::WithCache;