タグ

ブックマーク / zentoo.hatenablog.com (3)

  • jOOQ (Java Object Oriented Querying) の使い方の紹介 - 愛と勇気と缶ビール

    jOOQ (http://www.jooq.org/) についてのメモ。 jOOQは、type safeかつdatabase orientedなクエリビルダーである。 database orientedなので、「アプリケーションからDBのことなんて全然意識したくないねん」的な思想に基いて作られた類のプロダクトとは異なり、思い通りのSQLを生成できるようになっている。 以下gradle前提で。version等はよしなに。 gradle dependenciesはこんな感じ compile 'org.jooq:jooq:3.7.1' compile 'org.jooq:jooq-meta:3.7.1' テーブル等に相当するクラスをgradle taskから生成するためにbuildscriptのdependenciesにも以下をかいておく classpath 'org.jooq:jooq-cod

    jOOQ (Java Object Oriented Querying) の使い方の紹介 - 愛と勇気と缶ビール
  • ぼくらのLRU - 愛と勇気と缶ビール

    LRUにも色々あるよねーって話。ちなみにmemcachedとRedisのどっちがいいか的な話ではない。 memcachedのLRU memcachedは起動時のオプション-mで最大何バイトまでmemcachedにメモリをわせるかを指定することが出来て、この値を超えてmemcachedにデータをぶっ込もうとするとデータの追い出し(eviction)が発生します。どのデータが追い出されるかはいわゆるLRU(Least Recently Used)で、つまり最近使われていないデータが追い出されます。なので、「memcachedはLRUだよ」と言われると「ふーん」と分かったような気分になりますが、実はmemcachedのLRUはデータ全体におけるLRUではなくslab classごとのLRUなので、この辺を勘違いしていると痛い目に合います。 slab allocatorそのものについてはここでは

    ぼくらのLRU - 愛と勇気と缶ビール
  • Linux KernelのLinked Listの実装が面白い件 - 愛と勇気と缶ビール

    最近、Robert Love先生のを暇な時にダラーと読んでいたりするわけですが、それの中にLinux Kernel内部で使われているLinked Listの実装が書いてあって面白かったので共有。 まず、Linked Listの一個一個のエントリを表すstructを定義します。 struct list_head { struct list_head *next, *prev; }; いやいやいやいや。いかにC力の低い僕でも流石にこれはあきません。騙されませんよ。前後のエントリへのポインタは確かにあるけれども、これにはデータを指すためのポインタがないじゃないの。おじいちゃんまたデータ忘れてきちゃったの?いやあねえ。 おじいちゃんは言った。「それはお前の短見というものじゃ。このLinked Listは以下のコードのようにデータ構造に埋め込んで使うものなんじゃよ。」そしてそれは正しかった。 st

    Linux KernelのLinked Listの実装が面白い件 - 愛と勇気と缶ビール
    bopperjp
    bopperjp 2012/12/12
    offsetof, typeof を使わない実装はコチラ -> http://isis.poly.edu/kulesh/stuff/src/klist/
  • 1