{"blog_url":"https://blog.tmtms.net/","version":"1.0","description":"NSEG13\u3067\u8efd\u304f\u7d39\u4ecb\u3057\u305f\u306e\u3067\u3059\u304c\u3001MmapScanner\u3068\u3044\u3046Ruby\u30e9\u30a4\u30d6\u30e9\u30ea\u3092\u4f5c\u3063\u3066\u307f\u307e\u3057\u305f\u3002 \u7c21\u5358\u306b\u3044\u3046\u3068 StringScanner \u306e\u3088\u3046\u306a\u3053\u3068\u3092 mmap(2) \u9818\u57df\u306b\u5bfe\u3057\u3066\u884c\u3048\u308b\u3088\u3046\u306b\u3057\u305f\u3082\u306e\u3067\u3059\u3002\u30a4\u30f3\u30b9\u30c8\u30fc\u30eb\u65b9\u6cd5 % gem install mmapscanner\u6b21\u306e\u3088\u3046\u306b\u3059\u308b\u3068\u3001\u30d5\u30a1\u30a4\u30eb\u3092 mmap(2) \u3057\u3066 MmapScanner \u30aa\u30d6\u30b8\u30a7\u30af\u30c8\u3092\u8fd4\u3057\u307e\u3059\u3002 file = File.open('filename') ms = MmapScanner.new(file) \u3042\u3068\u306f StringScanner \u3068\u540c\u3058\u3088\u3046\u306b\u3001scan, skip \u7b49\u304c\u4f7f\u3048\u307e\u3059\u3002 StringSc\u2026","author_name":"tmtms","provider_name":"Hatena Blog","blog_title":"tmtms \u306e\u30e1\u30e2","height":"190","categories":["Ruby"],"width":"100%","url":"https://blog.tmtms.net/entry/20110328/mmapscanner","provider_url":"https://hatena.blog","published":"2011-03-28 00:00:00","type":"rich","title":"MmapScanner","image_url":null,"author_url":"https://blog.hatena.ne.jp/tmtms/","html":"<iframe src=\"https://hatenablog-parts.com/embed?url=https%3A%2F%2Fblog.tmtms.net%2Fentry%2F20110328%2Fmmapscanner\" title=\"MmapScanner - tmtms \u306e\u30e1\u30e2\" class=\"embed-card embed-blogcard\" scrolling=\"no\" frameborder=\"0\" style=\"display: block; width: 100%; height: 190px; max-width: 500px; margin: 10px 0px;\"></iframe>"}