読者です 読者をやめる 読者になる 読者になる

mixi engineer blog

ミクシィ・グループで、実際に開発に携わっているエンジニア達が執筆している公式ブログです。様々なサービスの開発や運用を行っていく際に得た技術情報から採用情報まで、有益な情報を幅広く取り扱っています。

YAPC::Asia Tokyo 2011 #yapcasia

iPhone5が出たらSIMフリーのやつを買ってb-mobileのSIMを入れようと思いSIMだけ先行購入してたらiPhone5が出なかったので使い道のないSIMが宙に浮いてしまったmilanoです。こんにちは。 昨年のYAPC::Asia Tokyo 2010に続き、今年もYAPC::Asia Tokyo 2011が開…

きっと何者にも成れないモジュールたちに告げる~静的解析、しましょうか~

たんぽぽグループのhirokiです。たんぽぽグループとはmixi内の「刺身にたんぽぽをのせる仕事をなくす」ことを目的とした技術者集団です。 「あれは、たんぽぽではない食用菊である」 「スーパーの生鮮食品バックヤードが片手間にやってるよ。」 というご批判…

求人広告バナー用プログラムを書いた話

span.V{color:red} 求人広告バナーに載せるかっこいいコードを作って欲しいとの依頼がたんぽぽグループに来ました。 残念ながらかっこいいコードはできず、よくある難読化コードになってしまいました。 その経過を書いてみます IRCであれこれ相談して4つの案…

Jenkins で任意のブランチをテストする

PHP よりは Xslate が好きな加藤和良です。プログラミング言語のなかでは Scala が好き です。 さて今回も いまからでも間に合う開発者テスト Buildbot で継続的インテグレーション Jenkins はじめました + ほか3つ に引き続き開発者テストの話をします。 テ…

memcachedのaccept_new_connsがスレッドセーフじゃない件がmemcached-1.4.6で修正されたにょ

こんにちは、たんぽぽGの森本です memcached-1.4.6がリリースされました。 mixi大規模障害の原因となった不具合が解消されているとのことなので検証してみました。 動作確認 過去のバージョンで不具合が発生することと新しいバージョン(1.4.6)で不具合が発生…

mixi Girls Hackathon featuring Android 女子部 の参加者募集

みなさま、はじめまして! お花が好きな女性エンジニアのすずです プラットフォームサービス開発部にてmixi Graph APIの開発をしています。 弊社の@yoichiroがmixi Hackathonを主催し毎回多くの開発者の方にご参加頂いていますが、 女性開発者の方々も気軽に…

Shibuya Perl Mongersテクニカルトーク #16「夏の正規表現祭り」

そういえば半年ぐらいライブをしていない もりもとです。こんにちは。 先日201...

mixi Hackathon in Kyotoのご報告

こんにちは。よういちろう です。毎日暑い日々が続いていますが、皆様そんな暑さに負けずにコーディングしていますでしょうか?僕はErlang熱が少し冷め、AndroidなプログラムでTDDをしながら快適プログラミング中です。 さて、6月24日、25日に「mixi Hackath…

Apache Solr を利用した検索パッケージ Anuenue

研究開発グループの takahi-i です。 先日名前だけご紹介したAnuenue というツールをご紹介させていただきます。Anuenue は Apache Solr のラッパーであり、検索クラスタの構築と運用を容易にする目的で制作されました。 本稿では始めに Apache Solr を選択…

mixi Engineers' Seminar #2のご報告

最近iPhoneを手に入れ、ガラケー、Android、Windows Phone 7、iPhoneと4台持ちになったmilanoです。 こんにちは。 先週、mixi Engineers' Seminar #2を弊社セミナールームにて開催したので、その報告をしにやってまいりました。 前回に引き続き、今回もスマ…

スマートフォンブラウザのWebInspectorをリモートで実現するweinreが凄い

こんにちは、寝過ごして長野まで行きそうになったソーシャルクライアント開発のtakimoこと瀧本です。 先週弊社数名がアメリカで行われていたVelocity 2011 - O'Reilly Conferencesに参加しました。 そこではモバイル端末のテストやパフォーマンスについての…

mixi Engineers' Seminar #2のお知らせ&YAPC::Asia 2011のお知らせ

