{"author_name":"dharry","blog_url":"https://dharry.hatenablog.com/","published":"2008-09-19 03:46:53","description":"\u30e6\u30fc\u30b6\u4f5c\u6210\u3068\u4e00\u6642\u7684\u4f7f\u7528\u306e\u30d1\u30b9\u30ef\u30fc\u30c9\u3092\u767a\u884c\u3059\u308b\u306e\u304c\u9762\u5012\u306a\u306e\u3067\u3001\u81ea\u52d5\u751f\u6210\u3059\u308b\u30b9\u30af\u30ea\u30d7\u30c8\u306e\u4f5c\u696d\u5c65\u6b74\u3002 \u305d\u306e\u3046\u3061expire\u3068\u304b\u6a5f\u80fd\u8ffd\u52a0\u3057\u306a\u3044\u3068\u3002 #!/usr/bin/ruby require 'etc' # salt def getRandomString (length = 15) source=(\"a\"..\"z\").to_a + (\"A\"..\"Z\").to_a + (0..9).to_a + [\"_\",\"-\",\".\"] key=\"\" length.times{ key+= source[rand(source.size)].to_s } return key end username = AR\u2026","width":"100%","height":"190","version":"1.0","categories":["ruby"],"image_url":null,"provider_name":"Hatena Blog","type":"rich","html":"<iframe src=\"https://hatenablog-parts.com/embed?url=https%3A%2F%2Fdharry.hatenablog.com%2Fentry%2F20080919%2F1221850013\" title=\" UNIX\u306e\u30e6\u30fc\u30b6\u4f5c\u6210 - harry\u2019s memorandum\" class=\"embed-card embed-blogcard\" scrolling=\"no\" frameborder=\"0\" style=\"display: block; width: 100%; height: 190px; max-width: 500px; margin: 10px 0px;\"></iframe>","url":"https://dharry.hatenablog.com/entry/20080919/1221850013","provider_url":"https://hatena.blog","title":" UNIX\u306e\u30e6\u30fc\u30b6\u4f5c\u6210","author_url":"https://blog.hatena.ne.jp/dharry/","blog_title":"harry\u2019s memorandum"}