{"type":"rich","blog_url":"https://osatoh.com/","height":"190","author_name":"osatohh","provider_name":"Hatena Blog","author_url":"https://blog.hatena.ne.jp/osatohh/","blog_title":"\u304a\u3055\u3068\u306e\u96d1\u8a18\u5e33","url":"https://osatoh.com/entry/2023/05/24/102840","title":"RubyKaigi2023\u306b\u53c2\u6226\u3057\u3066\u304d\u307e\u3057\u305f\uff01\uff01","provider_url":"https://hatena.blog","version":"1.0","description":"RubyKaigi \u521d\u53c2\u6226\uff01\uff01\uff01 \u53c2\u52a0\u524d \u53c2\u52a0\u4e2d \u30bb\u30c3\u30b7\u30e7\u30f3 Matz Keynote Power up your REPL life with types Ruby Committers and The World Gradual typing for Ruby: comparing RBS and RBI/Sorbet \u4ea4\u6d41 \u98df\u4e8b \u53c2\u52a0\u5f8c \u7d42\u308f\u308a\u306b RubyKaigi \u521d\u53c2\u6226\uff01\uff01\uff01 \u3053\u3093\u306b\u3061\u306f\uff01 2023\u5e741\u6708\u3088\u308a\u5408\u540c\u4f1a\u793e\u6625\u79cb\u3067\u4e00\u5175\u5352(\u30a2\u30eb\u30d0\u30a4\u30c8)\u3068\u3057\u3066\u65e5\u3005\u30b3\u30fc\u30c9\u3068\u6226\u3063\u3066\u304a\u308a\u307e\u3059\u3001\u304a\u3055\u3068\u3067\u3059\u3002 \u521d\u3068\u306a\u308bRubyKaigi\u306b\u53c2\u6226\u3057\u3066\u304d\u305f\u306e\u3067\u30ec\u30dd\u30fc\u30c8\u3092\u66f8\u3044\u3066\u3044\u304d\u305f\u3044\u3068\u601d\u3044\u307e\u3059 \ud83d\udcaa \u53c2\u52a0\u524d \u6c96\u7e04\u2026","width":"100%","published":"2023-05-24 10:28:40","categories":["Ruby","\u30a4\u30d9\u30f3\u30c8"],"html":"<iframe src=\"https://hatenablog-parts.com/embed?url=https%3A%2F%2Fosatoh.com%2Fentry%2F2023%2F05%2F24%2F102840\" title=\"RubyKaigi2023\u306b\u53c2\u6226\u3057\u3066\u304d\u307e\u3057\u305f\uff01\uff01 - \u304a\u3055\u3068\u306e\u96d1\u8a18\u5e33\" class=\"embed-card embed-blogcard\" scrolling=\"no\" frameborder=\"0\" style=\"display: block; width: 100%; height: 190px; max-width: 500px; margin: 10px 0px;\"></iframe>","image_url":"https://cdn-ak.f.st-hatena.com/images/fotolife/o/osatohh/20230521/20230521111509.jpg"}