タグ

ブックマーク / mixiengineer.hatenablog.com (13)

  • ロングテールな画像配信 その2 - 3,000万の画像を配信するシステム - mixi engineer blog

    Squidを検索する度に最初に表示される画像検索の結果に吹き出しそうになる開発部・システム運用グループの長野です。前回のロングテールな画像配信のその2ということで、実際の画像配信システムについて書かせて頂きます。 ■プロフィール画像の配信について 前回紹介しましたが、mixiにおいてプロフィール写真を設定を設定しているユーザ数は全体の約70%、1,000万人の方が設定をされています。現在配信をしているプロフィール画像のサイズは180x180、76x76、40x40と3サイズあり、合計3,000万以上のファイル数になっています。また、もっともよく使われる76x76のサイズ1,000万件において、1日にアクセスされる画像の数は800万ファイル以上、うち97%が30回以下と非常に広範囲に渡ってアクセスされています。そのため大量の画像を配信できる仕組みが必要になります。 ■配信システムの全体像 プ

    ロングテールな画像配信 その2 - 3,000万の画像を配信するシステム - mixi engineer blog
  • mixi Engineers’ Blog » かんたん友人検索 その壱

    朝7時30分に起きて駒沢公園をジョギングすること10日目のmikioです。だいぶ体が軽くなってきて、そろそろ体型にも変化が出てくるかなと期待する毎日です。さて、以前の記事で予告した通り、Tokyo Dystopiaを使ったmixi内の検索機能をインディーズ機能としてリリースしました。「かんたん友人検索」という名のとおり、mixiの登録ユーザを対象として友人や知人を簡単に検索する機能です。操作を簡潔にしながらも、マイミクシィのつながりなどを使って検索精度を高めているのが特徴です。 シンプルにした 見た目として最も大きな特徴は、従来の友人検索よりも入力フィールドの数を減らしたことです。従来では「姓」「名」「ニックネーム」「性別」「年齢(下限)」「年齢(上限)」「血液型」「現住所(都道府県)」「現住所(市区町村)」「出身地(都道府県)」「出身地(市区町村)」「趣味」「職業」「キーワード」「写真」

    mixi Engineers’ Blog » かんたん友人検索 その壱
  • mixi Engineers’ Blog » ロングテールな画像配信 その1

    開発部・システム運用グループの長野です。最近は「サーバ/インフラを支える技術」を読みながら通勤しています。今回はmixiの画像配信について書かせて頂きたいと思います。1回目は画像配信の課題について説明させて頂きます。 ■画像配信の種類 これまで画像の配信は大きく分けて2種類あると考え、システムを構築してきました。1つは1ファイルあたりへのアクセスが非常に多くなりますが、ファイル数が少ないもの。もう一つはファイル数が膨大になる代わりに、1つのファイルへのアクセスは少ないものになります。 前者はmixiの中で使われるロゴ画像やメニューの画像等のページ部品、また広告画像や絵文字画像になり、後者はユーザがアップロードする日記やアルバムの画像にあたります。ページの部品の画像はファイル数はそれほど多くないものの、サーバへのアクセス数が最大で秒間に数万リクエストにもなります。逆にアルバムや日記の画像は全

    mixi Engineers’ Blog » ロングテールな画像配信 その1
  • mixi Engineers’ Blog » 期間限定の新機能「エコー」登場

    こんにちは。mixi開発部のyouheiです。 今回は先日8月4日にリリースした「エコー」について書きたいと思います。 エコーとは まずはエコーとはどういう機能かのご紹介ですが、プロモーションページがございますのでそちらをご覧いただければ幸いでございます。 http://mixi.jp/guide_echo.pl いくつか抜粋しますと、 あなたの"今"を一言にしてみませんか?誰かに伝えたいこと、ひとりごと等、何でもOK! 気軽な新コミュニケーション機能です。 たとえば、「今日はいい天気だな〜」という、ひとりごとから、「お腹すいたー!誰かランチにいこうよ!」というメッセージ的な使い方まで、「エコー」の楽しみ方はあなた次第! マイミクシィ同士で「エコー」を使うとホームにお互いの書きこみが表示されます。 気になった書きこみには、返信することもできちゃいます。あなたがふと書きこんだ一言に、思わぬ返

    mixi Engineers’ Blog » 期間限定の新機能「エコー」登場
  • mixi Engineers’ Blog » Introducing the Drizzle Project

    ここしばらく、水面下でBrian Akerを代表とするMySQL/SUNのエンジニアたちや、業界のオープンソースハッカーたちとMySQLをスリムダウンさせたマイクロカーネルRDBMSを開発していたのですが、日アナウンスされたので、日語でご紹介させていただきたいと思います。 Drizzleとは? Drizzleとは必要のないものは一切存在しない、最低限でパフォーマンス重視な「MySQLよりシンプルで、軽く、安定して、高速な」 MySQLのforkです。マイクロカーネルアーキテクチャを採用したので、必要のないものは後付けできる構成です。こういった目標もあり、現在、Drizzleの開発チームはMySQLをドラスティックにリファクタリングしています。 コミュニティベースのプロジェクト Drizzleで大事な事は、Drizzleはコミュニティベースのプロジェクトであるという事です。Montyのブ

    mixi Engineers’ Blog » Introducing the Drizzle Project
    haida
    haida 2008/07/28
  • mixi Engineers’ Blog » コミュニティブラウザ

    はじめまして。mixi開発部のskimuraです。 1月28日にリリースした「コミュニティブラウザ」について書きたいと思います。 ■ コミュニティブラウザとは 存在するコミュニティが増加するほど、目的のコミュニティを捜し出すのは困難になると考えられます。mixiに存在するコミュニティは日々増加しており、今現在では180万以上ものコミュニティが存在します。そこで、興味があるコミュニティを探す手助けをするためのツールを作成したいと考え、サービスを作成しました。コミュニティブラウザは各コミュニティ対して、関連性が高いコミュニティをおすすめするサービスです。それぞれのコミュニティに参加している各ユーザが参加しているコミュニティの傾向をもとに計算しています。 ■ コミュニティブラウザの使い方 コミュニティブラウザにアクセスすると自分の所属しているコミュニティの一覧が表示されます オススメコミュニテ

    mixi Engineers’ Blog » コミュニティブラウザ
    haida
    haida 2008/03/11
  • mixi Engineers’ Blog » mixi日記キーワードランキングの秘密

    皆さん、先月の半ば頃からmixiのトップページの3列目に「日記キーワードランキング」というコーナーが登場していたのをご存じでしょうか。手前味噌ながら、これはとても面白い機能で、毎日ランキングが更新される度に素敵なランキングが作られていて悦に入っているmikioです。今回は日記キーワードランキングの秘密についてお話します。 日記キーワードランキングとは、日記に書かれた言葉の使用頻度を統計的に処理して、今話題になっている度合を算出し、その上位をランキング形式で表示する機能です。トップページには5位までが表示されるので、それをチェックするだけで最新の流行を把握することができます。さらに「30位までを読む」に進むと30位までのキーワードとその関連日記が表示されます。詳細を知りたい場合はキーワードをクリックすると、そのキーワードで日記検索をした結果を見ることができます。一通り見るのに10分くらいでし

    mixi Engineers’ Blog » mixi日記キーワードランキングの秘密
  • Relationship Update Stream - mixi engineer blog

    週末にまた〜りとコーヒーをすすりながらDavid Recordonのブログを読んでたら、Six ApartのRelationship Update Streamという先日、紹介させて頂いたOAuthを使っている面白いプロダクトに遭遇したのでエンジニアブログを使って共有したいと思います。 Relationship Update Streamとは こいつがどういう代物かというと、例えばとあるオープンなウェブサービス上で公開されているユーザのRelationship情報に変化が生じた (e.g. User AがUser Bとマイミクになった) という情報をAtomを利用して他のサービスと共有ができるデベロッパーのためのプラットフォームの事です。Six Apart Update Streamと似ているけどSix Apartのサービスに特化しないところがミソですね。 利用方法 ストリームの利用方法は

    Relationship Update Stream - mixi engineer blog
    haida
    haida 2007/10/29
  • mixi Engineers’ Blog » OAuthは熱いかも?な件に関して

    お久しぶりです、最近はすっかり寒くなってきましたねー。原宿のオフィス環境に最近慣れてきたトールマエサカです。さておき、今日は認証API系のお話をしたいと思います。 OAuthとは? OAuthとは、最近注目されているウェブ上での認証プロトコルの事です。1.0プロトコルの最終ドラフトが、今月リリースされ、良い機会なのでエンジニアブログに書いてみました。 このエントリーを書いている課程で資料を検索してみたらまちゅさんが大変素晴らしい記事: WebAPI のアクセス制御に使える OAuth という仕様 OAuth の Auth は認証?認可? (私もそう思う) を既に書かれている事に気がついたので私は軽くなめる程度にします。 で、実際にOAuthがどういう風に役に立つかというと、例えばウェブサービスAがウェブサービスBから、サービスBでのユーザの認証情報 (idとかpassword) を問わずに

    mixi Engineers’ Blog » OAuthは熱いかも?な件に関して
    haida
    haida 2007/10/29
  • mixi Engineers’ Blog » Facebook Platformを使ってみた

    今日は米SNSのFacebookが提供している開発者向けのFacebook Platformに関して語ろうかと思います。もちろん、軽く使い方やサンプルコードなども紹介します。もともとは息抜きに遊び感覚で触ってみたのですが面白くて興奮気味になってしまいました。 そもそもFacebook Platformとは? Facebook(以後、FB)の持つSNSならではの巨大ソーシャルグラフを利用した第三者のウェブアプリケーション開発を実現した基盤(プラットフォーム)の事です。このプラットフォームを使って開発されたアプリケーションを使っていないFBユーザはいないと言える程、熱い代物です。数多くの有名なウェブ系企業もオフィシャルFBアプリをリリースして参戦してたりしてます。 アプリケーションのスクリプトはFBのサーバでホストするのではなく、開発者側のサーバでホストします。アプリケーションに対するリクエス

    mixi Engineers’ Blog » Facebook Platformを使ってみた
  • mixi Engineers’ Blog » Inside Tokyo Cabinet その弐

    予定を立てた途端にやりたくなくなる症候群に堪えて連載を続けるmikioです(こんな私でもエアーマンくらいは倒せます)。前回はDBMの基について説明しましたが、それを忠実に実装しても実際には使いものにはならないことにも触れました。今回は、実用的なDBMに進化すべく、Tokyo Cabinet(およびその前身のQDBM)で考えた工夫についてお話します。 ハッシュ関数についてもう少し 前回の記事に関して、「ハッシュ関数はビットシフト使って実装した方が早いよ」という旨のお便りをいただきました(ありがとうございます)。まさにその通りで、乗算命令(ここではimull)より左シフト命令(ここではsall)の方が速いみたいです(Intelの資料によると、mulが15から18で、salが4とのこと)。しかし、DBMの場合はファイルI/Oにかかる時間が支配的になるというのが重要な点です。したがって、ハッシュ

    mixi Engineers’ Blog » Inside Tokyo Cabinet その弐
  • Inside Tokyo Cabinet その壱 - mixi engineer blog

    約半年間の沈黙を破ってOSSの世界に戻ってきつつあるmikioです。先日、Tokyo Cabinet(以下「TC」と呼びます)というデータベースライブラリをリリースしました。今回から数回に分けて、TCの設計と苦労話について連載してみます。 DBMとは TCは、いわゆるDBMの系譜のデータベースライブラリで、単純なハッシュテーブルをファイル上で永続化するだけの機能を提供します。DBMはAT&Tの古代UNIXの時代から受け継がれる伝統芸能なのですが、私はそういう枯れた技術が大好きなのです。 プログラマの皆さんは、PerlRubyではハッシュ(連想配列)と呼ばれ、JavaC++ではmapと呼ばれるような、何らかのキーに関連づけてなんらかの値を記録するデータ構造って実によく使いますよね。例えばmixiでは、ユーザアカウントに関連する情報(名前とかニックネームとか)は、ユーザIDをキーにしたハッ

    Inside Tokyo Cabinet その壱 - mixi engineer blog
  • Google Mapplet powered by Find Job ! - mixi engineer blog

    はじめまして、mixi開発部Find Job !開発グループの fukumura です。 米Googleが7月11日にマップレットを正式版としてリリースしました。ということで『Find Job !版マップレット』を作成しました!就職活動やライバル会社調査?にとても便利です! マップレットをご存知ない方のために簡単な説明をしますとマップレットとはGoogleマップに組み込むアプリケーションのことで、これらアプリケーションを好みで追加してもらうことによりオリジナルのマップを作り上げていくことができるというもので、面白い&有用なので是非皆さん試してみて下さい。 登録&利用方法は下記の通りです。(※利用するにはGoogleアカウントが必要です) まず、GoogleMapの画面のマイマップを選択し、コンテンツの追加をクリックします。 次の画面で、『URLを指定して追加』で 『http://www.f

    Google Mapplet powered by Find Job ! - mixi engineer blog
  • 1