タグ

ブックマーク / tkng.hatenablog.com (4)

  • ディレクトリの中にある大量の小さなファイルを高速に読み込む方法 - 射撃しつつ前転 改

    ディレクトリの中にある大量のファイルを高速に読み込む方法が知りたかったので、実験してみた。想定しているシチュエーションは、一つ一つのファイルは数KB程度だが数が多い、という場合である。適当な順番でアクセスすると、ランダムアクセスになってしまいとても時間がかかる。個々のファイルを読み込む順番はどうでも良く、すべてのファイルを処理することさえできればいいので、原理的にはシーケンシャルアクセスで処理できてしかるべきである。 まず、ファイルシステムについて。HDDやSSDなどのハードウェアにアクセスする際には、ファイル名などという概念はもちろん存在しない。ファイル名と実際のディスク上の対応を管理するのがファイルシステムの主な役割である。ファイルシステムは、ファイル名からそのファイルに対応するブロック番号(メモリアドレスみたいなもんだな)を調べて、そのブロック番号を指定してHDDやSSDにアクセスす

    ディレクトリの中にある大量の小さなファイルを高速に読み込む方法 - 射撃しつつ前転 改
  • 強烈に便利なzshrcの設定 3種盛り - 射撃しつつ前転 改

    タイトルはやや釣りぎみのような気もするが、この設定がないサーバで長時間作業したくない、と思う程度には便利なので、個人的には釣りではないと言える。 ctrl + 矢印で単語単位のカーソル移動 コマンドの真ん中あたりに間違いがあった場合、修正するためにカーソルを移動させるのはちょっとした苦痛である。デフォルトのキーバインドだと、emacsバインディングであればalt + bとかalt + nで単語単位で移動できるのだが、これは片手で打つと親指に無理がかかるキーバインドである。そこで、emacsと同じように、ctrl + ←→ で単語単位の移動を可能にしておく。ついでに、/は単語の一部と見做さない様に設定しておく。この設定により、長いパス名の中程に間違いがあった場合に修正するのが楽になる。 bindkey ";5C" forward-word bindkey ";5D" backward-wor

    強烈に便利なzshrcの設定 3種盛り - 射撃しつつ前転 改
  • iPadの良いところと悪いところと悪いところ - 射撃しつつ前転 改

    5/11の夕方、その時会社にいた7人の同僚のうち5人が既にiPadの予約をしていた、という異常な熱に浮かされて、iPadを予約してしまった。当然の帰結として、5/28にiPadが自宅に配送され、そして来月のクレジットカードで4万8千円ほど銀行口座から引き落とされる事になった。 そんなわけで早速iPadをいろいろ触ってみたので、良いところと悪いところを挙げてみたい。 良いところはなんと言ってもユーザーインターフェースだろう。iPhoneと似たような感じなのだが、画面サイズが違うというだけで、iPhoneとはかなり印象が違う。コンシューマー向けコンピューターの未来はこっちにあるんだろうな、と感じる。それほど遠い未来ではなく、5年後ぐらいには、今のPCの市場はこういったタッチパネルつきコンピューターにかなりわれているだろう。興味があるところを触ればなにかが起きるというのは、わかりやすい。 悪い

    iPadの良いところと悪いところと悪いところ - 射撃しつつ前転 改
  • いろいろな言語用のSinatra的フレームワークまとめ - 射撃しつつ前転 改

    Sinatraはよくできたウェブアプリ開発用フレームワークだと思う。前にも書いたが、URLから呼び出されるメソッドを決定するところがよくできているし、依存するライブラリもRackだけなので使いやすい。beforeフィルタの存在やstatus, content_typeといったメソッドなど、細かいところまで開発がやりやすいように作られているように感じる。 しかし、SinatraはRubyで書かれているので、他の言語では使えない。趣味で書いているならRubyを使えばいい話なのだが、仕事だとそうもいかないこともあるだろう。 そこで、Sinatraに似た感じで使えそうなフレームワークを探してみた。 ※コメント欄などで教えていただいたものをいくつか追加しました。感謝! sinatra-on-perl perl用 http://code.google.com/p/sinatra/ 名前の通り、かなりS

    いろいろな言語用のSinatra的フレームワークまとめ - 射撃しつつ前転 改
  • 1