タグ

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

  • mixi Engineers’ Blog » manを書こう

    チャリンコ通勤もそろそろ寒くなってきたと感じる今日この頃のmikioです。今回は、manの書き方について述べてみます。 manとは UNIX系のフリーソフトウェア/オープンソースソフトウェアを世に出す場合、その使い方を示した「man」形式のマニュアルを付属させるのが一般的です。端末上で「man hoge」とやると「hoge」のマニュアルを見ることができるので大変便利で、UNIXを使っている方は日々お世話になっている機構だと思います。ちなみに「man -t hoge」とやるとPostScript形式のデータが出力されるので印刷して見ることもできるんです。 そういうわけでUNIXのソフトウェアはmanをつけて配布するのがあたりまえ的になっていて、つけてないと「なんでやねん」とお叱りをうけることもあります。Debian/GNU Linuxでは、パッケージに含まれる全てのコマンドには各々に対応する

    mixi Engineers’ Blog » manを書こう
    yokochie
    yokochie 2007/10/27
    別のマークアップ言語使ってHTMLとmanページ形式に変換した方が効率が良さげ(例えばDocBook)
  • Inside Tokyo Cabinet その参 - mixi engineer blog

    この連載のように小難しい記事が続くと、読者の皆さんだけでなく執筆陣まで引いてしまうのではないかと心配しているmikioです。いやいや、いいんです。ハッキングから夜のオカズまでバラエティに富んだブログを目指すべく、私は私なりの記事を、たとえマイノリティ向けだとしても臆さず書いてゆくのです。今回はTCの実装の詳細についてお届けします。 QDBMとどう違うの? QDBMもTCと同様にDBMの一実装で、小さくて速くて使いやすいをモットーに作りはじめて、それなりに目標を達成できたと自負しているプロダクトです。しかし、今思えばいろいろと気に入らない点がいくつかありました。TCはそれを克服すべく一から書き直したものです。具体的には以下の点が違います。 空間効率の向上 : データベースファイルのサイズがもっと小さい 時間効率の向上 : 読み書きにかかる時間がもっと短い 耐障害性の向上 : データベースファ

    Inside Tokyo Cabinet その参 - mixi engineer blog
    yokochie
    yokochie 2007/09/06
  • mixi Engineers’ Blog » Inside Tokyo Cabinet その弐

    予定を立てた途端にやりたくなくなる症候群に堪えて連載を続けるmikioです(こんな私でもエアーマンくらいは倒せます)。前回はDBMの基について説明しましたが、それを忠実に実装しても実際には使いものにはならないことにも触れました。今回は、実用的なDBMに進化すべく、Tokyo Cabinet(およびその前身のQDBM)で考えた工夫についてお話します。 ハッシュ関数についてもう少し 前回の記事に関して、「ハッシュ関数はビットシフト使って実装した方が早いよ」という旨のお便りをいただきました(ありがとうございます)。まさにその通りで、乗算命令(ここではimull)より左シフト命令(ここではsall)の方が速いみたいです(Intelの資料によると、mulが15から18で、salが4とのこと)。しかし、DBMの場合はファイルI/Oにかかる時間が支配的になるというのが重要な点です。したがって、ハッシュ

    mixi Engineers’ Blog » Inside Tokyo Cabinet その弐
  • Inside Tokyo Cabinet その壱 - mixi engineer blog

    約半年間の沈黙を破ってOSSの世界に戻ってきつつあるmikioです。先日、Tokyo Cabinet(以下「TC」と呼びます)というデータベースライブラリをリリースしました。今回から数回に分けて、TCの設計と苦労話について連載してみます。 DBMとは TCは、いわゆるDBMの系譜のデータベースライブラリで、単純なハッシュテーブルをファイル上で永続化するだけの機能を提供します。DBMはAT&Tの古代UNIXの時代から受け継がれる伝統芸能なのですが、私はそういう枯れた技術が大好きなのです。 プログラマの皆さんは、PerlRubyではハッシュ(連想配列)と呼ばれ、JavaC++ではmapと呼ばれるような、何らかのキーに関連づけてなんらかの値を記録するデータ構造って実によく使いますよね。例えばmixiでは、ユーザアカウントに関連する情報(名前とかニックネームとか)は、ユーザIDをキーにしたハッ

    Inside Tokyo Cabinet その壱 - mixi engineer blog
  • mixi Engineers’ Blog » 開発者のこだわり:キーボード

    新卒で入った会社ではキーボードを半年に一回壊していたnealです。今回はmixiのサービスとは関係ないですが、開発部のこだわりの入力デバイス、キーボードについてちょっと書いてみました。 開発部 では「マイキーボード」を持ち込む人が多く、コードを書くプロとしてそれぞれの思いがあります。魚屋さんで例えれば包丁でしょうか?包丁の切れ味が悪かったり、使いにくかったら仕事になりませんよね。それと同じで頭に浮かんだコードを文字列にするキーボードというデバイスは開発者にとって重要な道具です。 社内で一番の人気者はPFU社のHHK。マイキーボード使用者の中でも5割り近くがHHKです。心地よいクリック感と「A」の左横にコントロールがある配列、これだけでもコードを書く人間の心をワクワクさせてくれます。 究極のキーボード を追及すると必ずKINESISの名前が出てきます。タッチや配列だけではなく、独特な「Con

    mixi Engineers’ Blog » 開発者のこだわり:キーボード
    yokochie
    yokochie 2007/08/22
    サイン入りキーボードって持っていったってこと?
  • レビュー検索あれこれ - mixi engineer blog

    こんにちは。夏休みが待ち遠しくって、夜なべしては旅行関係のサイトを巡っているmikioです。休みといえば、お出かけして美味しいランチべたり映画見たり、あるいは家で読んだりゲームしたり音楽聞いたりしますよね。そんなあなたにお薦めしたいのがレビュー検索です。今回は、そこでのtipsや開発裏話などをお届けします。 mixiレビューとは、amazon.co.jpやぐるなびなどにある商品や店舗などについてユーザの皆さんがレビューを投稿できる機能です。気に入ったり気に入らなかったりする商品などについて一言言いたくなるのが人情というものですが、普通のmixi日記で言及するよりもレビューを書く方が後で読んだ時に有用です。レビュー機能の特徴は、1点から5点までの満足度をつけられることと、写真や説明などの関連情報が参照できることと、そして何より、他のユーザがその商品につけたレビューと比較できることです。

    レビュー検索あれこれ - mixi engineer blog
    yokochie
    yokochie 2007/07/18
    『実験での精度よりも説明性とか納得性というのが実サービスには重要なのです。』