タグ

ブックマーク / labs.cybozu.co.jp (43)

  • Kazuho@Cybozu Labs: ウェブサービスにおける SSD 導入にむけて〜検索サービスの可能性

    « Filter::SQL でデータベースを叩くワンライナーを簡単に書く方法 | メイン | ウェブサービスにおけるダメージコントロール (MySQL のスロークエリを自動的に kill する方法) » 2008年10月28日 ウェブサービスにおける SSD 導入にむけて〜検索サービスの可能性 実際に試してみた結果については、ウェブサービスの SSD 化について話してきましたをご参照ください。 検索エンジンや小さな行が多いデータベース等で使用する目的での SSD (Intel X25-M) のベンチマーク結果については、Kazuho at Work: Benchmarking SSD for MySQL をご覧ください (InnoDB の話をしていますが、Senna / Tritonn でも基的に同じ) Sun が SSD 製品の投入を表明 (マイコミジャーナル) したり、Google

    se-mi
    se-mi 2008/10/29
    SSDをサーバのストレージとして使えるか検証
  • Kazuho@Cybozu Labs: 最適化された最適化手法について

    « Pathtraq の API を公開しました | メイン | 実行時間を抑制するモジュール Sub::Throttle を書いた » 2008年07月25日 最適化された最適化手法について 昨日ソフリットを会場に (壇上さん++) 開催された CodeRepos Conference #1 に参加してきました。お題は「自重しないで coderepos に貴様がいれているプロダクトについて語れ!」ということだったので、そのあたりを例に挙げながら、自分は最適化手法について (空気を読まずに) 話しました。 どちらかと言うとサーバの最適化設計を中心にした話です。いろいろ荒削りですが、そうだね、とか、そこは違うよ、とか指摘いただければ幸いです。発表の動画がニコニコ動画にアップロードされているので (coji さんありがとうございます) よろしければあわせてご覧ください。

    se-mi
    se-mi 2008/07/25
    知らない単語がいくつか。勉強になる
  • Kazuho@Cybozu Labs: MySQL (InnoDB) に直接アクセスしてタイムライン処理を高速化する話

    « フレンド・タイムライン処理の原理と実践 | メイン | MySQL の ORDER BY を高速化 » 2008年06月12日 MySQL (InnoDB) に直接アクセスしてタイムライン処理を高速化する話 フレンド・タイムライン処理の原理と実践 の続きです。 先のエントリでは、プルモデルの速度が当初予測していたよりも遅かった (というより SQL レイヤでのオーバーヘッドが大きそうだった) ので、MySQL Internals メーリングリストで質問したりしながら、C++ で直接 InnoDB にアクセスするようなコードを書いてみました。 タイムライン構築速度 タイムライン/秒 SQL そしたら、10倍以上高速に! ベンチマークを perl ベースのものから mysqlslap に変えたのですが、プッシュモデルの 2/3 の速度が出ています。これなら、データサイズが約 1/10 にな

    se-mi
    se-mi 2008/06/12
    へえーへえーへえー。
  • Kazuho@Cybozu Labs: フレンド・タイムライン処理の原理と実践

    « MySQL のクエリ最適化における、もうひとつの検証方法 | メイン | MySQL (InnoDB) に直接アクセスしてタイムライン処理を高速化する話 » 2008年06月09日 フレンド・タイムライン処理の原理と実践 MySQL (InnoDB) に直接アクセスしてタイムライン処理を高速化する話に続きます。 Twitter が注目されるようになって久しい今日この頃ですが、友人の投稿を時系列に並べて表示する、というのは、Twitter に限らず Mixi の「マイミクシィ最新日記」やはてなブックマークの「お気に入り」等、ソーシャルなウェブサービスにおいては一般的な手法です。ですが、この処理 (以下「フレンド・タイムライン」と呼ぶ) は、一見簡単そうに見えて、実装には様々な困難が伴います。記事では、「フレンド・タイムライン」を実現する、プッシュ型とプル型の二種類の手法について、その原

  • Kazuho@Cybozu Labs: MySQL のクエリ最適化における、もうひとつの検証方法

    « メッセージキュー事始め with Q4M | メイン | フレンド・タイムライン処理の原理と実践 » 2008年06月09日 MySQL のクエリ最適化における、もうひとつの検証方法 EXPLAIN を使用して MySQLSQL を最適化するというのは、良く知られた手法だと思います。しかし、EXPLAIN の返す結果が、かならずしもアテになるわけではありません。たとえば、以下のような EXPLAIN を見て、このクエリが最適かどうか、判断ができるでしょうか。私には分かりません。 mysql> EXPLAIN SELECT message.id,message.user_id,message.body FROM message INNER JOIN mailbox ON message.id=mailbox.message_id WHERE mailbox.user_id=2 OR

  • Kazuho@Cybozu Labs: YAPC::Asia 2008 で Pathtraq について話してきました

    « データベースの差分バックアップとウェブサービスのお引っ越し | メイン | メッセージキュー事始め with Q4M » 2008年05月16日 YAPC::Asia 2008 で Pathtraq について話してきました YAPC::Asia 2008 で、Pathtraq の裏側の技術的特徴について話してきました。統計処理を行うウェブサービスを構築する上での問題や解決技法だけでなく、インターネットにおけるロングテールの実測データや、現在のサービス規模等の話も入っていますので、興味ある方はご覧いただければ幸いです。 スライドはこちら: YAPC::Asia 2008 Tokyo - Pathtraq - building a computation-centric web service » SlideShare 過去3年間で最大の YAPC::Asia だったのでしょうか。一参加者

  • Scheme 処理系 「Monar 0.0.1」 をリリースしました (higepon @ cybozu labs)

    これは何か? R6RSという Scheme の新しい言語仕様に準拠することを目指している高速な Scheme インタプリタです。 何が出来るの? PerlRuby で行っているような実用的なプログラミングができます。(現時点ではもちろん機能は限られますが) 例えばサンプルとして Monar で書かれた Wiki が動いています。 なぜ Scheme なの? Scheme という言語が柔軟で素晴らしい言語だからです。 Scheme について知りたい方は、計算機プログラムの構造と解釈やプログラミングGaucheなどを読まれると良いでしょう。 ダウンロードとインストール Google Code からソースコードをダウンロードして下さい。 ソースコードのビルドにはGauche が必要です。 ./configure make make check make install ビルドできない、でき

    se-mi
    se-mi 2008/05/13
    サイボウズ・ラボの最近の活躍ってすごいよな!怒涛のリリース、一丸となって色々作ってたんだなー
  • Google App Engine SDKを使ってみた | 秋元@サイボウズラボ・プログラマー・ブログ

    [追記] これを書いたあとアカウントが入手できたので、実際にGoogle App Engineのサーバ上で簡単なスクリプトを動かしてみた。 Googleが今晩(米国時間)のパーティーCampFireOneでTech CrunchメンバーやRobert Scobleさんら参加者に対して発表したGoogle App Engine, AmazonがS3+EC2+SQS+SimpleDB等で先行している「スケールする従量制ホスティングサービス」の競合サービスのようだ。 Googleが自社で使っているような大規模展開が可能なサーバ+ミドルウェア群を、外部に提供するということ。まずはPythonGoogle自身も使っている各種ライブラリ、WebフレームワークDjango、を積んでの公開だが、他の言語にも対応していくらしい。 やはりGoogleというか、ディスク500MB、月500万PVまでは無料で使

    Google App Engine SDKを使ってみた | 秋元@サイボウズラボ・プログラマー・ブログ
    se-mi
    se-mi 2008/04/08
    よし、Python勉強だ!
  • 本文抽出モジュールを RubyForge に登録しました (nakatani @ cybozu labs)

    以前このブログで公開していました Web ページ(HTML)から文と思わしきテキストを抽出するモジュールを RubyForge に登録、 gem でインストールできるようになりました。 gem install extractcontent といっても、このモジュールは1ファイルで構成されていて、依存関係もないので、以前の公開方法のままでもあまり支障はなかったような気もするんですが、RubyForge に登録する練習もしておきたかったし、gem で入れられる方が便利ですよね? ExtractContent プロジェクトページ http://rubyforge.org/projects/extractcontent/ 一応プロジェクトページの URL も貼り付けておきますが、実質リリースファイル置き場でしかなくて、SCM もまだ使ってません…… また、せっかくリリースするので、 ・「全然 m

    se-mi
    se-mi 2008/03/27
    おお
  • Kazuho@Cybozu Labs: 高速なCometサーバを書いてみた件

    « Pathtraq 最新ランキング ガジェットを公開しました | メイン | Q4M (Queue for MySQL) 0.3 リリース » 2008年03月10日 高速なCometサーバを書いてみた件 もう昨年の2月になりますが、Comet について調査を行いました。その際の成果をまとめたスライドは既に公開していた (Comet の正しい使い方) のですが、同時に実際に作ってみた実装についても、オープンソース化することとなりました。コードは CodeRepos に置いておきますので、どうぞご覧ください。 (Revision 7754: /lang/perl/fastr) 使い方は example ディレクトリ以下を見ていただくとして、ベンチマークの結果とチューニング手法について、記録と記憶に残っている範囲からまとめておきたいと思います。 パフォーマンスについて まず、パフォーマンスに

    se-mi
    se-mi 2008/03/10
    高速動作させるコードの書き方みたいなのもちょこっと書いてある
  • TAKESAKO @ Yet another Cybozu Labs: ネットコミュニケーション2.0(旧称:竹迫アワー) - デブサミ2008告知

    今年のデブサミはいろんな意味でアツいです! 私もコンテンツ委員としてボランティアとして参加させていただいているのですが、 今年は Joel on Software の Joel Spolsky が日に来る気満々です 。 人気のセッションは既に席が埋まりつつありますので、 「参加する予定だったのに登録を忘れていた!」 という方は、ぜひ早めの登録をお勧めします。 (2/13追記:事前申込は締め切られました) ちなみに、二日目(2/14)の一番最後のセッション一枠で「ネットコミュニケーション2.0」という特別企画を開催します。 ■ 開催概要 名称:Developers Summit 2008(デベロッパーズサミット2008)通称:デブサミ2008 会期:2008年2月13日(水)・14日(木) 会場:目黒雅叙園(東京・目黒) 主催:株式会社翔泳社 URL:http://codezine.jp/

    se-mi
    se-mi 2008/02/09
    わっふるわっふる
  • 10. 頻繁な開発者イベント | 秋元@サイボウズラボ・プログラマー・ブログ

    トップレベルの開発者を講演に呼ぶ 開発者グループを大物感を持たせて紹介 技術者向けマーケティングというか、心理学的なアプローチも多いかな。日でも親エンジニア的と思われる企業ではAPIの公開や勉強会などの交流で上記のようなポイントを押さえているところはあるように思う。 この記事は移転前の古いURLで公開された時のものですブックマークが新旧で分散している場合があります。移転前は現在とは文体が違い「である」調です。(参考)記事の内容が古くて役に立たなくなっている、という場合にはコメントやツイッターでご指摘いただければ幸いです。最新の状況を調べて新しい記事を書くかもしれません

    se-mi
    se-mi 2008/01/30
    いかにPRし味方を増やすかの考察。大変興味深い。
  • htmlのテーブルをtracの表にする | 秋元@サイボウズラボ・プログラマー・ブログ

    html2wikiで、HTMLソースからwiki記法への変換ができる。 tracに表を貼りたい場合は、16個のWiki方言を選べるようになっているので、[MoinMoin]形式を選ぶ。 上記リンクで公開されているのは、CPANのHTML::WikiConverterを使っているそうだ。 この記事は移転前の古いURLで公開された時のものですブックマークが新旧で分散している場合があります。移転前は現在とは文体が違い「である」調です。(参考)記事の内容が古くて役に立たなくなっている、という場合にはコメントやツイッターでご指摘いただければ幸いです。最新の状況を調べて新しい記事を書くかもしれません

    se-mi
    se-mi 2007/11/11
    MoinMoinしたい!
  • 畑@サイボウズ・ラボ - サイボウズの新卒採用説明会

    サイボウズ・ラボではなく、サイボウズ社の話ですが、新卒向けの採用説明会を行っています。 説明会日程 おもしろいのは、タイプ別に説明会の内容を分けているところ。タイプの種類は以下の通りです。 文系職種希望の人 体育会系な人 ソフト開発希望の人 しかも、講師が「文系就職希望の人」とところは、 「講師 山田 理(サイボウズ(株) 取締役副社長)」 となっているのに、「体育会系の人」のところは、 「講師 山田 理(元 大阪外国語大学 体育会テニス部主将) 」 となっていたりします。 ちなみに、「ソフト開発希望の人」の回には、サイボウズ・ラボのamachang(天野 仁史)が講師となります。タイトルは「IT戦記:序章~IT戦士の作り方教えます。」です。新卒で就職活動を行われている方は、参加申し込みしてみてはいかがでしょうか。 参加申し込みフォームでは、「説明会日程」を先ほどのタイプ別に選ばないとい

    se-mi
    se-mi 2007/11/09
    amachangが講師!
  • Kazuho@Cybozu Labs: MySQL のウォームアップ (InnoDB編)

    « DBIx::Printf と LIKE 式 | メイン | メッセージキュー事始め in Perl - コマンドラインクライアントを作ってみた » 2007年10月11日 MySQL のウォームアップ (InnoDB編) サーバの起動直後はデータがメモリ上にないためデータベースの応答速度が遅い、というのは良く知られた話かと思います。MySQL の場合、使っているエンジンが MyISAM であれば、各データファイルをあらかじめ cat ... > /dev/null するなりしてバッファキャッシュに載せておけばいいのですが、InnoDB は独自のキャッシュを持っているのでそういうわけにもいかないように思います。 具体的には、パフォーマンスを最大限発揮するためには OS のキャッシュにではなく、InnoDB のバッファプールにデータをロードすべきであるという点。それに、たとえ OS のキャ

    se-mi
    se-mi 2007/10/12
  • TAKESAKO @ Yet another Cybozu Labs: Shibuya.js 24 - JavaScript.GIF x LiveConnect 発表資料公開しました

    ちなみに、LiveConnectでUSBミサイルランチャーを制御するデモは、先日のJapan Linux Conference 2007 で行なったものと同じなのですが、ストリーミング中継と録画に失敗していたため、急遽リベンジすることにしました。 Google Video / YouTube 動画アーカイブ Mozilla24 / 出張Shibuya.js 24 各発表の動画が公開されています。 Shibuya.js 24 - Google Video Mozilla24 / 出張 Shibuya.js 24 関連の感想リンク集 TAKESAKO @ Yet another Cybozu Labs: Mozilla24リアルタイム中継(shibuya.jsもあるよ) 兼雑記 - 2007-09-15 出張Shibuya.js 24の発表資料 (mitsunari@cybozu labs)

  • Kazuho@Cybozu Labs: サーバシグニチャは隠さないのが当たり前

    « Pathtraq バージョンアップのおしらせ - サイドバー表示に対応 | メイン | Perl から MySQL に非同期アクセスする方法 » 2007年09月05日 サーバシグニチャは隠さないのが当たり前 ウェブサーバ(Apache)で、404などのエラーページを表示したとき、ヘッダやページの下にApacheやOSのバージョンが表示されます。こういったサーバ情報をわざわざ表示する必要はありません。 ウノウラボ Unoh Labs: 5分でできるウェブサーバのセキュリティ向上施策 私も何年も前からセミナーではサーバ、モジュールバージョンは隠すようにと言っています。何故こんな事で賛否両論になるのか全く理解できません。 yohgaki's blog - サーバシグニチャは隠すのが当たり前 Server: ヘッダを隠すメリットについての議論はあるようですが、Server: ヘッダを表示すべ

    se-mi
    se-mi 2007/09/05
    なるほど。そういう意見もあるのか。
  • Kazuho@Cybozu Labs: swifty - 高速な共有メモリキャッシュ

    « Perl の正規表現が破壊的でイヤだなと思った件 | メイン | 新サービス: Pathtraq リリースのおしらせ » 2007年07月30日 swifty - 高速な共有メモリキャッシュ 先週、社内プレゼンの資料作成からの逃避がてら、高速な共有メモリキャッシュを作ってみました。よろしければごらんください。

    se-mi
    se-mi 2007/07/30
  • TAKESAKO @ Yet another Cybozu Labs: Twitterオフ

    これから参加してきます。 IT戦記 - Twitter オフ会を開催します。 前々から、色んなところでやろうやろうと盛り上がっていたので、 2007年06月15日(金) 19:00 に Twitter ユーザが集う会を開催します 総勢70人ぐらいが集まりそうで、メンバーはかなり濃そうな感じ。 あとで書く。行ってきました。 まず驚いたのが、Twitterオフ参加者の名札がイラスト(カラー写真)入りで一人ひとりちゃんと用意してあったこと。この時点でクオリティ高いです。 紫色の何かを押し付けるオフ 影の仕掛け人が例のオブジェを持参していたので、突発的に写真撮影大会が開催されました。 みなさん、それぞれ思い思いのポーズをとっています。いい顔してますね。 (※公開してマズかった写真があればご連絡下さい) Twitterオフに参加してわかったこと 産総研は広い (中略) みんな良い人達ばかり 突発的に

    se-mi
    se-mi 2007/06/17
    タケサコさんすぐ近くにいたのだけど結局話しかけることができず。残念。
  • throw new CybozuLabsException() - ねこでコメントスパムを防ぐAuth_Kittenを公開しました。

    最近のブログをねらったスパムはひどいですね。 トラックバックスパムは、自分のサイトのURLを文に含んでいない場合は受付ないという仕組みで簡単に回避できるのですが、コメントスパムが相手の場合はそうもいかないので別途スパムボットからの投稿をはじく処理が必要だなと思っていた所に秋元さんが子認証というエントリを書いていたのでコレダ!と思って実装しました。 インストール インストールはいつも通りです。PEARパッケージで提供されているので pear install http://labs.cybozu.co.jp/blog/tsuruoka/archives/Auth_Kitten-0.1.0.tgz と実行すればインストールできます。アンインストールは pear uninstall __uri/Auth_Kitten です。簡単でしょ? 使い方 使い方はdoc/Auth_Kitten/docs