{"provider_name":"Hatena Blog","image_url":null,"provider_url":"https://hatena.blog","height":"190","html":"<iframe src=\"https://hatenablog-parts.com/embed?url=https%3A%2F%2Fmsksgm.hatenablog.com%2Fentry%2F2025%2F02%2F28%2F223515\" title=\"\u300cServer-Side Kotlin LT\u5927\u4f1a vol.14\u300d\u53c2\u52a0\u611f\u60f3 - msksgm\u2019s blog\" 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://msksgm.hatenablog.com/entry/2025/02/28/223515","version":"1.0","title":"\u300cServer-Side Kotlin LT\u5927\u4f1a vol.14\u300d\u53c2\u52a0\u611f\u60f3","width":"100%","published":"2025-02-28 22:35:15","author_name":"msksgm","author_url":"https://blog.hatena.ne.jp/msksgm/","blog_url":"https://msksgm.hatenablog.com/","type":"rich","blog_title":"msksgm\u2019s blog","description":"\u6982\u8981 Server-Side Kotlin LT \u5927\u4f1a vol.14 \u306b\u53c2\u52a0\u3057\u3066\u304d\u307e\u3057\u305f\u3002 \u611f\u60f3\u3092\u8a18\u8ff0\u3057\u307e\u3059\u3002 server-side-kotlin-meetup.connpass.com \u6982\u8981 \u53c2\u52a0\u7406\u7531 \u30bb\u30c3\u30b7\u30e7\u30f3\u611f\u60f3 \u4f1a\u5834 LT Java \u306b\u304a\u3051\u308b Null \u975e\u8a31\u5bb9 Kotlin \u3067 Refinement types \u30b9\u30dd\u30f3\u30b5\u30fc LT Kotlin \u306e\u958b\u767a\u3067\u3082 AI \u3092\u3044\u3044\u611f\u3058\u306b\u4f7f\u3044\u305f\u3044 From Scala/Clojure to Kotlin Detekt \u3067\u5b66\u3076 Kotlin \u52c9\u5f37\u4f1a\u306e\u5168\u4f53\u7684\u306a\u611f\u60f3 \u53c2\u52a0\u7406\u7531 \u8da3\u5473\u30ec\u30d9\u30eb\u3067\u3059\u304c\u3001\u30b5\u30fc\u30d0\u30fc\u30b5\u30a4\u30c9 Kotlin \u304c\u597d\u304d\u306a\u305f\u3081\u53c2\u52a0\u3057\u307e\u3057\u305f\u3002 \u524d\u2026","categories":["connpass","\u52c9\u5f37\u4f1a\u611f\u60f3"]}