2010-01-01から1年間の記事一覧
Webアプリケーションを作るとき、HTMLを生成するテンプレートエンジンをよく使いますが、これはパラメータに応じて様々なコードを生成する自動生成ツールであると言えます。 mplexは、プログラムを生成するためのテンプレートエンジンです。 実は MessagePac…
先日 phpのserializeを使うより高速でサイズもコンパクトに仕上げる「MessagePack」とPHP拡張 でも紹介されている MessagePack for PHP ですが、Webホスティングサービスにも標準で組み込まれ始めているようです: Joe’sウェブホスティング、高速シリアライ…
Tokyo Cabinet を始めとする Tokyo シリーズの作者として知られる平林幹雄さんですが、Tokyo シリーズに続く新製品として、Kyoto シリーズがリリースされています。 Kyoto Tycoon(以下KT)は、ネットワーク経由で使えるデータベースサーバで、Tokyo Tyrant…
NoSQLと呼ばれる新型の分散データストアの開発者が一堂に会するイベント NOSQL afternoon in Japan が、2010年11月1日、楽天タワーで開かれました。 海外からは「Cassandra」のサポートを行う Riptano や、「MongoDB」を開発する 10gen、「Couch DB」の Clou…
もはや先月のことですが、楽天テクノロジーカンファレンス2010で発表してきました。 MessagePackについて、かなり詳しく紹介しています。 MessagePack Rakuten Technology Conference 2010View more presentations from frsyuki.Ustream.tvの録画はこちら Me…
このたび、独立行政法人 情報処理推進機構 日本OSS奨励賞を受賞いたしました。ITPro 他に受賞された方々の名前を拝見すると恐縮ではありますが、高く評価していただいたことを大変光栄に思います。 受賞理由は、「分散Key-valueストアである「kumofs」を開発…
バイナリシリアライズ形式 MessagePack のJava版の最新版をリリースしました! 新しいAPIを大量に追加し、使い勝手が大幅に向上しています。 今回は開発版のリリースで、安定版のリリースはもう少し先になります。 こういうAPIの方が良いのではないか、ここの…
つくばで開かれたRubyKaigi2010で、多言語間通信ライブラリ MessagePack についてLTしてきました。 音声付きの動画をニコニコ動画で見られます(スバラシイ!)。ぴったり5分に収まりました^^; 発表資料(PDF) 発表資料(クリックで進む動画) Twitterを見…
先日、WebSocketのサーバライブラリ Rev-WebSocket をリリースしました。 前回のエントリではブラウザ同士で通信するチャットアプリケーションを紹介しましたが、実際にはTwitterクローラやWebアプリケーションなど、別のプログラムと連携してブラウザにプッ…
いま WebSocket がにわかに注目を集めているようです。 ブラウザとサーバの間でリアルタイムな双方向通信を実現する機能で、HTML5に追加された(される予定の)新しい仕様です。 このWebSocketを使うには、ブラウザ側のJavaScriptの記述だけでなく、サーバ側…
ミニブログサービス「Amebaなう」に検索機能を追加 Apache Solrのカスタマイズにより検索パフォーマンスが大幅向上検索機能は、当社の研究開発組織「インキュベーションラボラトリー」が開発し、Apache Solrをベースに、検索インデックス作成アルゴリズムの…
MessagePack Project のWebサイトをリニューアルしました! 新しいURLは、http://msgpack.org/ です。 シンプルなイメージから若干趣を変え、完成度が高くてリッチな印象を重視しました ;-) 文章ではシリアライズの速度に加えて、RPCの意欲的な設計を強調し…
6月5日から6月27日までの約3週間の間、サンフランシスコ・マウンテンビューの周辺に滞在しています。 実は日本国外に脱出したのは今回が初めてで、飛行機に乗る段階から驚きの連続です^^; 滞在先のホテルから撮影した風景。眼前にはサンフランシスコの町並み…
できました。興味のある方はぜひご参加ください^^; kumofs-jaに参加 メール: このグループにアクセス kumofsのウェブサイトも更新しています。管理とチューニングの項目を追加しました。 The Kumofs Project 英語版 英語のメーリングリストもあります。お気…
新たにCAS(Compare-And-Swap)をサポートした、kumofs-0.4.0をリリースしました。 memcachedのテキストプロトコルで、getsコマンドとcasコマンドを新たに使うことができます。 後方互換性は保たれています*1。新機能を利用するには、kumo-gatewayとkumo-ser…
分散key-valueストア Kumofs のWebサイトをオープンしました! The Kumofs Project Webサイトには、LinkedIn で開発された分散Key-valueストアである Voldemort との速度比較を掲載しています。kumofsはVoldemortと比べて、倍以上の読み込み性能を、半分以下…
kumofs-0.3.6をリリースしました。 kumo-gatewayのバグフィックスです。 一部のmemcachedクライアントライブラリでkumo-gatweayにアクセスすると、kumo-gatewayが落ちる可能性があったのを修正しました。
分散KVS kumofs のコードは、全体で約2万行です。 そのうち、ネットワークI/Oやプロトコルに関するコードは約1万行で、全体の約半分を占めています。 並列イベント駆動I/Oフレームワーク「mpio」リリース ネットワークアプリケーションを実装する上で、もっ…
つい先日、ニコニコ動画モバイルの一部でkumofsを導入した というお話を伺いました。 まだまだ利用は一部でしか始まっていないようですが、これからデータを取りながら運用実績を作っていきたいとのことでした。 kumofsは、バージョン0.3.3でflagsの保存に対…
分散Key-Valueストア kumofs のバージョン0.3.5をリリースしました。 今回のアップデートで、expiration timeに対応しました。 kumofs-0.3.5.tar.gz kumo-gateway に -E オプションを付加すると、memcachedのテキストプロトコルでexpiration timeを指定する…
MessagePack for C++のバージョン0.5.0をリリースしました。 静的型のオブジェクトから msgpack::object を作成できるようになりました MSGPACK_DEFINEマクロが定義されたクラスは、msgpack::object に変換できます デシリアライザに新しいAPIを追加しました…
並列イベント駆動I/Oフレームワーク mpio のバージョン0.3.3をリリースしました。 mp::wavy::loopクラスに flush() 関数を追加 mp::pthread_scoped_{,rd,wr}lockクラスに owns() 関数を追加 mp/wavy.hでstdint.hをinclude Downloads mpioライブラリには、並…
ずばり動く!kumofs と ずばり動かないケース と題して、hbstudy#10 で発表してきました。 序盤の趣旨は丸レク2010と共通しながらも、別の側面とストーリーから紹介してみました。 また今回は、列指向DBなどの他の分散データストアとの違いについても紹介し…
分散Key-valueストアkumofsの思想と設計 と題して、丸レクセミナー2010で発表してきました。 kumofs を使いたくなるユースケースの紹介を中心に、kumofs のメリットを紹介しています。 会場は楽天タワーで、何やらスゴイ数の方に聞いていただけたようです。…
kumofs-0.3.4をリリースしました。 一部のmemcachedクライアント(具体的に言えばmemcached client for java)でkumofsを利用できなかったところが、利用できるようになりました。 今回のアップデートではid:terurouさんにご協力いただきました。ありがとう…
kumofs-0.3.3をリリースしました。 memcachedのテキストプロトコルでflagを保存できるようになりました。flagを保存するには、kumo-gatewayに-Fオプションを付加してください。 以前は memcached client for java や spymemcached などの一部のmemcachedクラ…
分散KVS kumofs のコードは、全体で約2万行です 22,030行。2010-04-12現在">*1。 そのうち、ネットワークI/Oやプロトコルに関するコードは約1万行 9,931行。">*2で、全体の約半分を占めています。 ロジックは残りの半分*3だけで実装されています。 この実例…
以前に書いた MessagePack RPC プロトコル は少し古くなってしまったので、ここでまとめ直しておこうと思います。 MessagePack-RPCのプロトコルは、非同期型の呼び出しができる点(非同期プロトコル)が大きな特徴となっています。複数のサーバが相互に通信…
拡張ライブラリを含んだgemパッケージから、コンパイル済みのバイナリを含んだgemパッケージを作るツールを作りました。 gem-compile@github Windows向けにコンパイル済みの拡張ライブラリを配布したいときに便利です。 コンパイラが入っていない環境に拡張…
このたび、筑波大学第三学群情報学類を卒業し、学士(情報工学)を取得致しました。また、光栄にも学長表彰の栄誉に浴することとなりました。体育専門学群を有する筑波大学の学長表彰は、日本を代表するオリンピック選手も歴代受賞されてきた賞であって、そ…