クルーズ&アトラスのベストポジションがいまだに見つからないmilanoです。 こんにちは。 本日は、株式会社ミクシィが主催する、エンジニア向けセミナー「mixi Engineers' Seminar」の第2回を開催することが決まりましたので、お知らせいたします。 3/3に開…

PHP カンファレンス 2011 のお知らせ+α

初めまして。今年2月に入社した、yudoufu こと亀本です。よろしくお願いします。 前職ではPHPやObjective-Cでの受託開発をやっていましたが、ミクシィでは運用部のアプリ運用グループというところで運用業務を担当しています。 PHPをモリモリ使っていた関係…

iPad 2カバーに秘められた恐るべき陰謀を暴く

技術部の松岡 剛志です。 ある日、自慢のiPad 2で犬がしっぽを振って散歩を...

Lucene Revolution 2011 に参加しました

研究開発グループの takahi-i です。 先日 Lucene Revolution という Apache Lucene / Solr に関する会議に参加してきました。ここでいう Lucene とは Java ベースの全文検索エンジンです。 Lucene (ルシーン) は優秀な全文検索エンジンなのですが、Lucene …

Jenkins はじめました + ほか3つ

こんにちは。加藤和良です。 まずあの話を書いて、それを前提にあの話を書いて、みたいなキューが筆者の中にはあったのですが、正直キューの先端につまってる話はだんだん個人的な関心および記憶がうすれてきました! 昔のはなしですからね。 というわけで、…

理想の開発環境

たんぽぽグループの森本です。 一日の半分近くを机に座ってすごすエンジニアにとって、快適な開発環境は切実な問題です。 外界からうけるストレスを極力排除し、効率よくフロー状態にはいることと、フロー状態を長く維持することはとても重要です。 お前は今…

mixi Engineers' Seminar #1の報告

Nitendo 3DSで遊ぶのは戦国無双クロニクル、PS3で遊ぶのは真・三国無双6と、なにかを断ち切るかのように敵を切りまくっているmilanoです。 お気に入りは甄姫です。 もうずいぶんと前のことな気がしてしまいますが、3/3の雛祭りの日に行われたmixi Engineers'…

「友人のログイン状況」のリリースについて

2011/3/11に発生した東北地方太平洋沖地震、およびそれにともなう津波によっ...

言語処理学会第17回年次大会開催

はじめに ミクシィ研究開発グループの木村です. 昨年も同じ時期にお知らせさせていただきましたが,今年も言語処理学会年次大会の開催が間近となりました!今年は豊橋で3月7日から3月11日まで開催されます. 自然言語処理学はウェブにも検索エンジンや,レ…

mixi Engineers' Seminar #1は明日です

いよいよ明日に迫ってきたmixi Engineers' Seminarに緊張の色を隠せないmilanoです。 こんにちは。 明日の会場は、mixi原宿オフィスではなく、恵比寿のスバルビルですのでご注意ください。 そして来れる人も来れない人も ハッシュタグ:#mixi_engineers http…

Flash?いいえ、HTML5です: ファイルのドラッグ&ドロップによるフォトアップロード機能について

はじめまして。コミュニケーションサービス開発部の澤と申します。コーヒーとカレーをこよなく愛する新卒2年目の新米エンジニアで、弊社Webのフロントエンドを主に担当しています。最近はmixiスマートフォン版(mixi Touch)の開発にも精力的に取り組んでいま…

mixi Engineers' Seminar #1のお知らせ

AndroidのJewelsにはまっているmilanoです。 こんにちは。 数あるJewel系のアプリの中で、これが一番面白いです。 このたび株式会社ミクシィでは、社内のエンジニアと、社外からも講師をお迎えして、さまざまなウェブ開発技術について発表するセミナー、題し…

Android向けmixi公式クライアントを公開しました

はじめまして!新卒で入社した藤崎友樹です。 ...と書こう書こうと思って、うっかり 2 年半が過ぎ去ってしまいました。システム本部技術部たんぽぽグループの rai と申します。 Android 端末をご利用中の方へ、クリスマスプレゼント! 本日、 Android 端末向…

mixi の年末年始対策 2009-2010

