タグ

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

  • YappoLogs: なぜ SQL_CALC_FOUND_ROWS や LIMIT OFFSET のページングが良く無いのか

    なぜ SQL_CALC_FOUND_ROWS や LIMIT OFFSET のページングが良く無いのか ここ最近の大規模サービス関連したデータページング考です。 mysql 5.5.34 で試して記事書いてます。 bigdata テーブルは id BIGINT UNSIGNED NOT NULL AUTO_INCREMENT, PRIMARY KEY (id) なカラムがある前提です。もちろん InnoDB です。 2014年なんだからCOUNT(*)とかSQL_CALC_FOUND_ROWSとかLIMIT OFFSETのページングはやめようぜ - Togetterまとめが発端にみえるけど、わりと昔から話されてる事なんだけど、「nippondanji SQL_CALC_FOUND_ROWS」でググっても有用な情報ないし文書化されてないからしとく。 ページング処理で使われがちな機能です。 S

  • YappoLogs: life

    life I was laid off by last employer at July 2011. I got a new Job from August, 1st, 2011. I'm still writing perl5 code. Posted by Yappo at 2011年08月02日 01:51 | TrackBack | プレスリリース

    mainyaa
    mainyaa 2011/08/02
  • YappoLogs: Cocoa::Growl が面白い

    Cocoa::Growl が面白い なんかの時に、お勧めの growl を扱うモジュールの話をした時に、最近の俺の macbook pro では Mac::Growl が入らなくなって悲しいって話をしてたら typester さんが Cocoa::Growl を作ってくれました。 Objective-C をそのまま XS module 化しててイカすんですが、さらに AnyEvent のイベントループを cocoa のイベントループを使うようにする AnyEvent::Impl::NSRunLoop なんてのまで作っちゃって、 これを使うと growl の通知をクリックしたイベントとかを Perl 側でハンドリング出来ちゃったりして面白そうだけど使いどころ良くわからなかったので、 AnySan で繋いでる irc チャンネルに yappo って含む発言があったら growl で通知して、そ

  • YappoLogs: TokyoCabinetがPerlのHASHより遅いわけがない!

    TokyoCabinetPerlのHASHより遅いわけがない! こんにちわ!金曜日担当・Shibuya内フェアリーことYappoです。 mixi Engineers’ Blog » PerlRubyで省メモリなハッシュを使おうにて 100万件のレコードを格納した場合のメモリ使用量と処理時間を測ってみましょう。Perl(5.8.8)でテストコードを動かしたところ、以下の改善が確認できました。標準のハッシュに比べて、メモリ使用量がTCのオンメモリハッシュだと約61%、TCのオンメモリツリーだと約37%になることがわかります。処理時間に関しては157%ほどになっていますが、まあ許容範囲ですよね。といった事が書かれており、その文面の上の解説で、tieしたので、tieしてるからおせーんじゃねーの?とテストコードも見ないで呟いてたらmikioさんからtie使わないでやってるよ!とつっこんでいただき

  • YappoLogs: mixiアプリ開発者デビューしてみた

    mixiアプリ開発者デビューしてみた さっそくアプリを登録したhttp://platform001.mixi.jp/run_appli.pl?id=814 デビュー申請とか言うのもしてみた。 内容はmixiのデペロッパ登録のやり方がとてもわかりずらかったので、皇族の人達が登録につまづかないように新設丁寧に登録の道筋を伝えるマニュアルになっています。 Posted by Yappo at 2009年04月09日 12:33 | TrackBack | 適当 DENVER wow goldTayshaun Prince hit awow gold running jumper with 20 seconds left, Aaron Afflalo hit six straight free throws after that, wow goldand the Detroit Pistons o

  • YappoLogs: Moose のコードを探索して理解を深めた

    Moose のコードを探索して理解を深めた 日は Roppongi.PM の第一回 Moose コードリーディングがありました。 Mooseは、単純に使ってる分には分り易いのですが、その実装を見ようとすると途端に複雑さが増します。 とにかくメソッドの呼び出しのスタックが深い。MySQL程では無いにしろ曲者です。 今回はそんなMooseの挙動を把握する手がかりを掴もうという回です。 Moose.pm Moose.pmは、主にuse Mooseされた時にexportするメソッドの定義をしています。 use Mooseすると、extends,with,has,before,after,around,override,inner,augment,make_immutable($c->meta->make_immutableすべき),confess,blessedがexportされます。 そしてM

  • 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: MSNメッセンジャーの人工無脳エージェント

    MSNメッセンジャーの人工無脳エージェント 少し格的なMSNメッセンジャーエージェントを作ってみた。 何で最近MSNなんかをやっているかと言うとCeekz LogさんのCeekz Agent の試作を見て何となくNet::MSNを入れてみたのがきっかけ。 題材はと言うと、人工無脳エージェント そう、当初は携帯サイトのチャットの中だけに生息していたが 最近はblogを始めたりgreeデビューまで果たしてしまった「ひよこ」をMSNメッセンジャーに進出させたのである。 実装はいたって簡単で、Net::MSNについてきているサンプルのclient.plのなかに use hiyoko; して、数行のコードを加えただけで作れちゃった。 元々、ひよこのコアはモジュール化してあったので楽にMSNに対応できた。 Net::MSNの物足りない所を拡張して、チャットウインドウを開いた瞬間にお知らせを送信できる

  • YappoLogs: 悪のりで学ぶsvnadmin/trac入門実用編

    悪のりで学ぶsvnadmin/trac入門実用編 とある平和なある週末に事件は起こった xx:14 ([aopy]+) stfuawsc汚染なコードをciってまった xx:14 (A) ちょ xx:14 (B) ww xx:14 (C) www xx:14 (D) stfuawsc xx:14 {[ainOS]+} パネラーディスカッションという事で、直近のコミットした内容をこの世から抹消しなければならなくなった。 しかもtrac上のデータもあわせて..! 消したいリビジョンは100である。 svnのデータを消すコマンドだけで直前のコミットを取り消せないものかと調べたが、出来ないという事が分かった。 ちょっと冷静になって、svnadmin dumpとsvnadmin loadの組み合わせで何とか出来ないか?と考え$ svnadmin dump /svn/public > /tmp/publ

    mainyaa
    mainyaa 2007/11/22
    間違ってコミットしてしまったファイルをログとTracから消す
  • Plaggerで新着Feedを検知したら物理的に通知してくれるモジュール

    Plaggerで新着Feedを検知したら物理的に通知してくれるモジュール むかしはメールが届くとタッチおじさんが動いて着信通知をしてくれる機械がありました。 じゃぁ、新着Feedがあったら物理的に通知する手段があったら便利じゃね? ってことで物凄くがんばって開発しました。 Plagger::Plugin::Notify::Eject Linuxなら多分動くと思います。 利用例↓ 手元にあるクライアントマシンのみで動かさないと大変なことになりますがw 物理世界のオブジェクトともつながる!それがPlaggerクオリティ! Posted by Yappo at 2006年03月01日 00:20 | TrackBack | Perl

    mainyaa
    mainyaa 2006/03/02
    ここからピタゴラ装置に繋がるともっといいなw
  • YappoLogs: Plaggerの野良Pluginたち

    Plaggerの野良Pluginたち とりあえず現時点でのPlagger野良Plugin(以下 Nolugger)をリストアップ。 何かしらの事情でcommitされていなかったり、つくり途中だったり、ペンディング中だったり、野良の気満々だったりと色々あります。 commitされる物が大部分かもです。 体のAPIとの辻褄が合わなくなって動かなくなっても泣かない。 だってNoluggerだから。 Publish::Feed RSS/Atomフィードを吐き出してくれます。 Publish::Hotline Hotlineってなんだったっけ? Store::DBIC Store to SQLite? Filter::HatenaDiaryKeywordLink はてなキーワードをつけてくれるフィルターです。 itmediaとかの原稿にはてな気ワードリンクがつきます。 Filter::StripI

    mainyaa
    mainyaa 2006/03/02
    ほんとに色々そろっちゃってるねぇ。plaggerすっげ。
  • YappoLogs: WWW::2ch - にちゃんねる形式の掲示板を操作するモジュール

    WWW::2ch - にちゃんねる形式の掲示板を操作するモジュール 関連: WWW::2chを正式リリース WWW::2ch::Plugin::Iwashiといわし簡易ビューワー WWW::2ch updated 2ch.netとかjbbsとかの形式の掲示板を取り扱うモジュール作ったですよ。 WWW::2ch 0.02 downloadすいません、、、リンク先がかなり間違っていましたorz ざっと探してみたけど、それらしいのなかった・・・ほんとにないの? 使い方は use WWW::2ch; my $bbs = WWW::2ch->new(url => 'http://live19.2ch.net/ogame/', cache => '/tmp/www2ch-cache'); $bbs->load_setting; $bbs->load_subject; foreach my $dat (

    mainyaa
    mainyaa 2006/02/28
    確かにありそうでなかった。
  • 1