{"url":"https://developers.techouse.com/entry/RubyKaigi-2026-coe401_-day3","width":"100%","height":"190","image_url":"http://res.cloudinary.com/dyjw65doo/image/upload/v1777628133/RubyKaigi-2026-coe401_-day3/ogp.png","title":"RubyKaigi 2026 - The Less-Told Story of Socket Timeouts (Day3)","author_url":"https://blog.hatena.ne.jp/techouse-dev/","description":"\u672c\u8a18\u4e8b\u3067\u306f\u30013 \u65e5\u76ee\u306b\u884c\u308f\u308c\u305f Misaki Shioi\uff08\u3057\u304a\u3044\uff09\uff08@coe401_\uff09\u3055\u3093\u306e\u30bb\u30c3\u30b7\u30e7\u30f3\u306b\u3064\u3044\u3066\u7d39\u4ecb\u3055\u305b\u3066\u3044\u305f\u3060\u304d\u307e\u3059\u3002\u30bf\u30a4\u30c8\u30eb\u306f The Less-Told Story of Socket Timeouts \u3067\u3059\u3002 \u666e\u6bb5\u3001\u79c1\u305f\u3061\u304c\u4f55\u6c17\u306a\u304f\u4f7f\u3063\u3066\u3044\u308b Net::HTTP \u3084 Mechanize \u306a\u3069\u306e HTTP \u30af\u30e9\u30a4\u30a2\u30f3\u30c8\u306e\u88cf\u5074\u3067\u306f\u3001\u30bd\u30b1\u30c3\u30c8\u306e\u30bf\u30a4\u30e0\u30a2\u30a6\u30c8\u6a5f\u80fd\u304c\u9759\u304b\u306b\u52d5\u3044\u3066\u3044\u307e\u3059\u3002\u672c\u30bb\u30c3\u30b7\u30e7\u30f3\u3067\u306f\u3001\u305d\u306e\u30bf\u30a4\u30e0\u30a2\u30a6\u30c8\u6a5f\u80fd\u304c Ruby 2.0 \u304b\u3089 4.0 \u307e\u3067\u306e\u7d04 10 \u5e74\u3092\u304b\u3051\u3066\u3001\u3069\u306e\u3088\u3046\u306b\u9032\u5316\u3057\u3001\u73fe\u5728\u306b\u81f3\u3063\u305f\u306e\u304b\u3068\u3044\u3046\u958b\u767a\u306e\u6b74\u53f2\u304c\u8a9e\u3089\u308c\u307e\u3057\u305f\u3002","categories":[],"blog_url":"https://developers.techouse.com/","published":"2026-05-19 13:21:37","version":"1.0","author_name":"techouse-dev","blog_title":"Techouse Developers Blog","provider_url":"https://hatena.blog","type":"rich","provider_name":"Hatena Blog","html":"<iframe src=\"https://hatenablog-parts.com/embed?url=https%3A%2F%2Fdevelopers.techouse.com%2Fentry%2FRubyKaigi-2026-coe401_-day3\" title=\"RubyKaigi 2026 - The Less-Told Story of Socket Timeouts (Day3) - Techouse Developers Blog\" class=\"embed-card embed-blogcard\" scrolling=\"no\" frameborder=\"0\" style=\"display: block; width: 100%; height: 190px; max-width: 500px; margin: 10px 0px;\"></iframe>"}