こんにちは。パートナーサービス部の加藤和良です。 2008年末に、mixi の年末年始対策について紹介しました。今回は、ここ数年の年末年始対策の歩みと、今年の対策について紹介したいと思います。実をいうと、設計も実装も自分じゃなかったりするのですが、…

NGDのご紹介

メディア・マーケティング部 もりもとです。こんにちは。 株式会社ミクシィでは、...

YAPC::Asia Tokyo 2010

実はJapan Perl Association略してJPAの理事だったりするmilanoです。 こんにちは。 さて、Perlと言えば、10/15,16に年に1度の祭典YAPC::Asia Tokyo 2010が行われました。 改めて紹介させていただきますと、YAPC::Asiaというのはmixiでも使われているプログ…

IE8のアクセラレータを作ってみた

久しぶりにエンジニアブログ登場のmilanoです。 こんにちは。 さて、先週のことですが、mixiをさらにオープン化するためのさまざまな施策がリリースされましたね。 その中でも、個人的に気になるSimplePostに注目してみました。 突然ですが、エンジニアブロ…

mixiチェックのWordpress & Movable Typeプラグイン公開

初めまして、メディア/マーケティング部MM開発の瀧本です。 最近は主にmixi Touchの開発を担当させていただいています。 本日はmixi Touchのお話ではありません(それはまた次の機会に)。 個人利用が開放されたmixiチェックをWordpressとMovable Typeに組…

mixi大規模障害について 解明編

