{"url":"https://developers.techouse.com/entry/RubyKaigi-2026-mametter-day2","width":"100%","author_name":"techouse-dev","published":"2026-05-19 13:20:46","provider_url":"https://hatena.blog","author_url":"https://blog.hatena.ne.jp/techouse-dev/","categories":[],"version":"1.0","type":"rich","description":"\u672c\u8a18\u4e8b\u3067\u306fDay2\u306b\u884c\u308f\u308c\u305f @mametter \u3055\u3093\uff08GitHub: @mame / X: @mametter\uff09\u306e\u30bb\u30c3\u30b7\u30e7\u30f3\u306e\u5185\u5bb9\u3092\u307e\u3068\u3081\u307e\u3059\u3002\u30bf\u30a4\u30c8\u30eb\u306f\u300cPractical TypeProf: Lessons from Analyzing Optcarrot\u300d\u3067\u3059\u3002 \u672c\u30bb\u30c3\u30b7\u30e7\u30f3\u3067\u306f\u3001TypeProf\u3092\u5b9f\u969b\u306e\u30b3\u30fc\u30c9\u30d9\u30fc\u30b9\u3067\u3042\u308bOptcarrot\u306b\u9069\u7528\u3057\u3001\u305d\u3053\u3067\u5f97\u3089\u308c\u305f\u77e5\u898b\u3084\u6539\u5584\u70b9\u3001\u305d\u3057\u3066AI\u6642\u4ee3\u306b\u304a\u3051\u308b\u578b\u30c4\u30fc\u30eb\u306e\u4f4d\u7f6e\u4ed8\u3051\u307e\u3067\u304c\u5e45\u5e83\u304f\u8a9e\u3089\u308c\u307e\u3057\u305f\u3002\u578b\u30c4\u30fc\u30eb\u306e\u5b9f\u30d7\u30ed\u30b8\u30a7\u30af\u30c8\u9069\u7528\u306b\u95a2\u5fc3\u304c\u3042\u308b\u65b9\u3001AI\u6642\u4ee3\u306e\u578b\u30c4\u30fc\u30eb\u306e\u4f4d\u7f6e\u4ed8\u3051\u306b\u8208\u5473\u304c\u3042\u308b\u65b9\u306b\u7279\u306b\u304a\u3059\u3059\u3081\u306e\u5185\u5bb9\u3067\u3059\u3002","blog_title":"Techouse Developers Blog","height":"190","image_url":"http://res.cloudinary.com/dyjw65doo/image/upload/v1777286472/RubyKaigi-2026-mametter-day2/ogp.png","provider_name":"Hatena Blog","title":"RubyKaigi 2026 - Practical TypeProf: Lessons from Analyzing Optcarrot (Day2)","blog_url":"https://developers.techouse.com/","html":"<iframe src=\"https://hatenablog-parts.com/embed?url=https%3A%2F%2Fdevelopers.techouse.com%2Fentry%2FRubyKaigi-2026-mametter-day2\" title=\"RubyKaigi 2026 - Practical TypeProf: Lessons from Analyzing Optcarrot (Day2) - 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>"}