タグ

2009年2月23日のブックマーク (17件)

  • APIとの通信効率をよくする実装例(1) curl_multi

    こんにちは。ライフスタイル事業部のアリタと申します。 Yahoo!のサービスも裏側ではWebAPIが多用されています。1つのページを構成するのに5、6個のAPIを使うこともざらですが、それではさすがにパフォーマンスが問題となってきます。その原因と対策例を紹介していきましょう。 ■モデルケース 例として、3つのAPIから取得したデータをマッシュアップしたページがあるとします。(ここではサンプルコードを簡単にするため、APIの代わりに以下のRSSで説明としました) Yahoo!トピックス エンターテインメントRSS http://dailynews.yahoo.co.jp/fc/entertainment/rss.xml Yahoo!ミュージックマガジン最新情報RSS http://magazine.music.yahoo.co.jp/rss/ALL/rss.xml Yahoo!検索トレンドR

    APIとの通信効率をよくする実装例(1) curl_multi
  • blog.katsuma.tv

    greeさんで開催されたKey Value Store勉強会に行ってきました。 時間にして4時間超え、内容も国内のKey-Value Storeなソフトウェアの最前線の話ばかりで相当なボリューム。以下、メモってたのを残しておきたいと思います。(誤字、脱字、内容に誤りを含むものなどありましたらお伝えください)また、発表者の方やプロダクトについて、ざっくり調べてURL見つけられたものについてはリンク張っています。 森さん / 末永さん   groonga Sennaの後継エンジン 融通が効かないのがSennaのデメリット スコア算出式のカスタマイズなど Sennaの転置索引 索引の構成部品を自由に組み合わせて使える APIもいろいろ QL DB Low Level memcached互換のkey-value store バイナリのみ対応 計測 クライアント memstorm-0.6.8 mem

  • groongaデータベースAPIについて概説 - グニャラくんのグニャグニャ備忘録@はてな

    groongaにおいて、データベースを扱うためのAPI群について概説します。 groongaは、RDBMSでいうところのテーブル・カラムを扱うAPIを提供します。 テーブルは、内部的にハッシュテーブルもしくはパトリシアトライが基となっています。 それぞれの要素について、どのような操作が行えるかを説明します。 grn_hash grn_hashとは、以下の操作を行えるAPI群です。 任意のkeyを指定したデータ保存 任意のkeyを指定したデータ取得 任意のkeyを指定したデータ削除 カーソルを用いた、全てのkey/valueの取得・設定・削除 内部の実装は、ハッシュテーブルです。 メモリ上に作成することも、ファイルとして作成することもできます。 いわゆる*DBMと同等のことができます。 Tokyo CabinetでいうところのTCHDBですね。 grn_pat grn_patとは、以下の操作

    groongaデータベースAPIについて概説 - グニャラくんのグニャグニャ備忘録@はてな
  • kndb.jp

    This domain may be for sale!

  • モダンなCatalystコンポーネントを書くときは - とほほのN88-BASIC日記

    Catalystがモダンかどうかは置いておいてCatalystのコンポーネントを書く時のお作法として 大昔は ... use base qw(Catalyst::Action); use NEXT; sub execute { my $self = shift; $self->NEXT::execute( @_ ); ... ちょっと前は ... use base qw(Catalyst::Action); use Class::C3; sub execute { my $self = shift; $self->next::method( @_ ); ... モダンなのは ... use base qw(Catalyst::Action); use MRO::Compat; sub execute { my $self = shift; $self->next::method( @_ )

    モダンなCatalystコンポーネントを書くときは - とほほのN88-BASIC日記
  • YappoLogs: HTTP::Engineの今とこれから

    HTTP::Engineの今とこれから 昨年末にHE con #1 が開催されてから久しいですが、あの前後で話題になっていた 「HTTP::Engineは依存が大杉メモリいまくり」な件に関しては、Shikaという回答を出し、その後Mouse版の0.1.1をリリースしました、 そして最近Stevanから「Any::Mooseはどうか? lang:en」と言った話も有り、現在Any::Mooseに依存した0.1.4を出すべく0.1.4_xをCPANにあげています。 クラスビルダーにMooseを使うか捨てるか論争は、0.1.4にて妥協出来る所に落ち着いたんじゃないかなと思います。 Any::MooseやMouseが細かい所で挙動が変わるかどうかは今のところわかりませんが、少なくともHTTP::Engineで採用した事により安定する方向になるんじゃないでしょうか? もちろんより高い互換性の為の変

  • モダン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
  • flymakeでTemplate::Toolkitによるテンプレートファイルのシンタックスチェックを行う - Kentaro Kuribayashi's blog

    Template::Toolkitによるテンプレートが複雑化してきて、flymakeによるシンタックスチェックをしたくなったのでやってみました。以下、あんまり整理されてないので、僕以外の環境ですぐに動くようになるというものでもないと思いますが、参考までに掲載しておきます。 実行例は以下の画像の通り。 まずは、以下のスクリプトをPATHの通ったところにでも、tt_parse.plとして保存します。 #!/usr/bin/env perl use strict; use warnings; use Path::Class qw(file); use Template::Parser; my $file = file(shift); my $template = $file->slurp; my $parser = Template::Parser->new; if (!$parser->par

    flymakeでTemplate::Toolkitによるテンプレートファイルのシンタックスチェックを行う - Kentaro Kuribayashi's blog
  • 最大マージン kNN と SVM の関係: kNN も最近はがんばっています - 武蔵野日記

    先日書いた機械学習における距離学習の続き。 kNN (k-nearest neighbour: k 近傍法)は Wikipedia のエントリにも書いてある通り、教師あり学習の一つで、あるインスタンスのラベルを周辺 k 個のラベルから推定する手法。memory-based learning と呼ばれることもある。単純に多数決を取る場合もあれば(同点を解決する必要があるが)、近いインスタンスの重みを大きくする場合もあるのだが、いずれにせよかなり実装は単純なので、他の機械学習との比較(ベースライン)として使われることも多い。 簡単なアルゴリズムではあるが、1-NN の場合このアルゴリズムの誤り率はベイズ誤り率(達成可能な最小誤り率)の2倍以下となることが示されたり、理論的にもそれなりにクリアになってきているのではないかと思う。また、多クラス分類がちょっと一手間な SVM (pairwise に

  • サービス終了のお知らせ

    サービス終了のお知らせ いつもYahoo! JAPANのサービスをご利用いただき誠にありがとうございます。 お客様がアクセスされたサービスは日までにサービスを終了いたしました。 今後ともYahoo! JAPANのサービスをご愛顧くださいますよう、よろしくお願いいたします。

  • 第1回 memcachedの基本 | gihyo.jp

    株式会社ミクシィ 開発部 システム運用グループの長野です。普段はミクシィのアプリケーション運用を担当しております。今回から数回にわたり、最近Webアプリケーションのスケーラビリティの分野で話題になっているmemcachedについて、弊社開発部 研究開発グループの前坂とともに、使い方や内部構造、運用について解説させて頂きます。 memcachedとは memcachedは、LiveJournalを運営していたDanga Interactive社で、Brad Fitzpatrick氏が中心となって開発されたソフトウェアです。現在ではmixiやはてな、Facebook、Vox、LiveJournalなど、さまざまなサービスでWebアプリケーションのスケーラビリティを向上させる重要な要素になっています。 多くのWebアプリケーションは、RDBMSにデータを格納し、アプリケーションサーバでそのデータ

    第1回 memcachedの基本 | gihyo.jp
  • local::libを使った非rootでのCPAN環境構築 - hide-k.net#blog

    miyagawaさんが紹介されていたlocal::libを使って非rootでのCPAN環境を作ってみました。平たく言えばさくらインターネットのレンタルサーバで一般ユーザーでCPAN環境を作ってみました。 とはいえ、多くは先人たちの otsune's FreeBSD memo :: ユーザー領域にCPANをインストールする方法 さくらインターネットでCPAN - Charsbar::Note と大差ありません。 まずはlocal::libのアーカイブを取得・解凍します。最新のバージョンは1.003001です。 wget http://search.cpan.org/CPAN/authors/id/A/AP/APEIRON/local-lib-1.003001.tar.gz tar xzvf local-lib-1.003001.tar.gz cd local-lib-1.003001 ots

  • デブサミ2009で発表しました:「時を超えたプログラミングの道への道」 - 角谷HTML化計画(2009-02-12)

    Invalid Text■<%=sn number %> <%=flickr_left '3274768929' %>デブサミ2009で発表しました:「時を超えたプログラミングの道への道」 つかれたのであとで書く。とりあえずスライド。最後までスライドめくれてよかった。 写真はtakaiのを借りてます。練習不足(というかスライド完成したのが10分前)でリモコンを見すぎてしまいました。情けないです。 The way to the timeless way of programmingView more presentations from Shintaro Kakutani. (tags: devsumi2009 xp) slideshare.net kakutani.com よくある質問と答え Q:動画はいつ公開されますか? A:録画してません。 Q:予稿とかないの? A:ありません。ひとえ

  • GT Nitro: カーレーシング・ドラッグレーシングゲーム - Google Play のアプリ

    GT Nitro: Car Game Drag Raceは、典型的なカーゲームではありません。これはスピード、パワー、スキル全開のカーレースゲームです。ブレーキは忘れて、これはドラッグレース、ベイビー!古典的なクラシックから未来的なビーストまで、最もクールで速い車とカーレースできます。スティックシフトをマスターし、ニトロを賢く使って競争を打ち破る必要があります。このカーレースゲームはそのリアルな物理学と素晴らしいグラフィックスであなたの心を爆発させます。これまでプレイしたことのないようなものです。 GT Nitroは、リフレックスとタイミングを試すカーレースゲームです。正しい瞬間にギアをシフトし、ガスを思い切り踏む必要があります。また、大物たちと競いつつ、車のチューニングとアップグレードも行わなければなりません。世界中で最高のドライバーと車とカーレースに挑むことになり、ドラッグレースの王冠

    GT Nitro: カーレーシング・ドラッグレーシングゲーム - Google Play のアプリ
  • DBMによるテーブルデータベース その五 - mixi engineer blog

    ついに発売されたスト4のコンシューマ機版をやりたくてしょうがないけど筐体を買ってもらえないので、駅前のゲーム屋のディスプレー前で垂涎するばかりのmikioです。今回は連載の最終回で、各種スクリプト言語を使ってお手軽にテーブルデータベースを操作する方法について説明します。 TokyoCabinet::TDB まずは、TCのPerlバインディングとRubyバインディングの最新版を入手してください。それぞれテーブルデータベースを扱うための TokyoCabinet::TDB というクラスが加わっています。以下のようなIDLによるガイドラインに準拠したインターフェイスが提供されますので、使い方は言語にかかわらず同じようになるはずです。 module TokyoCabinet { interface TDB { boolean open(in string path, in long omode);

    DBMによるテーブルデータベース その五 - mixi engineer blog
  • グニャラくんのグニャグニャ備忘録@はてな

    このブログで、株式会社wktkという会社を作るエントリを書きました。今のところペーパーカンパニーまっしぐらです。何か活動しなきゃいけないなー、と考え、とりあえずブログを作ってみました。 グニャラくんのwktk運営日記 はてなのほうが適している話題については、引き続きこのブログで書いていこうと思います。宜しくお願いいたします。 Linuxには、ftraceというトレーサがあります。 カーネル内の全関数タイムスタンプつき呼び出し履歴などを、それなりに高速に取得できます。 詳しくは、@ITにある以下の記事をどうぞ。 http://www.atmarkit.co.jp/flinux/rensai/watch2008/watch10a.html http://www.atmarkit.co.jp/flinux/rensai/watch2009/watch03a.html ためしにftraceを使って

    グニャラくんのグニャグニャ備忘録@はてな
    yokochie
    yokochie 2009/02/23
  • Key-Value Store (Strage) 勉強会にお邪魔してきました - cooldaemonの備忘録

    id:Voluntas さんのコネで潜り込んできました。 当初の目当ては、id:teahut さんによる Kai の発表と、首藤さんによる Overlay Weaver の発表だったのですが、面白い発表が目白押しで非常に濃い 5 時間を過ごす事ができました。 感想 素晴らしいまとめが ここ と ここ にある為、後々の自分の為に印象に残ったプレゼンの感想だけ適当に残しておく事にしました。 Groonga (Senna の後継) ペアプレゼンを始めて目の当たりにした。 メインの話者が言い忘れた補足をサブの話者が行う為、非常に解り易いプレゼンになっていたし、3割ほど漫才の要素が入っていたので目が離せなかった(w; groonga.org のトップ絵は id:tasukuchan さんの飼いだとの事。 初期で用意する QL に Scheme を選んだのは、Parser を書くのが楽だったからな?

    Key-Value Store (Strage) 勉強会にお邪魔してきました - cooldaemonの備忘録
    yokochie
    yokochie 2009/02/23