タグ

*perlとYappoに関するsugizouのブックマーク (14)

  • YappoLogs: KVSでORマッパーを使うという事

    KVSでORマッパーを使うという事 ケイレキ.jpの中でケイレキ.jpに招待して欲しい人を呼びかけても絶賛スルーされてるYappoです。さて今回は今巷で大人気のKey Value StorageでORマッパーを使う事についてお話するのじゃ。 一般的にORマッパーとはオブジェクトとリレーショナルデータベースをマッピングする為の仕組みの呼び名だと言うのは知られている所です。はい、そうするとKVSってのはハッシュデータベースであるわけなのでおかしいですね。今回の話はData::Model::Driver::Memcachedを使う事を前提としてるので問題が無いのです。なぜなら「data/object mapper」とか書いてあるから。 いわゆるPerlなORマッパーってのは行データをHASHで管理します。それはRDBが一般的に表形式でデータを管理しているからなんだと思います。なんでKVSをオブジ

  • YappoLogs: HTTP::EngineとPSGI - HTTP::Engine is died?

    HTTP::EngineとPSGI - HTTP::Engine is died? HTTP::Engine は元々 ・各種Webサーバに依存した処理がWAF毎に分散してるのをまとめたい! ・Request/Responseも共通化したい! という所からスタートしたプロジェクトな訳ですが、今回PSGIが始まる事によって前段の部分をPSGIに委譲して、Req/Resの共通化は今まで通りありますよと言う話。 今回のPSGIは「HTTP::EngineのInterfaceのレイヤとReq/Resのレイヤが絡み付いてて良く無いんで、良い感じに分離したいよね」という所から始まった感じ。 結局はPSGIは仕様なので、それを実装するのはHTTP::Engineの内部になるかもしくはRack的な物を外に作ってやるかという事になるけど(後者の方向)、HTTP::Engineの内部でPSGIと既存のReque

    sugizou
    sugizou 2009/09/10
    [http::engine]
  • YappoLogs: HTTP::Enginについて

    HTTP::Enginについて 昨日のHTTP::Engineは死なないよってのは間違いじゃないけど、プロジェクト的には老後生活に入る方向になってました。 仕様は PSGI になり、 Interface 実装は PSGI 実装に、 Request の実装は PlackX::Request に移る方向性っぽいです。 具体的に言うと PSGI の実装を Interface レイヤで使って、Request部分を PlackX::Request を使うラッパーという形になります。 来の HTTP::Engine も Interface の部分からデータを受け取って Request オブジェクトを作って、アプリケーションのコールバックを呼んで アプリケーションから帰って来たResponseオブジェクトを受け取って、それをWebサーバに戻すんですが、これをこれから PSGI実装からPSIGプロトコル

    sugizou
    sugizou 2009/09/10
    [http::engine]
  • YappoLogs: Hash::Merge 活用術

    Hash::Merge 活用術 「全裸は違法だということを言われた。ええええ、そんな法律があるのか?Debugはできるようになるかもしれない。」と思っておセンチなyappoです。 hashを簡単にmergeするCPAN moduleとしてHash::Mergeがあるのは有名ですが、デフォルトだと色々頑張ってマージしちゃうので、例えばHTTP::Engine::Middlewareの使いたいMiddlewareをARRAY refで書いちゃったりして、base.yamlとproduction.yamlでmergeした時に、以下のような混ざりかたでとんでも無い目にあいます。 use strict; use warnings; use YAML; use Hash::Merge; my $base = { Middlewares => [ { module => 'HTTPSession', c

  • YappoLogs: List::Rubyish をリリースしました

    List::Rubyish をリリースしました ブクマコメントでnaoyaさんからhttp://github.com/naoya/list-rubylike/tree/master/lib/List/RubyLike.pmがバグも無くていい奴だから、そっちとdiffとって適用したほうがいいよ!とアドバイスいただいて、その差分をmergeしつつList::RubyListのテストコードをコピペするだけの簡単なお仕事をしてテストカバレッジ率も100%になったのでshipitしました。 というかnaoyaさん & secondlife 組の元コードのテストカバレッジ率が90%くらいだったので物凄く楽出来ました^^ http://search.cpan.org/dist/List-Rubyish/にそのうち反映されるはず。 List::RubyLike は use すると list 関数を exp

    sugizou
    sugizou 2009/02/20
    今更だけどぶくま
  • YappoLogs: Term::QRCodeっての作ってみた

    Term::QRCodeっての作ってみた QRCode大好きclouderさんがText::QRcodeを作ったのをみたnipotanさんが早速terminal化した物をgyazoにうpしてたので、gazoのコードを見ながら脳内コピペして10分くらいでTerm::QRCodeを作りました。 http://svn.coderepos.org/share/lang/perl/Term-QRCode/ ターミナルで作業してる時に、不意にQRCodeが必要になっても落ち着いてQRCodeを参照できるようになりましたね! Text::QRCodeはCPANに上がってないけど、ネタでCPANに上げるかな Posted by Yappo at 2008年10月31日 13:13 | TrackBack | Perl Gold in WoW is usually called wow gold, whic

  • あんなモデルこんなモデル - Yappo::タワシ

  • Perl-users.jp - 日本のPerlユーザのためのハブサイト

    Perl Mongers Perl Mongers とは、日各地に存在する、Perl ユーザーのコミュニティのことです。各種イベントが行われていますので、是非参加してみましょう。 Shibuya.pm Fukuoka.pm Kansai.pm (@kansaipm) Yokohama.pm (@yokohamapm) Hokkaido.pm (@hokkaidopm) Nagoya.pm (@nagoyapm) Kushiro.pm (@kushiropm) Kyoto.pm (@kyotopm) Kamakura.pm Niigata.pm (@niigatapm) Sendai.pm (@sendaipm) Tokyo.pm Hachioji.pm (@hachiojipm) Chiba.pm (@chibapm) Yomitan.pm (@yomitanpm) Machida.pm

  • YappoLogs: Class::Component 0.13 リリースのお知らせ

  • Soozyで開発してるときにちょっとより直感的にconfigにpatcheをあてる方法 - Yappo::タワシ

    殆どのケースでは http://d.hatena.ne.jp/yappo/20080207/1202374085 で事足りるんだけども Hash::Merge で混ぜてるので、 ARRAY ref な設定を siteconfig で上書き出来なくなっちゃう。 有る所で問題が出てくるのです、そうDBICのconfigで問題になります。 その前に Soozy の config の扱いについてさらっと紹介。 Soozy の場合はmodel,controller, view などの設定はそれぞれ ./config/[MVC]-Name.yaml という別ファイルに別けられていて、その中で # config/M-Foo.yaml default: schema_class: Proj::Schema::Foo connect_info: - 'dbi:mysql:foo:dbserver' - 'u

  • YappoLogs: dan - リテラルとかを読まなくなるプラグマ作った

    dan - リテラルとかを読まなくなるプラグマ作った 何を言っているのか解らないとは思いますが、use danをするとそれ以降の""とか''やq{}とかとかで囲まれた文字列を全て読まなくなります。 use dan; print "foo"; # not displaying no dan; print "foo"; # foo こんな感じで、use danからno danの間にあるもの全てを読まなくなります。 正規表現だろうがqwの中身だろうがヒアドキュメントだろが構わずです。 その他フィルタ的にも使えるので詳しくはソースとか読んでみて下さい。 サンプルはテストを見るべし。 ちょっとしたアーミーナイフ的で素敵です。 use orz的に考えてもらえると嬉しいです。 なんだかuse utf8してると、hint bits的にdanの処理がうまく行かないのでforceモード付けて、use utf8

  • Perlでプラガブルモジュールを作ろう!:第2回 attributeを使ってplugin作成を支援する|gihyo.jp … 技術評論社

    今回のテーマ 今回は、Perlのattributeという仕組みの詳細と、そのattributeを利用したClass::Componentのpluginについての解説、pluginの作成方法といった話題を取り上げます。 サンプルアプリケーション 連載では、プラガブルなモジュールを作製するという事を考えて、Gopperという実際に実行可能なサンプルアプリケーションを元に解説を行ないます。GopperはCodeRepos上のsvnリポジトリに置いてあるので各自checkoutしてください。 svn co -r 455 http://svn.coderepos.org/share/lang/perl/Gopper/trunk Gopper attributeとは attributeとは、Perlのサブルーチンや変数に属性を定義して、サブルーチンとしての挙動を標準から変更したり、どのようなサブルー

    Perlでプラガブルモジュールを作ろう!:第2回 attributeを使ってplugin作成を支援する|gihyo.jp … 技術評論社
    sugizou
    sugizou 2007/10/12
    第2回
  • 第1回 Class::Componentから始めるプラガブルモジュール | gihyo.jp

    はじめに はじめまして。大沢と申します。 この連載では、筆者が実装したCPANモジュールのClass::Componentを題材にしつつ、近代的なPerlでのプラガブル(拡張可能)なソフトウェアの実装方法を紹介します。 今回は、Class::Componentの概要を説明します。 連載で使うサンプルアプリケーション 連載では、プラガブルなモジュールを作製するという事を考えて、Gopperというサンプルアプリケーションを元に解説を行ないます。 GopperはCodeRepos上のsvnリポジトリに置いてあるので各自checkoutしてください。 svn co -r 271 http://svn.coderepos.org/share/lang/perl/Gopper/trunk Gopper サンプルアプリケーションは連載中にも頻繁にupdateされる事が予想されますので、毎回リビジョン

    第1回 Class::Componentから始めるプラガブルモジュール | gihyo.jp
  • YappoLogs: encoding::sourceをperl5.8系で動かす

    encoding::sourceをperl5.8系で動かす ことの発端はmiyagawaさんの というわけで上記のような問題になやまされずにリテラルをソースに書くことが出来そう。5.9 からバックポートされたのかなぁ、と思ってソースをみると思いっきり use 5.9.5 が。5.10 のリリースがまたひとつ待ち遠しくなったなぁ。 から なんで5.9から? encoding:sourceのソースを見てみると5.10の新演算子//が使われていた。のでまずはdefined使いまくりでソースを書き換えたけど上手く動かない。よく見ると my $hinthash = (caller($level))[10]; なるコードがある、callerの戻り値のリストは10個しか無い筈なのに11個目を取ってる。 調べてみると、5.10からの仕様でperlpragmaなるドキュメントがある。 callerで指定した

  • 1