mixi engineer blog

*** 引っ越しました。最新の情報はこちら → https://medium.com/mixi-developers *** ミクシィ・グループで、実際に開発に携わっているエンジニア達が執筆している公式ブログです。様々なサービスの開発や運用を行っていく際に得た技術情報から採用情報まで、有益な情報を幅広く取り扱っています。

2008-01-01から1年間の記事一覧

mixiの開発チーム紹介:ソーシャルグラフ開発

持ち歩きやすくて高画質との思いから購入した「RICOH GR DIGITAL II」。 おかげですっかり写真の魅力にハマっている開発部の大芝(おおしば)です。最近ではmixiのコミュニティ機能を用いて社内フォトコンテストを開催するなど、もうその勢いは止まりません。 …

mixiアプリはじめました

コードは掲載しないmilanoです。 こんにちは。 先週のことになりますが、以前紹介したOpenSocialプラットフォーム(通称:mixiアプリ)をパートナー企業向けにリリースしました。 プラットフォーム開発チームのメンバーたちに++です。 同時に、mixi Develo…

mixiの年末年始対策 日記投稿システムの改善

朝晩冷えてきましたね。風邪など引いていませんでしょうか。さて、年末が近づいてくるこの時期に弊社のエンジニアが最も気になるのは、お正月。それも来年1月1日を迎えた瞬間です。 1日1日0時に何があるのでしょう?そう、mixiのサービスで最も日記が書き込…

Tokyo Tyrantによるリアルタイム検索

どうぶつの森にハマって、たぬきち商店が早終いする関係で退勤時間もめっさ早くなったmikioです。今回は、Tokyo TyrantのキャッシュとLua拡張を使って超お手軽にリアルタイム検索システムを作る方法について述べます。 ユースケース 高い頻度で更新されるWeb…

Google App EngineとMemcache API

こんにちは、某Perl界隈のIRCチャンネルでPythonがマイブーム的なKY誤爆をしてしまったtmaesakaです。 先日、以前から興味のあったGoogle App EngineとMemcache APIについて少し調べ、こちらに英文で報告したのですが、今日は日本語で要約したまとめを紹介し…

mixi OpenIDコンテスト始まりました

会社にも家にもグル〜ミ〜グッズが置いてある、グル〜ミ〜好きのmilanoです。...

コミュニティランキングでトレンドチェック

こんにちわ、skimuraです。 はじめに mixi上に存在するコミュニティは、現実社会でのコミュニティの写像のようなものではないかと考られます。つまり図1に示したイメージのように、現実社会で盛り上がった事象は、mixi上のコミュニティでも盛り上がる仕組み…

Find Job !がAutoPagerizeとLDRizeに対応

はじめまして。めっきり寒くなってきたので短パン出社を諦めた oinuma です。求人情報サイト Find Job ! の開発や運用を担当しています。 私はいつも livedoor Reader を利用しているのですが、今更ながら登録数ランキングがAutoPagerize / LDRizeに対応しま…

mixiの開発チーム紹介:プラットフォーム編

雨の日の帰宅途中に大きなヒキガエルを見つけたカエル好きのmilanoです。 東京都内でもこんな大きなカエルがいるんだなぁ、と嬉しくなりました。 こんにちは。 さて、mixiというWebサービスの開発を行っているグループを「アプリケーション開発グループ」と…

各種マップ実装の性能比較

今回は小ネタのmikioです。key/valueのレコードを高速に格納・参照・削除する仕組みが連想配列とかマップとか呼ばれて親しまれていますが、Tokyo Cabinetのオンメモリマップの性能をC++の各種実装と比較してみました。 以下の実装を対象として、100万レコー…

言語バインディングを書こう その弐

東京ディズニーシーで買ってきたDuffyというテディベアがお気に入りで、頭に載せて寝るとよく眠れることを発見してウキウキのmikioです。さて今回は、Tokyo Cabinet(TC)のJavaバインディングとLuaバインディングの作り方と使い方について紹介します。 Java…

Lua on Tyrant: DBサーバにLLを組み込む