こんにちは、システム本部技術部たんぽぽGの森本です。 span.key { color: #000000; background: #FFDDDD; } 先日のmixi大規模障害の原因となったmemcachedの不具合の詳細な解明ができました。 再来週まで発表を見合わせようと思ったのですが、早くお伝えし…

mixi大規模障害について その2

こんにちは。システム本部技術部たんぽぽGの森本です 補足を追記しました (2010/08/20 15時) 先日のmixi大規模障害についての続報です 今回は小ネタはありません はじめに まず初めにtwitter/blogなどを通じて今回の問題の解析を行っていただいたみなさんに…

mixi大規模障害について

こんにちは。システム本部技術部たんぽぽGの森本です 先日のmixi大規模障害についてのブログです。 はじめにお断りしておきますが、弊社CTOがtwitterで公開した以上の情報はまだ得られておりません。 twitterでは書ききれなかった細部を補足してみたいと思い…

Buildbot で継続的インテグレーション

こんにちは。パートナーサービス部の加藤和良です。 前回、mixi における開発者テスト について説明しました。だいぶ間があいてしまいましたが、今回は、そのテストを定期的に実行する 継続的インテグレーション の仕組みを紹介したいと思います。 テストが…

逆襲のLua

こんにちは。開発部最後の良心、mikioです。今回はLua処理系の並列化とそこでのKyoto Cabinetの利用法についてご紹介します。 サーバサイドスクリプティングといえばLua Kyoto CabinetのLuaバインディングは後回しにしてKyoto Tyrant的なサーバの設計を進め…

Kyoto Cabinet 1.0.0リリース!

夏が近づくとウキウキしてくるmikioです。昨日ついにリリースされたKyoto Cabinet 1.0について今回は報告します。 1.0の位置づけ コミュニティ毎や製品毎にバージョン番号割り当ての方針は異なるわけですが、私の個人的なポリシーでは、1.0には特別な意味が…

LSH (Locality Sensitive Hashing) を用いた類似インスタンスペアの抽出

GW 中の長距離移動のために体調が優れない takahi-i です. 今回は巨大なデータをマイニングする一つの技術として LSH (Localtiy Sensitive Hashing) を紹介させていただきます. LSH とは LSH は大量なデータから類似度が高いインスタンスのペアを高速に抽出…

Gmail™×mixi連携スタート!の件について

(いわゆる宣伝エントリーなので余裕のある方はお読みください) お世話になっております。ソーシャルグラフ開発チーム asannou です。 「Gmailとmixiがつながりました」ということで、Gmail™のアドレス帳(連絡先)からマイミクシィを追加したり、友人をmix…

京都収納棚紅玉束縛: Rubyで簡単、DBプログラミング

静かに暮らしたいmikioです。今回は、新進気鋭のDBMであるKyoto CabinetのRubyバインディングを駆使してお手軽にデータベースプログラミングを行う方法について述べます。 Kyoto Cabinetのおさらい Kyoto Cabinet(KC)は、Tokyo Cabinet(TC)に比べて、最…

いまからでも間に合う開発者テスト

はじめまして。開発部じゃない加藤和良です。 最近、mixi では Buildbot をつかった継続的インテグレーションをはじめています。安定版の mixi のソースコードにコミットすると Buildbot がそれを検知し、自動的にテストが走るようになりました。 ここでの「…

言語処理学会第16回年次大会開催

はじめに 3月8日(月)に「言語処理学会第16回年次大会」が開催されます!言語処理学会年次大会って何?という方もいらっしゃると思うので簡単に解説いたしますと,1年に1回主に自然言語処理学に関するたくさんの発表や講義が行われるカンファレンスです…

PC向けmixiアプリ課金APIが登場しています

皆さんこんにちは。プラットフォーム開発を担当しています、よういちろう です。今回は、最近リリースした非常に興味深い機能を紹介したいと思います。 mixiアプリ、楽しんでいますか? mixiは昨年の8月24日にプラットフォーム化を遂げました。既に多くの方…

京都収納棚:DBMの率直な壱実装

飲み屋に行くとかなりの確率で荷物を忘れて帰るmikioです。さて、今回はここ2ヶ月ほどで急ピッチで開発した軽量データベースライブラリ「Kyoto Cabinet」について紹介します。 開発の動機 以前から軽量データベースライブラリとしてご好評いただいているTokyo…

検索クエリログからのスペル訂正辞書の自動生成

先月ハワイに行ってきてオルオルな (ハワイ語で '楽しい' という意味) 気分の takahi-i です。最近ログデータの有効活用が話題になっていますが、検索エンジンが出力する検索クエリログを使用してどんなことができるのかについて紹介させていただきます。 …

Tokyo TyrantとテーブルDBでリアルタイム検索

ドラクエは卒業して、もっと英語漬けをやっているmikioです。さて今回は、データベースサーバTokyo Tyrantとテーブルデータベースを使ってリアルタイム検索システムを構築する方法について語ります。 テーブルDBを分散させたい Tokyo TyrantでもテーブルDBが…

Lua on Promenade

ドラクエのプレー時間がついに150時間を突破して妻の視線が痛いmikioです。今回は、かんたんCMS「Tokyo Promenade」にスクリプト言語Luaを組み込んでカスタマイズする方法について述べます。 なぜスクリプト言語処理系を組み込むのか Tokyo Promenade(TP)…

YAPC::Asia 2009で大規模画像配信とPerlについて発表しました

開発部・システム運用グループの長野です。9月10日・11日に東工大大岡山キャンパスで開催されたPerlのカンファレンス、YAPC::Asia 2009に参加してきました。 昨年は2つのセッションをやらせて頂きましたが、今年は1つだけ発表をしましたので、資料を公開しま…

かんたんCMS「Tokyo Promenade」の便利機能

新生児が家に来たおかげで生活が一変して激太りしたmikioです。さて、一部のWebマニアには好評をいただいているTokyo Promenadeですが、今回はその追加機能について語ります。 サイト移転 Tokyoシリーズの配布サイトを新規設置したホームページに移しました…

bayonでソフトクラスタリング

先日ようやくドラクエ9をクリアしたのですが、切ない話が多くて、たまに泣きそうになってしまったfujisawaです。以前ご紹介したデータクラスタリングツールbayonにいくつか機能追加を行いましたので、その中から以下の2つをご紹介させていただきます。 入力…

オレオレ検索窓を設置しよう

まだピクミン2をクリアしてないのでケジメ的に新作ゲームを買えないmikioです。今回は、Tokyo Cabinetを使って激烈簡単に特定サイトの専用の検索機能を設置する方法について説明します。クローリングから検索までを10分くらいの作業で可能にします。 特定サ…

転置インデックスを実装しよう

相対性理論のボーカルが頭から離れないmikioです。熱いわっふるの声に応えて今回はTokyo Cabinetのテーブルデータベースにおける検索機能の実装について語ってみたいと思います。とても長いのですが、最後まで読んだあかつきには、自分でも全文検索エンジン…