タグ

mixiと*あとで読むに関するniamのブックマーク (6)

  • 転置インデックスを実装しよう - mixi engineer blog

    相対性理論のボーカルが頭から離れないmikioです。熱いわっふるの声に応えて今回はTokyo Cabinetのテーブルデータベースにおける検索機能の実装について語ってみたいと思います。とても長いのですが、最後まで読んだあかつきには、自分でも全文検索エンジンを作れると思っていただければ嬉しいです。 デモ モチベーションをあげていただくために、100行のソースコードで検索UIのデモを作ってみました。Java 6の日語文書を対象としているので、「stringbuffer」とか「コンパイル」とか「倍精度浮動小数」とかそれっぽい用語で検索してみてください。 インデックスがちゃんとできていれば、たった100行で某検索エンジン風味の検索機能をあなたのデータを対象にして動かすことができます。ソースコードはこちら(テンプレートはこちら)です。 でも、今回はUIの話ではないのです。ものすごく地味に、全文検索

    転置インデックスを実装しよう - mixi engineer blog
  • 3行でできる超お手軽全文検索 - mixi engineer blog

    梅雨。部屋干しした洗濯物による異臭騒ぎに苦しむmikioです。今回は、Tokyo Cabinetのテーブルデータベースで超お手軽に全文検索をする方法について説明します。 使い方 テーブルデータベースについてまずおさらいしておきましょう。PerlRubyのハッシュのようにコラム名とその値を関連づけた構造を、主キーを識別子として保存するデータベースです。例えばRubyからデータを保存するに以下のように行います。データベースであることをほとんど意識させないというのが素敵ポイントです。APIはCでもPerlでもRubyでもほとんど同じなので、言語にかかわらず同じようにレコードを操作できます。 require 'tokyocabinet' include TokyoCabinet # データベースを開く tdb = TDB::new tdb.open("casket", TDB::OWRITER

    3行でできる超お手軽全文検索 - mixi engineer blog
  • 『これからを生き抜くエンジニアの在り方』

    mixiといえば、SNS(ソーシャル・ネットワーキング サービス)の草分け的存在でもあり、年7月末の時点で1110万人以上の加入者を持つ国内最大のSNSだ。スタートした2004年、当初、設置されたサーバーは2~3台、現在では数千台のサーバーが可動。たった一人のエンジニアが開発したシステムが3年半ほどでここまで急成長した背景には、もちろんmixiそのものが、時代の要求にピタリとマッチしたのはもちろんだが、ユーザーやクライアントが求める新しいシステム、サービスをタイムリーに提供してきた開発スピードに負うものも大きい。 たとえば、この1年を振り返り、大きなものだけを取り上げても、mixiの携帯版「mixiモバイル」、スタート直後から一気に国内最大級の投稿数を誇る動画投稿サービスの「mixi動画」、mixi上にオリジナル小説を連載し、登場人物の日記を公開する新タイプの広告企画「mixi×ドラマ」

    『これからを生き抜くエンジニアの在り方』
  • 軽量データクラスタリングツールbayon - mixi engineer blog

    逆転検事を先日クリアして、久しぶりに逆転裁判1〜3をやり直そうか迷い中のfujisawaです。シンプルなデータクラスタリングツールを作成しましたので、そのご紹介をさせていただきます。 クラスタリングとは クラスタリングとは、対象のデータ集合中で似ているもの同士をまとめて、いくつかのグループにデータ集合を分割することです。データマイニングや統計分析などでよく利用され、データ集合の傾向を調べたいときなどに役に立ちます。 例えば下図の例ですと、当初はデータがゴチャゴチャと混ざっていてよく分からなかったのですが、クラスタリングすることで、実際は3つのグループのデータのみから構成されていることが分かります。 様々なクラスタリング手法がこれまでに提案されていますが、有名なところではK-means法などが挙げられます。ここでは詳細については触れませんが、クラスタリングについてより詳しく知りたい方は以下の

    軽量データクラスタリングツールbayon - mixi engineer blog
  • データベースの動的デフラグ - mixi engineer blog

    ノートPCの冷却ファンがうるさいのを対処しようとしてWebで調べたら、そのファンの設計者が「静音性へのこだわり」を語ったページにたどり着いて複雑な心境のmikioです。今回は、Tokyo Cabinet(TC)の最新バージョンで実装された動的デフラグ機能について長々と説明します。 断片化とデフラグ 任意のサイズのデータを管理する記憶装置においては、利用可能領域の断片化(fragmentation)の問題が常につきまといます。ファイルシステム上で任意のサイズのファイルを管理する際にも、データベースファイル内で任意のサイズのレコードを管理する際にも、C言語のmalloc/free関数群でメモリの管理をする際にも、様々なレイヤで断片化が起きうるのです。なぜなら、データを削除もしくは移動した際の空き領域を再利用するにあたって、その領域と同じサイズのデータが常に入ってくるとは限らないからです。特にデ

    データベースの動的デフラグ - mixi engineer blog
  • CNET Japan

    人気の記事 1AIスマホのデモで実感した「スマホアプリが消える」未来 2024年03月09日 2「Files by Google」、文書を簡単にスキャンできる新機能を追加 2024年03月08日 3「Nothing Phone (2a)」--スタイルよりスペック重視の新型スマホを写真で確認 2024年03月08日 4三重交通キャラ炎上に学ぶ、「萌え絵」の扱いの難しさ--批判だけでなく擁護の声も 2024年03月09日 5「Pixel Watch 2」の一部機能、初代モデルでも利用可能に 2024年03月05日 6注目を集めるスマートリング--新たな定番フィットネストラッカーとなるか 2024年03月08日 7「Nothing Phone (2a)」正式発表--ライトを減らし安価に 2024年03月06日 8イーロン・マスク氏「日は消えてなくなる」X投稿再び--過去最低の出生数を受け 20

    CNET Japan
  • 1