遅めの夏休みで那須塩原に行ってきたmikioです。牧場でアルパカに触ってきたのですが、めちゃかわいかったです。さて今回は、Tokyo Tyrant(TT)にスクリプト言語Luaの処理系を組み込んで使う方法について解説します。 つか、Luaって何? Lua(公式サイトに…

mixi有料サービス ~ payment.mixi.jpの知られざる裏側 ~

はじめまして。開発部アプリケーション開発グループの向田(むかいだ)です。今回は、mixiの中では珍しいmixi有料サービスについて紹介したいと思います。堅い内容かもしれませんが、最後までお付き合いいただければと思います。また、今回の内容はPC版の有…

かんたん友人検索 その弐

朝のジョギング生活を絶賛継続中ですが、あまり体重が減らなくてショボンヌなmikioです。さて今回は、Tokyo Dystopiaを使った検索機能「かんたん友人検索」の設計と実装についてお話しします。 全体の戦略 Tokyo Dystopia(TD)は単なる全文検索用のインデッ…

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

Squidを検索する度に最初に表示される画像検索の結果に吹き出しそうになる開発部・システム運用グループの長野です。前回のロングテールな画像配信のその2ということで、実際の画像配信システムについて書かせて頂きます。 ■プロフィール画像の配信について …

かんたん友人検索 その壱

朝7時30分に起きて駒沢公園をジョギングすること10日目のmikioです。だいぶ体が軽くなってきて、そろそろ体型にも変化が出てくるかなと期待する毎日です。さて、以前の記事で予告した通り、Tokyo Dystopiaを使ったmixi内の検索機能をインディーズ機能として…

ロングテールな画像配信 その1

開発部・システム運用グループの長野です。最近は「サーバ/インフラを支える技術」を読みながら通勤しています。今回はmixiの画像配信について書かせて頂きたいと思います。1回目は画像配信の課題について説明させて頂きます。 ■画像配信の種類 これまで画…

期間限定の新機能「エコー」登場

こんにちは。mixi開発部のyouheiです。 今回は先日8月4日にリリースした「エコー」について書きたいと思います。 エコーとは まずはエコーとはどういう機能かのご紹介ですが、プロモーションページがございますのでそちらをご覧いただければ幸いでございます…

Find Job !事業部で活躍しているIRCボット(Robotaro_DX)のソースコードを公開しちゃうよ!

こんにちは、求人情報サイト Find Job !の開発を担当しているmasutaroです。 今日は、前回のエントリ「IRCのボットで職場(Find Job !事業部)を楽しく便利に!」でお話していたとおり、Robotaro_DXのソースを晒したいと思います。公開が遅くなった理由は、僕…

圧縮データベースを使おう

チャリンコ通勤による滝のような汗で、朝からTシャツがシースルーになってしまうmikioです。さて今回は、Tokyo Cabinet(TC)のデータベースを各種のアルゴリズムで圧縮して利用する方法についてご紹介します。 圧縮B+木 B+木とは、比較関数の値による順序が…

Introducing the Drizzle Project

ここしばらく、水面下でBrian Akerを代表とするMySQL/SUNのエンジニアたちや、業界のオープンソースハッカーたちとMySQLをスリムダウンさせたマイクロカーネルRDBMSを開発していたのですが、本日アナウンスされたので、日本語でご紹介させていただきたいと思…

Tokyo (Cabinet|Tyrant)の新機能

アロハシャツとショートパンツとビーサンで出勤してスネ毛が美しくないと評判のmikioです。さて今回は、Tokyo Cabinet(TC)とTokyo Tyrant(TT)のそれぞれ最新版でサポートされた新機能についてご紹介します。 固定長データベース 最終ログイン時刻データ…

Tokyo Dystopiaの設計思想

夏本番に向けて海に行ける体作りに励まないといかんなーと思いつつも、ついついDSのスターフォックスで遊んでしまうmikioです。さて今回は、人知れずリリースされている検索エンジンTokyo Dystopiaの概要と設計思想について述べます。 Hyper Estraierとの違…

IRCのボットで職場(Find Job !事業部)を楽しく便利に!

■ 自己紹介 みなさん、こんにちは。 この春、株式会社ミクシィに新卒で入社したmasutaroです!出身は大阪です。入社にあわせて上京してきました。最近Happy Hacking Keybordを買おうかどうか迷っています。 会社は今、2ヶ月間の研修が終わり、事業部に配属さ…

memcached Users Group :: Japanを立ち上げました。

memcachedの生みの親であるBradから了解を得た上で先日、memcached Users Group :: Japanというコミュニティを立ち上げました。 http://memcached.jp コミュニティに関して 目的は国内におけるmemcachedの普及と技術界隈の人たちが集まり、スケールに関する…

ニワンゴちゃんがニコニコ動画の貼り付けかたを教えてくれたよ

はじめまして、開発部の asannou と申します。 買ったばかりの携帯を、駅...

YAPC::Asia 2008の資料公開します

開発部・システム運用グループの長野です。5月15日・16日に東工大大岡山キャンパスで開催されたPerlのカンファレンス、YAPC::Asia 2008に参加してきました。2日目にはセッションの時間を2つ頂いて、発表をしてきたのでその資料を公開します。 ■memcached in…

Tokyo Tyrantによる耐高負荷DBの構築

連休中はWiiのマリオカートをやりまくってやっとVR7000越えたmikioです。愛車はマッハ・バイクとインターセプターです。さて今回は、分散ハッシュデータベースサーバTokyo Tyrantでmixiの最終ログイン時刻を管理するようにした時の苦労話を書きます。 ログイ…

memcachedの最新動向

先週アメリカに行ってMySQLカンファレンスやmemcached hackathonに参加してきました。そこで今回はmemcachedコミュニティやhackathonで行われた多くの議論に関してご報告させていただきたいと思います。 前書き ご存知の通りmemcachedはFacebookやWikipedia…

スマートな分散で快適キャッシュライフ

今日は以前のエントリーで書くと述べたConsistent Hashingに関して語らせて頂こうかと思います。ただしConsistent Hashingはセミナーやカンファレンスなどでかなり語られていると思いますので、コンセプトに関しては深入りせず、実用性に着目したいと思いま…