タグ

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

  • Titanium? いいえ、Triainaです。 - mixi engineer blog

    どうも、5ヶ月ぶりのブログ投稿です、佐野です。僕は2012年8月よりメッセージユニットに加わり、主にiPhone公式クライアントにおけるメッセージ機能の改修に携わっておりました。 mixi Touch(スマートフォンブラウザ版)では2012年10月より一部のユーザに向けてmixiメッセージにおけるリアルタイムコミュニケーションを実現するための新UIを提供しておりました。この機能が近いうちに mixi の iPhone版、Android 版 公式クライアントでも利用できるようになります。 (画面は開発中のイメージです) この新機能は Triaina という自社製のフレームワークによって、iPhone版・Android版共に、WEB版と共通の HTML+JS コードを利用して作られています。 こういうと「Triaina? PhoneGap や Titanium と何が違うの?」とか「Faceb

    Titanium? いいえ、Triainaです。 - mixi engineer blog
  • mixi Engineers’ Blog » Find Job !がAutoPagerizeとLDRizeに対応

    はじめまして。めっきり寒くなってきたので短パン出社を諦めた oinuma です。求人情報サイト Find Job ! の開発や運用を担当しています。 私はいつも livedoor Reader を利用しているのですが、今更ながら登録数ランキングがAutoPagerize / LDRizeに対応しましたのエントリに触発されて、Find Job !の求人情報検索結果画面を AutoPagerize と LDRize に対応させてみました。今回はそのときに学んだことをサラサラっと書きたいと思います。 AutoPagerizeとLDRizeについて AutoPagerize は現在見ているページの一番下に来たら、次のページを自動的にロードして現在のページに表示してくれるというものです。これのおかげでマウスで「次のページ」のようなリンクをクリックする必要がなくなります。 LDRize はキーボードの

    mixi Engineers’ Blog » Find Job !がAutoPagerizeとLDRizeに対応
  • mixi Engineers’ Blog » memcachedの最新動向

    先週アメリカに行ってMySQLカンファレンスやmemcached hackathonに参加してきました。そこで今回はmemcachedコミュニティやhackathonで行われた多くの議論に関してご報告させていただきたいと思います。 前書き ご存知の通りmemcachedはFacebookやWikipediaをはじめとする巨大ウェブサイトのコアテクノロジーの一つとして世界中で使われるまでに到達したソフトウェアです。mixiを支えるテクノロジーの一つでもあります。 hackathonをご存知ない方のために簡単に説明すると、オープンソースプロジェクトハッカーたちが実際に集まってプロジェクトの開発をしたり仕様の議論や提案などをするイベントの事です(とても楽しいです)。 今回で4回目になるmemcachedのhackathon(議事録)ですが、東京でもやったら面白いんじゃね?的な話を結構まえにした

    mixi Engineers’ Blog » memcachedの最新動向
  • mixi Engineers’ Blog » スマートな分散で快適キャッシュライフ

    今日は以前のエントリーで書くと述べたConsistent Hashingに関して語らせて頂こうかと思います。ただしConsistent Hashingはセミナーやカンファレンスなどでかなり語られていると思いますので、コンセプトに関しては深入りせず、実用性に着目したいと思います。 問題定義 分散されたキャッシュ環境において、典型的なレコードを適切なノードに格納するソリューションはkeyのハッシュ値に対しmodulo演算を行い、その結果を基にノードを選出する事です。ただし、このソリューションはいうまでもなく、ノード数が変わるとキャッシュミスの嵐が生じます。つまり実世界のソリューションとしては力不足です。 ウェブサイトのキャッシュシステムの基はキャッシュがヒットしなかったらデータベースにリクエストを発行し、レコードが存在したらキャッシュしてクライエントに返すという流れです。ここで問題なのが一瞬

    mixi Engineers’ Blog » スマートな分散で快適キャッシュライフ
  • mixi Engineers’ Blog » 新RSS Crawlerの裏側

    このブログでは初めましての長野雅広(kazeburo)です。mixi開発部・運用グループでアプリケーションの運用を担当しています。 12月12日よりmixiのRSSのCrawlerが改善され、外部ブログの反映が今までと比べ格段にはやくなっているのに気付かれた方も多いかと思います。この改善されたRSS Crawlerの裏側について書きたいと思います 以前のCrawlerについて 以前のCrawlerは cronからbrokerと呼ばれるプログラムを起動 brokerはmember DBから全件、idをincrementしながら取得し、外部ブログが設定されていればcrawlerを起動(fork) crawlerはRSSを取得しDBに格納して終了 このような設計になっていました。 この設計の問題として、member DBを全件走査するという無駄な動作と、一件一件crawlerを起動するためオーバ

    mixi Engineers’ Blog » 新RSS Crawlerの裏側
  • 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
  • mixi Engineers’ Blog » OAuthは熱いかも?な件に関して

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

    mixi Engineers’ Blog » OAuthは熱いかも?な件に関して
  • 100% Pure JavaScript Camellia - mixi engineer blog

    NTTと三菱電機が共同開発した共通鍵ブロック暗号 "Camellia" の実装について以前調査していた時、ついカッとなってJavaScriptで実装してしまいました。類似の実装も既にあるようですし今は反省しているのですが、死蔵しておくのもナンなので晒しておきます。 ソースコードと使い方 小ネタなので、このソースコードはpublic domainということにしますね。 CryptoCipherCamellia-js-1.0.2 CryptoCipherCamellia.jsは128-bitブロック暗号Camelliaのプリミティブの実装と、暗号利用モードとしてCBCモードの実装を含んでいます。例を簡単に示すと次のような感じです: var SECRET_KEY = CryptoUtil.arrayFromHex( "00112233445566778899AABBCCDDEEFF"); var

    100% Pure JavaScript Camellia - mixi engineer blog
  • 1