タグ

ブックマーク / blog.yappo.jp (22)

  • 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: YAPC::Asia 2009 で「Key Value Store と ORM」について話します

    YAPC::Asia 2009 で「Key Value Store と ORM」について話します このところ、MySQL と KVS と ORM 関連のエントリをいろいろ書いていますが、それは、スケールアウト可能で、かつ、インフラの人に怒られないアプリケーションを、今まさに作っている、という理由があるからです。 ただ、ブログエントリだとどうしても細切れになるので、一連のモジュールやプログラムを組み合わせて、どうやってスケールするインフラと繋げる部分を作るのかという話を YAPC::Asia 2009 でさせていただくことにしました。 YAPC::Asia 2009 は9月10日(木)と11日(金)の2日間、東京工業大学大岡山キャンパスで開催されます。今日からチケット販売も始まったので、興味のある方はお越しいただければ、と思います。 YAPC::Asia 2009 Key Value Sto

  • 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: Log::Dispatch::Screen::Color - ログに色付けるよ

    « 良い子のMacPerlユーザーに送る、あなたのPerlアプリをMacアプリにする方法 (Mac版的PAR) | Main | 虹クッキリしすぎワロタ » Log::Dispatch::Screen::Color - ログに色付けるよ Log::Dispatch::Screen::Color を shipit しました。(りぽじとりはこっち) 昨年末に空前のlog colorブームがあったのですが、最近僕もようやくLog::Dispatchをまともに使うようになったので、Log::Dispatch::Screenに色付けたくなって付けました。 うそです。hirose31さんが呟いてたので作りました。 こんなコードと use strict; use warnings; use Log::Dispatch::Config; Log::Dispatch::Config->configure(

  • 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

  • YappoLogs: CodeRepos の記事を WEB+DB PRESS Vol.47 にて書きました

    Gold in WoW is usually called wow gold, which is as popular as wow power leveling among WoW gamers. Some even strive to find cheapest wow gold with fast delivery online. The same, warhammer gold and warhammer power leveling are hot topic in any game forums. As one of the most popular game, lineage 2 is also well known, running after lineage 2 adena is an interesting thing, too. Since last year, Ai

  • YappoLogs: SoozyConference が YAPC::Asia に乗り込んでくる

    SoozyConference が YAPC::Asia に乗り込んでくる 前夜祭を開催しますで スケジュールページ をご覧になるとわかりますが、カンファレンス前日の夜に前夜祭を予定しています。前夜祭では SoozyCon の出張版と、メイントラックでは採択されなかった JavaScript 関係のトークを RejectConf としてお話していただこうと思っています。とアナウンスされている通り、YAPC::Asia 2008 の前夜祭で SoozyCon が開催されます。 何と今回はスペシャルゲストのひがやすおさんが超基調講演してくださいます。さらに驚きのアノ人まで!(予定) その他の発表内容の詳細はhttp://soozy.org/?SoozyConference5から。 僕もHTTP::Engineの話をしてきます。 Posted by Yappo at 2008年05月08日 16

  • YappoLogs: antipopが入社してきた

    « HTTP::Engine - Perl版 WSGI のような物、 Catalyst::Engine を抜き出したような物 | Main | Moose のコードを探索して理解を深めた » antipopが入社してきた はてなに入社しました - antipop 突然ですが、5/1付でアプリケーションエンジニアとして、はてなに入社しました。これまでは、鹿児島県の奄美大島というところに住んでいましたが、これからは京都オフィス勤務です。これまでユーザとして、はてなの各サービスを愛用していたわけですが、今後は作る側からよりよいものにしていきたいと思っています。今後ともよろしくお願いいたします。 なんか隣の席ではたらいてるお! Posted by Yappo at 2008年05月02日 20:16 | TrackBack | 適当

    sugizou
    sugizou 2008/05/05
    lol
  • YappoLogs: ウェブエンジニアをしていて知らないと恥ずかしい日本人プログラマ300

    ウェブエンジニアをしていて知らないと恥ずかしい日人プログラマ300 ウェブ関係で仕事をしていて知らないと恥ずかしい日人100があまりにあんまりでブクマするのも恥ずかしいので、日のWeb周りでエンジニア(特にプログラマかな)で知らないと恥ずかしい日のプログラマ(主にWebに関わる的な意味で)100人のリストを作ろうと思う。 今のところ目標の1割くらいリストアップ出来た。まだまだ足りないのでもっと追加する。 14時: いっぱい追加 OPML化はerogeekがやってくれると思うのでOPML作ったよエントリを発見し次第リンクします。 OPML ktkr! yusukebe++ ゆーすけべー日記: ウェブエンジニア(略)と恥ずかしい日人プログラマ300のブログを列挙祭り 以下敬称略順不同 yoshiori - java-ja ats - Python ひがやすお - Java 羽生章洋

  • YappoLogs: WebService::Simple::Cabinet をリリースしました。

    WebService::Simple::Cabinet をリリースしました。 erogeekの処女作のWebService::Simpleが普通過ぎてドン引きしていた所、これを使ったモジュールの実装アイデアを夢の中で思いついたので、起きて速攻で実装しました。 WebService::Simple::Cabinetって言います。 昨日ちょろっと作ってみた所、面白そうとブクマされたのでCPANにうpしたけどindexはまだみたい。 リポジトリはhttp://svn.coderepos.org/share/lang/perl/WebService-Simple-Cabinet/trunk/からどうぞ。 何をする物かというと、miyagawaさんがWSDL/WADLっぽいって言ってたけどWSDLとかの説明が一番しっくりきました。 WebService::Simpleを使って簡単にアクセス出来るよう

    sugizou
    sugizou 2008/04/07
  • YappoLogs: Class::Component 0.13 リリースのお知らせ

  • YappoLogs: 誰でも簡単にOpenID 2.0なOPを作る方法 and CodeReposでOpenID(2.0対応)プロバイダの提供始めましたのお知らせ

    誰でも簡単にOpenID 2.0なOPを作る方法 and CodeReposでOpenID(2.0対応)プロバイダの提供始めましたのお知らせ 先週のbuilder techtalkから俄然としてOpenIDが熱くなって来た今日この頃いかがお過ごしでしょうか。 先日参加して来たOpenID Hackathonの成果として、CodeReposがOpenIDのOpenID 2.0 Providerになりましたことをお知らせします。 CodeReposのアカウントをお持ちの方は、fastladderとかLIMLICとかのOpenIDでサインオンできるサービでOpenID URLをcoderepos.orgとだけ打ち込んでログインしてみて下さい。 2.0に対応していない所だったらhttp://coderepos.org/share/wiki/Committers/usernameとでも入れればいいと

  • YappoLogs: デブサミ2008の発表資料、MacでバランスWiiボードのデータを取れるコードとプレゼンツールPlusenの公開

    デブサミ2008の発表資料、MacでバランスWiiボードのデータを取れるコードとプレゼンツールPlusenの公開 はてなが京都に帰ってしまう発表に盛り上がっている昨今みなさまいかがお過ごしでしょうか。 京都に帰るのははてなと任天堂が提携して、はてなワールドの移動がバランスWiiボードで出来るようになる為だと思い、その可能性を感じられるようなプレゼンをして来たので報告します。 デブサミの資料 早めに資料公開しないと放置してしまうので公開しました。 http://svn.coderepos.org/share/docs/yappo/devsumi2008/ 頑張っても動かせない場合はdevsumi2008.plにテキストで文章が書いてあるので読んで下さい。 このディレクトリに置いてある.plファイルは、そのまま下記で紹介するPlusenとMac::WiiRemoteのサンプルにもなってます。

  • YappoLogs: Cobbler Koan を CentOS な Xen で動かしたよ

    Cobbler Koan を CentOS な Xen で動かしたよ Xenが熱かった今年ですが皆様いかがおすごしでしょうか。 Koan - mizzy.org - Trac これで Xen ゲスト OS のインストールがはじまる、はずなんだけど、うちの環境では Segmentation Fault になってしまった。VMWare 上で Xen を動かすというのは無理があるのかもしれない。 実機で試したいところだけど、試せるサーバがないので保留。Yappo さんあたりが試してレポートしてくれるに違いない、きっと。 という牙指令を頂いたので試してみましたよ! 今回の環境をざっと説明すると、Cobblerを入れるマシンはCentOS5.1(i386)な環境で(master server)、cobbler importするディストリビューションはCentOS5.1(x86_64)、koanでネッ

  • YappoLogs: overloadのreblessとRHLのoverloadが遅いパッチ

    overloadのreblessとRHLのoverloadが遅いパッチ fbis++ overloadと再blessの問題 - Unknown::Programming でも現状の対策としてはどうすればいいのかちょっと思いつかないですね。リファレンスを捜索してoverloadフラグを立てる、なんてことをするモジュールとか作れるのかしら・・・。この段落を見て全てが繋がった! fbisすげーよ!まじすげーよ! 以前騒がせたFedoraCoreやCentOS系の遅いPerlのパッチの件で、overloadすると極端に遅くなるって話題ですが、問題のpatchのコメントに注目すると This is a hack cope with reblessing from class with overloading magic to one without (or the other way). まさしく、

    sugizou
    sugizou 2007/12/12
    fbis++
  • YappoLogs: CodeReposにうpする事は恐くないよ

    CodeReposにうpする事は恐くないよ ユーザ避けとしてのSubversion - blog.fuktommy.comのミラー だから早いうちからソースを公開するのはいいことだと思うんですけど、 問題もあるんですよね。 ソースはできるだけ早くから公開したいんですけど、 実際にユーザが使うのは「ひととおりできあがった」あとにしてほしいんです。 早くから使われると、当然完成度も低いですし、 仕様の変更だってちょくちょくあるから、 「完成度は低いし、バージョンアップのたびに互換性なくなるし、つかえねー」 という評判が立ってしまう。 これは二つの問題を混ぜて考えてしまっている。 ソースを公開する=将来のユーザになる層に告知するという考え方がまず間違っています。 そりゃ2chとかでスレ立ててやっちゃえば、混ぜこぜになっちゃうのもしょうがないかもしれないすけど、ひげぽんとかの成功例もあるからプロジ

  • 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