{"id":366980,"date":"2024-05-21T03:11:31","date_gmt":"2024-05-21T03:11:31","guid":{"rendered":"http:\/\/savepearlharbor.com\/?p=366980"},"modified":"-0001-11-30T00:00:00","modified_gmt":"2024-05-21T03:11:31","slug":"","status":"publish","type":"post","link":"https:\/\/savepearlharbor.com\/?p=366980","title":{"rendered":"<span>Scala Digest. \u0412\u044b\u043f\u0443\u0441\u043a 13<\/span>"},"content":{"rendered":"<div><!--[--><!--]--><\/div>\n<div id=\"post-content-body\">\n<div>\n<div class=\"article-formatted-body article-formatted-body article-formatted-body_version-2\">\n<div xmlns=\"http:\/\/www.w3.org\/1999\/xhtml\">\n<figure class=\"full-width\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/habrastorage.org\/r\/w1560\/getpro\/habr\/upload_files\/790\/0d2\/4f4\/7900d24f47e3c2650848a377ed4ae340.png\" width=\"1561\" height=\"881\" data-src=\"https:\/\/habrastorage.org\/getpro\/habr\/upload_files\/790\/0d2\/4f4\/7900d24f47e3c2650848a377ed4ae340.png\"\/><\/figure>\n<p>\u041f\u0440\u0438\u0432\u0435\u0442, \u0425\u0430\u0431\u0440! \u041c\u044b \u2014 <a href=\"https:\/\/habr.com\/ru\/users\/Ivoya\/\"><u>\u0420\u043e\u043c\u0430<\/u><\/a>, <a href=\"https:\/\/habr.com\/ru\/users\/Melkaya_150cm\/\"><u>\u041d\u0430\u0441\u0442\u044f<\/u><\/a> \u0438 <a href=\"https:\/\/habr.com\/ru\/users\/tcarina\/\"><u>\u041a\u0430\u0440\u0438\u043d\u0430<\/u><\/a> \u2014 \u0431\u044d\u043a\u0435\u043d\u0434-\u0440\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u0447\u0438\u043a\u0438 \u0422\u0438\u043d\u044c\u043a\u043e\u0444\u0444, \u043f\u0438\u0448\u0435\u043c \u043a\u043e\u0434 \u043d\u0430 Scala \u0438 \u0433\u043e\u0440\u0438\u043c \u0436\u0435\u043b\u0430\u043d\u0438\u0435\u043c \u0435\u0433\u043e \u043f\u043e\u043f\u0443\u043b\u044f\u0440\u0438\u0437\u0438\u0440\u043e\u0432\u0430\u0442\u044c.<\/p>\n<p>\u041c\u044b \u0441\u043e\u0431\u0438\u0440\u0430\u0435\u043c \u0438 \u0430\u0433\u0440\u0435\u0433\u0438\u0440\u0443\u0435\u043c \u043d\u043e\u0432\u043e\u0441\u0442\u0438 \u0438\u0437 \u0440\u0430\u0437\u043d\u044b\u0445 \u0438\u0441\u0442\u043e\u0447\u043d\u0438\u043a\u043e\u0432, \u0432\u043a\u043b\u044e\u0447\u0430\u044f <a href=\"https:\/\/scalatimes.com\/\"><u>Scala Times<\/u><\/a>, <a href=\"https:\/\/petr-zapletal.medium.com\/\"><u>\u0431\u043b\u043e\u0433 Petr Zapletal<\/u><\/a> \u0438 <a href=\"https:\/\/t.me\/scala_channel_ru\"><u>\u043a\u0430\u043d\u0430\u043b Scala Nishtyaki<\/u><\/a>, \u0434\u043e\u0431\u0430\u0432\u043b\u044f\u0435\u043c \u0434\u043e\u043f\u043e\u043b\u043d\u0438\u0442\u0435\u043b\u044c\u043d\u044b\u0435 \u043d\u043e\u0432\u043e\u0441\u0442\u0438 \u0438 \u0441\u043e\u0431\u0441\u0442\u0432\u0435\u043d\u043d\u044b\u0435 \u043a\u043e\u043c\u043c\u0435\u043d\u0442\u0430\u0440\u0438\u0438. \u0421\u0432\u043e\u044e \u043c\u043e\u0442\u0438\u0432\u0430\u0446\u0438\u044e \u0447\u0435\u0440\u043f\u0430\u0435\u043c \u0438\u0437 \u0436\u0435\u043b\u0430\u043d\u0438\u044f \u0440\u0430\u0437\u0432\u0438\u0432\u0430\u0442\u044c\u0441\u044f \u0438 \u0434\u0435\u043b\u0438\u0442\u044c\u0441\u044f \u043f\u043e\u043b\u0443\u0447\u0435\u043d\u043d\u044b\u043c\u0438 \u0437\u043d\u0430\u043d\u0438\u044f\u043c\u0438. \u041f\u0440\u0438\u0432\u0435\u0442\u0441\u0442\u0432\u0443\u0435\u043c \u043b\u044e\u0431\u0443\u044e \u043e\u0431\u0440\u0430\u0442\u043d\u0443\u044e \u0441\u0432\u044f\u0437\u044c! (\u3065 \u25d5\u203f\u25d5 )\u3065<\/p>\n<h2>\u0420\u0435\u043b\u0438\u0437\u044b<\/h2>\n<p>\u0421\u043e\u0431\u0440\u0430\u043b\u0438 \u043f\u043e\u0441\u043b\u0435\u0434\u043d\u0438\u0435 \u043e\u0431\u043d\u043e\u0432\u043b\u0435\u043d\u0438\u044f \u043f\u043e\u043f\u0443\u043b\u044f\u0440\u043d\u044b\u0445 \u0438 \u043f\u043e\u043b\u0435\u0437\u043d\u044b\u0445 \u0431\u0438\u0431\u043b\u0438\u043e\u0442\u0435\u043a \u0437\u0430 \u043f\u0430\u0440\u0443 \u043c\u0435\u0441\u044f\u0446\u0435\u0432:<\/p>\n<ul>\n<li>\n<p><a href=\"https:\/\/www.reddit.com\/r\/scala\/comments\/191gq4d\/new_releases_indigo_0160_tyrian_090_and_more\/\"><u>New releases! Indigo 0.16.0, Tyrian 0.9.0, and more! ?<\/u><\/a> \u2014 \u0441\u0432\u0435\u0436\u0438\u0435 \u0440\u0435\u043b\u0438\u0437\u044b \u043c\u043e\u0434\u043d\u0435\u043d\u044c\u043a\u0438\u0445 \u0431\u0438\u0431\u043b\u0438\u043e\u0442\u0435\u0447\u0435\u043a \u0434\u043b\u044f Scala.js. \u041e\u0442\u0434\u0435\u043b\u044c\u043d\u043e \u0437\u0430\u0446\u0435\u043d\u0438\u0442\u0435 \u0441\u0438\u043c\u043f\u0430\u0442\u044f\u0433\u0443 <a href=\"https:\/\/github.com\/PurpleKingdomGames\/roguelike-starterkit\"><u>roguelike-starterkit<\/u><\/a>. \u042d\u0445, \u0441\u0435\u0439\u0447\u0430\u0441 \u0431\u044b \u0437\u0430\u043b\u0438\u043f\u043d\u0443\u0442\u044c \u0432 nethack \u0438\u043b\u0438 dungeon crawl \u043d\u0430 Scala.js \u0432 \u0431\u0440\u0430\u0443\u0437\u0435\u0440\u0435\u2026<\/p>\n<\/li>\n<li>\n<p><a href=\"https:\/\/github.com\/scalalandio\/chimney\/releases\/tag\/0.8.5\"><u>chimney 0.8.5<\/u><\/a> \u2014 \u0440\u0435\u0431\u044f\u0442\u0430 \u043f\u043e\u0434\u0440\u043e\u0431\u043d\u043e \u0440\u0430\u0441\u043f\u0438\u0441\u0430\u043b\u0438, \u0447\u0435\u043c \u043e\u043d\u0438 \u0431\u044b\u043b\u0438 \u0437\u0430\u043d\u044f\u0442\u044b \u043f\u043e\u0441\u043b\u0435\u0434\u043d\u0435\u0435 \u0432\u0440\u0435\u043c\u044f, \u0438 \u043f\u0440\u0430\u043a\u0442\u0438\u0447\u0435\u0441\u043a\u0438 \u043f\u043e\u043e\u0431\u0435\u0449\u0430\u043b\u0438 1.0.0 \u0432\u0435\u0440\u0441\u0438\u044e \u0432 2024-\u043c!<\/p>\n<\/li>\n<li>\n<p><a href=\"https:\/\/github.com\/typelevel\/cats-effect\/releases\/tag\/v3.5.3\"><u>cats-effect 3.5.3<\/u><\/a> \u2014 breaking changes;<\/p>\n<\/li>\n<li>\n<p><a href=\"https:\/\/github.com\/VirtusLab\/scala-cli\/releases\"><u>scala-cli 1.1.1 \u2014 1.1.2<\/u><\/a>;<\/p>\n<\/li>\n<li>\n<p><a href=\"https:\/\/www.scala-native.org\/en\/stable\/changelog\/0.4.17.html\"><u>scala-native 0.4.17<\/u><\/a>;<\/p>\n<\/li>\n<li>\n<p><a href=\"https:\/\/github.com\/com-lihaoyi\/mill\/releases\"><u>mill 0.10.14 \u2014 0.10.15<\/u><\/a>;<\/p>\n<\/li>\n<li>\n<p><a href=\"https:\/\/github.com\/lampepfl\/dotty\/releases\/tag\/3.4.0-RC2\"><u>dotty 3.4.0-RC2<\/u><\/a>;<\/p>\n<\/li>\n<li>\n<p><a href=\"https:\/\/github.com\/disneystreaming\/smithy4s\/releases\/tag\/v0.18.6\"><u>smithy4s 0.18.6<\/u><\/a>;<\/p>\n<\/li>\n<li>\n<p><a href=\"https:\/\/github.com\/fthomas\/refined\/releases\/tag\/v0.11.1\"><u>refined 0.11.1<\/u><\/a>;<\/p>\n<\/li>\n<li>\n<p><a href=\"https:\/\/github.com\/scalatra\/scalatra\/releases\/tag\/v3.1.0-M1\"><u>scalatra 3.1.0-M1<\/u><\/a>;<\/p>\n<\/li>\n<li>\n<p><a href=\"https:\/\/github.com\/softwaremill\/sttp\/releases\/tag\/v3.9.2\"><u>sttp 3.9.2<\/u><\/a>;<\/p>\n<\/li>\n<li>\n<p><a href=\"https:\/\/github.com\/softwaremill\/tapir\/releases\/tag\/v1.9.7\"><u>tapir 1.9.7<\/u><\/a>;<\/p>\n<\/li>\n<li>\n<p><a href=\"https:\/\/github.com\/typelevel\/fs2\/releases\/tag\/v3.9.4\"><u>fs2 3.9.4<\/u><\/a>;<\/p>\n<\/li>\n<li>\n<p><a href=\"https:\/\/github.com\/typelevel\/kittens\/releases\/tag\/v3.2.0\"><u>kittens 3.2.0<\/u><\/a>;<\/p>\n<\/li>\n<li>\n<p><a href=\"https:\/\/github.com\/zio\/zio\/releases\/tag\/v2.0.21\"><u>zio 2.0.21<\/u><\/a>;<\/p>\n<\/li>\n<li>\n<p><a href=\"https:\/\/github.com\/zio\/zio-config\/releases\/tag\/v4.0.1\"><u>zio-config 4.0.1<\/u><\/a>;<\/p>\n<\/li>\n<li>\n<p><a href=\"https:\/\/github.com\/zio\/zio-kafka\/releases\/tag\/v2.7.2\"><u>zio-kafka 2.7.2<\/u><\/a>;<\/p>\n<\/li>\n<li>\n<p><a href=\"https:\/\/github.com\/zio\/zio-quill\/releases\/tag\/v4.8.1\"><u>zio-quill 4.8.1<\/u><\/a>;<\/p>\n<\/li>\n<li>\n<p><a href=\"https:\/\/github.com\/leviysoft\/oolong\/releases\/tag\/v0.4.0\"><u>oolong 0.4.0.<\/u><\/a><\/p>\n<\/li>\n<\/ul>\n<h2>Tinkoff Scala meetup &amp; open-source<\/h2>\n<p>\u0420\u0443\u0431\u0440\u0438\u043a\u0430 \u0434\u043b\u044f \u043c\u0438\u0442\u0430\u043f\u043e\u0432 \u0438 \u0440\u0435\u043b\u0438\u0437\u043e\u0432 \u0431\u0438\u0431\u043b\u0438\u043e\u0442\u0435\u043a \u0438 \u0444\u0440\u0435\u0439\u043c\u0432\u043e\u0440\u043a\u043e\u0432, \u0440\u043e\u0436\u0434\u0435\u043d\u043d\u044b\u0445 \u0432 \u043d\u0435\u0434\u0440\u0430\u0445 scala-\u043a\u043e\u043c\u044c\u044e\u043d\u0438\u0442\u0438 \u0422\u0438\u043d\u044c\u043a\u043e\u0444\u0444:<\/p>\n<ul>\n<li>\n<p><a href=\"https:\/\/habr.com\/ru\/companies\/tinkoff\/articles\/787638\/\"><u>\u041a\u0430\u043a \u043c\u043e\u0442\u0438\u0432\u0438\u0440\u043e\u0432\u0430\u0442\u044c \u0440\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u0447\u0438\u043a\u0430 \u0437\u0430\u043d\u0438\u043c\u0430\u0442\u044c\u0441\u044f \u043a\u043e\u043d\u0442\u0440\u0438\u0431\u044c\u044e\u0442\u0438\u043d\u0433\u043e\u043c, \u0430 \u0433\u043b\u0430\u0432\u043d\u043e\u0435, \u0434\u043b\u044f \u0447\u0435\u0433\u043e<\/u><\/a> \u2014 \u043d\u0430\u0448 DevRel, \u0410\u043b\u0441\u0443 \u0417\u0430\u0438\u0442\u043e\u0432\u0430, \u043f\u0440\u0438\u043e\u0442\u043a\u0440\u044b\u0432\u0430\u0435\u0442 \u0448\u0438\u0440\u043c\u0443 \u0432\u043d\u0443\u0442\u0440\u0435\u043d\u043d\u0435\u0439 \u043a\u0443\u0445\u043d\u0438 \u0422\u0438\u043d\u044c\u043a\u043e\u0444\u0444: \u043e \u043f\u0440\u043e\u0448\u0435\u0434\u0448\u0435\u043c \u043c\u0435\u0441\u044f\u0446\u0435 \u043a\u043e\u043d\u0442\u0440\u0438\u0431\u044c\u044e\u0442\u0438\u043d\u0433\u0430 \u0432 open source Scala. \u041e\u0434\u0438\u043d \u0438\u0437 \u0447\u043b\u0435\u043d\u043e\u0432 \u0440\u0435\u0434\u0430\u043a\u0446\u0438\u0438 \u0442\u0430\u043a\u0436\u0435 \u043f\u0440\u0438\u043d\u0438\u043c\u0430\u043b \u0443\u0447\u0430\u0441\u0442\u0438\u0435 \u0432 \u043c\u0435\u0440\u043e\u043f\u0440\u0438\u044f\u0442\u0438\u0438 \u0438 \u0441\u0434\u0435\u043b\u0430\u043b \u043d\u0435\u0431\u043e\u043b\u044c\u0448\u043e\u0439 \u043a\u043e\u043c\u043c\u0438\u0442 \u0432 mill. <\/p>\n<\/li>\n<\/ul>\n<blockquote>\n<p>\u0410 \u0437\u0434\u0435\u0441\u044c \u043c\u043e\u0433\u043b\u0430 \u0431\u044b\u0442\u044c \u0432\u0430\u0448\u0430 \u0441\u0442\u0430\u0442\u044c\u044f \ud83d\ude42 <a href=\"https:\/\/polls.tinkoff.ru\/s\/clqqit42h01nr01kfb8d8198y\">\u041f\u0440\u0438\u0441\u044b\u043b\u0430\u0439\u0442\u0435 \u043d\u043e\u0432\u043e\u0441\u0442\u0438, <\/a>\u043a\u043e\u0442\u043e\u0440\u044b\u0435 \u0445\u043e\u0442\u0438\u0442\u0435 \u0443\u0432\u0438\u0434\u0435\u0442\u044c \u0432 \u0434\u0430\u0439\u0434\u0436\u0435\u0441\u0442\u0435, \u0430 \u043c\u044b \u0441\u043a\u0430\u0436\u0435\u043c \u0432\u0430\u043c \u0441\u043f\u0430\u0441\u0438\u0431\u043e \u0432 \u0441\u043b\u0435\u0434\u0443\u044e\u0449\u0435\u043c \u0432\u044b\u043f\u0443\u0441\u043a\u0435! <\/p>\n<\/blockquote>\n<h2>\u0421\u0442\u0430\u0442\u044c\u0438<\/h2>\n<p>\u0412 \u044d\u0442\u043e\u043c \u0440\u0430\u0437\u0434\u0435\u043b\u0435 \u0441\u0432\u0435\u0436\u0438\u0435 \u0441\u0442\u0430\u0442\u044c\u0438, \u0440\u0435\u043f\u043e\u0437\u0438\u0442\u043e\u0440\u0438\u0438 \u0438 \u0438\u0441\u0441\u043b\u0435\u0434\u043e\u0432\u0430\u043d\u0438\u044f, \u043a\u043e\u0442\u043e\u0440\u044b\u0435 \u043d\u0430\u043c \u043f\u043e\u043a\u0430\u0437\u0430\u043b\u0438\u0441\u044c \u0438\u043d\u0442\u0435\u0440\u0435\u0441\u043d\u044b\u043c\u0438. \u0412 \u043e\u0442\u0434\u0435\u043b\u044c\u043d\u044b\u0439 \u0431\u043b\u043e\u043a \u0432\u044b\u043d\u0435\u0441\u043b\u0438 \u0440\u0435\u0441\u0443\u0440\u0441\u044b, \u0433\u0434\u0435 \u0430\u0432\u0442\u043e\u0440\u044b \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u044e\u0442 Scala 3. Enjoy:<\/p>\n<ul>\n<li>\n<p><a href=\"https:\/\/speakerdeck.com\/fwbrasil\/kyo-functional-scala-2023\"><u>Kyo released at Functional Scala! ?<\/u><\/a> \u2014 \u0432\u0441\u0442\u0440\u0435\u0447\u0430\u0435\u043c \u043d\u043e\u0432\u043e\u0433\u043e \u0437\u0432\u0435\u0440\u044f! \u041d\u043e\u0432\u0430\u044f \u0441\u0438\u0441\u0442\u0435\u043c\u0430 \u0430\u043b\u0433\u0435\u0431\u0440\u0430\u0438\u0447\u0435\u0441\u043a\u0438\u0445 \u044d\u0444\u0444\u0435\u043a\u0442\u043e\u0432 Kyo \u0442\u0435\u043f\u0435\u0440\u044c \u0442\u043e\u0436\u0435 \u0443\u0447\u0430\u0441\u0442\u0432\u0443\u0435\u0442 \u0432 \u0443\u043b\u0438\u0447\u043d\u044b\u0445 \u0433\u043e\u043d\u043a\u0430\u0445.<\/p>\n<\/li>\n<li>\n<p><a href=\"https:\/\/www.scalamatters.io\/post\/writing-modular-applications-using-the-kyo-library\"><u>Writing Modular Applications Using The Kyo Library<\/u><\/a> \u2014 \u043f\u0435\u0440\u0432\u044b\u0435 \u043f\u0440\u043e\u0431\u044b \u043f\u0435\u0440\u0430 \u0432 \u0441\u0432\u0435\u0436\u0435\u0438\u0441\u043f\u0435\u0447\u0435\u043d\u043d\u043e\u043c \u0444\u0440\u0435\u0439\u043c\u0432\u043e\u0440\u043a\u0435 Kyo \u043d\u0430 \u043f\u0440\u0438\u043c\u0435\u0440\u0435 \u043a\u0440\u0435\u0441\u0442\u0438\u043a\u043e\u0432-\u043d\u043e\u043b\u0438\u043a\u043e\u0432. \u0412\u044b\u0433\u043b\u044f\u0434\u0438\u0442 \u043d\u0435\u043e\u0431\u044b\u0447\u043d\u043e \u0438 \u0441\u0438\u043b\u044c\u043d\u043e \u043d\u0430\u043f\u043e\u043c\u0438\u043d\u0430\u0435\u0442 \u043a\u0443\u0441\u043e\u0447\u043a\u0438 \u043a\u043e\u0434\u0430 \u0438\u0437 <a href=\"http:\/\/youtube.com\/watch?v=QRcD9Zc7eq4\"><u>\u0434\u043e\u043a\u043b\u0430\u0434\u0430 Martin Odersky \u043e Caprese.<\/u><\/a> \u0418\u043d\u0442\u0435\u0440\u0435\u0441\u043d\u043e \u0443\u0432\u0438\u0434\u0435\u0442\u044c \u044d\u043a\u0441\u043f\u0435\u0440\u0438\u043c\u0435\u043d\u0442\u044b \u0441 \u043d\u0430\u043f\u0438\u0441\u0430\u043d\u0438\u0435\u043c \u0430\u0441\u0438\u043d\u0445\u0440\u043e\u043d\u043d\u043e\u0433\u043e \u0438\u043b\u0438 \u043a\u043e\u043d\u043a\u0443\u0440\u0435\u043d\u0442\u043d\u043e\u0433\u043e \u043a\u043e\u0434\u0430 \u0438 \u0441\u0435\u0440\u0432\u0435\u0440\u043d\u044b\u0445 \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u0439.<\/p>\n<\/li>\n<li>\n<p><a href=\"https:\/\/lichess.org\/@\/thibault\/blog\/lichess--scala-3\/y1sbYzJX\"><u>Lichess &amp; Scala 3.<\/u><\/a> Lichess \u2014 \u043e\u0434\u0438\u043d \u0438\u0437 \u043b\u0443\u0447\u0448\u0438\u0445 \u0441\u0430\u0439\u0442\u043e\u0432 \u0434\u043b\u044f \u0438\u0433\u0440\u044b \u0432 \u0448\u0430\u0445\u043c\u0430\u0442\u044b. \u041f\u0435\u0440\u0435\u0435\u0445\u0430\u043b \u0441\u043e Scala 2 \u043d\u0430 Scala 3. \u0417\u0430\u0431\u0430\u0432\u043d\u043e, \u0447\u0442\u043e \u0432 \u043f\u0440\u043e\u0446\u0435\u0441\u0441\u0435 \u0444\u043e\u0440\u043a\u043d\u0443\u0442, \u043a\u0430\u0441\u0442\u0440\u0438\u0440\u043e\u0432\u0430\u043d \u0438 \u043c\u0438\u0433\u0440\u0438\u0440\u043e\u0432\u0430\u043d Play Framework \u043f\u043e\u0434 \u044d\u0442\u0443 \u0446\u0435\u043b\u044c.<\/p>\n<\/li>\n<li>\n<p><a href=\"https:\/\/www.scalamatters.io\/post\/sealed-traits-vs-enums-for-adts\"><u>Sealed Traits Vs Enums for ADTs<\/u><\/a> \u2014 \u0441\u043c\u043e\u0442\u0440\u0438\u043c, \u043a\u0442\u043e \u043b\u0443\u0447\u0448\u0435 \u043f\u043b\u044f\u0448\u0435\u0442 \u0432 \u0440\u0430\u0437\u043d\u044b\u0445 \u0441\u0446\u0435\u043d\u0430\u0440\u0438\u044f\u0445: sealed trait-\u044b \u0438\u043b\u0438 enum-\u044b.<\/p>\n<\/li>\n<li>\n<p><a href=\"https:\/\/softwaremill.com\/building-the-right-thing\/\"><u>Building the Right Thing<\/u><\/a> \u2014 \u043e \u0442\u043e\u043c, \u0447\u0442\u043e \u0445\u043e\u0440\u043e\u0448\u0438\u0439 \u043f\u0440\u043e\u0434\u0443\u043a\u0442 \u0434\u0435\u0440\u0436\u0438\u0442\u0441\u044f \u043a\u0430\u043a \u043d\u0430 \u0438\u043d\u0436\u0435\u043d\u0435\u0440\u0430\u0445, \u0442\u0430\u043a \u0438 \u043d\u0430 \u0431\u0438\u0437\u043d\u0435\u0441\u0435. \u0418\u043d\u0430\u0447\u0435 \u0433\u043e\u0432\u043e\u0440\u044f, \u0434\u0435\u043b\u0430\u0439\u0442\u0435 \u0445\u043e\u0440\u043e\u0448\u0435\u0435, \u0430 \u043f\u043b\u043e\u0445\u043e\u0435 \u043d\u0435 \u0434\u0435\u043b\u0430\u0439\u0442\u0435.<\/p>\n<\/li>\n<li>\n<p><a href=\"https:\/\/valentin.willscher.de\/posts\/scala-praise\/\"><u>Scala\u2019s great ecosystem<\/u><\/a> \u2014 \u0437\u0434\u0435\u0441\u044c \u043d\u0435\u0442 \u043d\u0438 \u0441\u0442\u0440\u043e\u0447\u043a\u0438 \u043a\u043e\u0434\u0430, \u043d\u043e \u0435\u0441\u0442\u044c \u0440\u0430\u0441\u0441\u043a\u0430\u0437, \u043a\u0430\u043a \u0440\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u0447\u0438\u043a \u043f\u0438\u0441\u0430\u043b \u0441\u0432\u043e\u0439 \u043a\u043e\u0434.<\/p>\n<figure class=\"full-width\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/habrastorage.org\/r\/w1560\/getpro\/habr\/upload_files\/55a\/00c\/9fd\/55a00c9fd81f2619afd6aca41c4647db.png\" width=\"768\" height=\"592\" data-src=\"https:\/\/habrastorage.org\/getpro\/habr\/upload_files\/55a\/00c\/9fd\/55a00c9fd81f2619afd6aca41c4647db.png\"\/><\/figure>\n<\/li>\n<li>\n<p><a href=\"https:\/\/blog.dtth.ch\/nki\/extension-of-erased-values-in-scala-3\"><u>Extension of Erased Values in Scala 3<\/u><\/a> \u2014 \u0440\u0430\u0441\u0441\u043a\u0430\u0437 \u043e \u0441\u0435\u043c\u0435\u0441\u0442\u0440\u043e\u0432\u043e\u0439 \u0440\u0430\u0431\u043e\u0442\u0435 \u043d\u0430\u0434 erased values \u0432 \u043a\u043e\u043c\u043f\u0438\u043b\u044f\u0442\u043e\u0440 dotty. \u041e \u043d\u043e\u0432\u043e\u043c keyword-\u0435 \u0438 identifier-\u0435, \u043f\u043e\u0437\u0432\u043e\u043b\u044f\u044e\u0449\u0435\u043c \u043f\u043e\u0434\u0441\u043a\u0430\u0437\u044b\u0432\u0430\u0442\u044c \u043a\u043e\u043c\u043f\u0438\u043b\u044f\u0442\u043e\u0440\u0443, \u0447\u0442\u043e \u043a\u0430\u043a\u0438\u0435-\u0442\u043e \u043f\u0430\u0440\u0430\u043c\u0435\u0442\u0440\u044b \u0438 \u0432\u044b\u0440\u0430\u0436\u0435\u043d\u0438\u044f \u043d\u0443\u0436\u043d\u043e \u0443\u0434\u0430\u043b\u0438\u0442\u044c \u0432 compile-time. \u041f\u0440\u0438\u0445\u043e\u0434\u044f\u0449\u0435\u0435 \u043d\u0430 \u0443\u043c \u043f\u0440\u0438\u043c\u0435\u043d\u0435\u043d\u0438\u0435 \u2014 \u0443\u0434\u0430\u043b\u0435\u043d\u0438\u0435 implicit evidence, \u0447\u0442\u043e \u043a\u0430\u043a \u0440\u0430\u0437 \u043f\u0435\u0440\u0435\u0441\u0435\u043a\u0430\u0435\u0442\u0441\u044f \u0441 \u0440\u0430\u0431\u043e\u0442\u043e\u0439 \u043d\u0430\u0434 \u043f\u0440\u043e\u0435\u043a\u0442\u043e\u043c Caprese. \u0421\u0442\u0430\u0442\u044c\u044f \u043f\u043e\u0434\u0440\u043e\u0431\u043d\u0430\u044f, \u043e\u0441\u0432\u0435\u0449\u0430\u044e\u0442\u0441\u044f \u0441\u043b\u043e\u0436\u043d\u043e\u0441\u0442\u0438, \u0441\u0432\u044f\u0437\u0430\u043d\u043d\u044b\u0435 \u0441 \u0442\u0435\u043c, \u0447\u0442\u043e \u0444\u0443\u043d\u043a\u0446\u0438\u0438 \u0438 \u043c\u0435\u0442\u043e\u0434\u044b \u0432 Scala \u043d\u0435 \u0440\u0430\u0432\u043d\u044b. \u0415\u0449\u0435 \u0431\u044b \u0434\u043e\u0431\u0430\u0432\u0438\u0442\u044c \u0447\u0443\u0442\u044c \u0431\u043e\u043b\u044c\u0448\u0435 \u0441\u043d\u0438\u043f\u043f\u0435\u0442\u043e\u0432 \u043a\u043e\u0434\u0430 \u0438\u0437 \u0441\u0434\u0435\u043b\u0430\u043d\u043d\u044b\u0445 pull request-\u043e\u0432. \u0418\u0437 \u0437\u0430\u0431\u0430\u0432\u043d\u043e\u0433\u043e: \u0441\u0442\u0438\u043b\u0438\u0441\u0442\u0438\u0447\u0435\u0441\u043a\u043e\u0435 \u043e\u0444\u043e\u0440\u043c\u043b\u0435\u043d\u0438\u0435 \u0431\u043b\u043e\u0433\u0430, \u043a\u043e\u0442\u043e\u0440\u043e\u0435 \u0437\u0435\u043b\u0435\u043d\u0435\u0435\u0442 \u043a \u043a\u043e\u043d\u0446\u0443 \u0441\u0442\u0430\u0442\u044c\u0438. \u041f\u043e-\u043b\u0430\u0432\u043a\u0440\u0430\u0444\u0442\u0438\u0430\u043d\u0441\u043a\u0438 \u043f\u043e\u0433\u0440\u0443\u0436\u0430\u0435\u043c\u0441\u044f \u0432 \u043f\u0443\u0447\u0438\u043d\u044b \u043d\u0435\u043e\u043f\u0438\u0441\u0443\u0435\u043c\u043e\u0433\u043e \u0443\u0436\u0430\u0441\u0430 \u0441\u043e\u0432\u0440\u0435\u043c\u0435\u043d\u043d\u044b\u0445 \u043a\u043e\u043c\u043f\u0438\u043b\u044f\u0442\u043e\u0440\u043e\u0432.<\/p>\n<\/li>\n<li>\n<p><a href=\"https:\/\/blog.rockthejvm.com\/practical-type-level-programming\/\"><u>Practical Type-Level Programming in Scala 3<\/u><\/a> \u2014 \u043e\u0433\u0440\u043e\u043c\u043d\u0430\u044f \u0441\u0442\u0430\u0442\u044c\u044f \u043e\u0442 Daniel Beskin \u043e \u0440\u0435\u0448\u0435\u043d\u0438\u0438 \u0437\u0430\u0434\u0430\u0447\u0438 \u0433\u0435\u043d\u0435\u0440\u0430\u0446\u0438\u0438 json-\u044d\u043d\u043a\u043e\u0434\u0435\u0440\u0430 \u0434\u043b\u044f \u0432\u043b\u043e\u0436\u0435\u043d\u043d\u044b\u0445 \u0441\u0442\u0440\u0443\u043a\u0442\u0443\u0440 \u0442\u0430\u043a, \u0447\u0442\u043e\u0431\u044b \u043f\u043e\u043b\u0443\u0447\u0435\u043d\u043d\u044b\u0439 JSON \u0431\u044b\u043b \u043f\u043b\u043e\u0441\u043a\u0438\u043c. \u041c\u0430\u0433\u0438\u044f \u043d\u0430 \u0443\u0440\u043e\u0432\u043d\u0435 \u0442\u0438\u043f\u043e\u0432, \u0444\u0438\u0447\u0438 Scala 3. \u0412\u0441\u0435 \u043a\u0430\u043a \u043c\u044b \u043b\u044e\u0431\u0438\u043c.<\/p>\n<\/li>\n<li>\n<p><a href=\"https:\/\/softwaremill.com\/technology-trends-to-watch-in-2024\/\"><u>Technology trends to watch in 2024<\/u><\/a> \u2014 \u041d\u043e\u0441\u0442\u0440\u0430\u0434\u0430\u043c\u0443\u0441, \u0412\u0430\u043d\u0433\u0430, \u041f\u0438\u0444\u0438\u044f, Softwaremill?.. \u041b\u0443\u0447\u0448\u0438\u0435 \u043f\u0440\u043e\u0440\u043e\u043a\u0438 \u043f\u0440\u043e\u0434\u043e\u043b\u0436\u0430\u044e\u0442 \u0435\u0436\u0435\u0433\u043e\u0434\u043d\u0443\u044e <s>\u0430\u043d\u0430\u043b\u0438\u0442\u0438\u043a\u0443<\/s> \u0442\u0440\u0430\u0434\u0438\u0446\u0438\u044e \u0442\u0435\u0445\u043d\u043e\u043b\u043e\u0433\u0438\u0447\u0435\u0441\u043a\u0438\u0445 \u043f\u0440\u0435\u0434\u0441\u043a\u0430\u0437\u0430\u043d\u0438\u0439 \u0432 \u043d\u043e\u0432\u043e\u043c \u0433\u043e\u0434\u0443.<\/p>\n<\/li>\n<li>\n<p><a href=\"https:\/\/habr.com\/ru\/articles\/784906\/\"><u>\u041a\u0430\u043a \u044f \u043f\u043e\u043f\u0440\u043e\u0431\u043e\u0432\u0430\u043b \u043d\u0430\u043f\u0438\u0441\u0430\u0442\u044c \u0430\u0432\u0438\u0430\u0441\u0438\u043c\u0443\u043b\u044f\u0442\u043e\u0440<\/u><\/a> \u2014 \u0440\u0443\u0441\u0441\u043a\u043e\u044f\u0437\u044b\u0447\u043d\u0430\u044f \u0441\u0442\u0430\u0442\u044c\u044f \u043f\u0440\u043e \u0440\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u043a\u0443 \u0430\u0432\u0438\u0430\u0441\u0438\u043c\u0443\u043b\u044f\u0442\u043e\u0440\u0430 \u043f\u043e\u0434 Android \u043d\u0430 Scala \u0441 \u043e\u0442\u043a\u0440\u044b\u0442\u044b\u043c \u0438\u0441\u0445\u043e\u0434\u043d\u044b\u043c \u043a\u043e\u0434\u043e\u043c. \u041a\u0430\u0436\u0434\u0430\u044f \u0447\u0430\u0441\u0442\u044c \u043f\u0440\u0435\u0434\u044b\u0434\u0443\u0449\u0435\u0433\u043e \u043f\u0440\u0435\u0434\u043b\u043e\u0436\u0435\u043d\u0438\u044f \u043f\u043e-\u0441\u0432\u043e\u0435\u043c\u0443 \u0430\u0431\u0441\u0443\u0440\u0434\u043d\u0430, \u0447\u0442\u043e \u043d\u0435 \u043c\u043e\u0436\u0435\u0442 \u043d\u0435 \u0432\u044b\u0437\u044b\u0432\u0430\u0442\u044c \u0438\u043d\u0442\u0435\u0440\u0435\u0441. \u0412\u043f\u0440\u043e\u0447\u0435\u043c, \u0441\u0430\u043c \u043f\u043e\u0441\u0442 \u2014 \u044d\u0442\u043e \u0440\u0435\u0444\u043b\u0435\u043a\u0441\u0438\u044f \u043e \u043f\u043e\u0442\u0440\u0430\u0447\u0435\u043d\u043d\u043e\u043c \u0432\u0440\u0435\u043c\u0435\u043d\u0438 \u0438 \u043f\u0440\u0438\u043e\u0431\u0440\u0435\u0442\u0435\u043d\u043d\u043e\u043c \u043e\u043f\u044b\u0442\u0435.<\/p>\n<\/li>\n<li>\n<p><a href=\"https:\/\/habr.com\/ru\/companies\/m2tech\/articles\/782986\/\"><u>Calypso: \u0441\u0445\u0435\u043c\u0430 \u0434\u0430\u043d\u043d\u044b\u0445 MongoDB \u043d\u0430 Scala<\/u><\/a> \u2014 \u0438\u0437\u043b\u043e\u0436\u0435\u043d\u0438\u0435 \u043d\u0430 \u0425\u0430\u0431\u0440\u0435 \u043e\u0441\u0435\u043d\u043d\u0435\u0433\u043e \u0434\u043e\u043a\u043b\u0430\u0434\u0430 <a href=\"https:\/\/www.youtube.com\/live\/lQOwF9TQEpk?si=0qjhqh3wtlomzOT1\"><u>\u0441 M2_TECH Scala Meetup.<\/u><\/a> \u0420\u0435\u0431\u044f\u0442\u0430 \u043f\u0440\u0435\u0437\u0435\u043d\u0442\u0443\u044e\u0442 \u0441\u0432\u043e\u044e \u0431\u0438\u0431\u043b\u0438\u043e\u0442\u0435\u0447\u043a\u0443 <a href=\"https:\/\/github.com\/m2-oss\/calypso\"><u>calypso.<\/u><\/a><\/p>\n<\/li>\n<li>\n<p><a href=\"https:\/\/nrinaudo.github.io\/articles\/free_monad.html\"><u>The debatably Free monad<\/u><\/a> \u2014 \u043f\u0435\u0440\u0435\u0438\u0437\u043e\u0431\u0440\u0435\u0442\u0435\u043d\u0438\u0435 Free-\u043c\u043e\u043d\u0430\u0434\u044b \u0441 \u043d\u0443\u043b\u044f. \u041d\u0430\u043f\u0438\u0441\u0430\u043d\u043e \u043e\u0447\u0435\u043d\u044c \u0436\u0438\u0432\u043e, \u043f\u0440\u0438\u044f\u0442\u043d\u043e \u0447\u0438\u0442\u0430\u0442\u044c. \u041e\u0441\u043e\u0431\u0435\u043d\u043d\u043e \u0440\u0430\u0434\u0443\u044e\u0442 \u0444\u0440\u0430\u0437\u043e\u0447\u043a\u0438 \u0442\u0438\u043f\u0430 something monadic is going on.<\/p>\n<\/li>\n<li>\n<p><a href=\"https:\/\/blog.michal.pawlik.dev\/posts\/til\/cleaner-pr-diffs\/\"><u>Hide irrelevant data in your PRs<\/u><\/a> \u2014 \u0435\u0441\u043b\u0438 \u0432\u044b \u0443\u0436\u0435 \u043d\u0430\u0443\u0447\u0438\u043b\u0438\u0441\u044c \u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u044c\u0441\u044f .gitignore, \u0442\u043e \u043f\u0440\u0438\u0448\u043b\u043e \u0432\u0440\u0435\u043c\u044f \u043e\u0441\u0432\u043e\u0438\u0442\u044c .gitattributes.<\/p>\n<\/li>\n<li>\n<p><a href=\"https:\/\/www.binwang.me\/2023-12-29-Scala-Macro-Tutorial.html\"><u>Scala 2 Macro Tutorial<\/u><\/a> \u2014 \u0434\u0435\u0439\u0441\u0442\u0432\u0438\u0442\u0435\u043b\u044c\u043d\u043e beginner guide \u0432 \u043c\u0430\u043a\u0440\u043e\u0441\u044b. \u041b\u0435\u0433\u043a\u0430\u044f \u043f\u043e\u0434\u0430\u0447\u0430 \u0447\u0435\u0440\u043d\u043e\u0439 \u043c\u0430\u0433\u0438\u0438 \u0432 \u0432\u0438\u0434\u0435 \u0430\u0437\u0431\u0443\u043a\u0438 \u0434\u043b\u044f \u0448\u043a\u043e\u043b\u044c\u043d\u0438\u043a\u043e\u0432 \u0438 \u043f\u0440\u043e\u0441\u0442\u044b\u0435 \u043f\u0440\u0438\u043c\u0435\u0440\u044b. \u041f\u043e\u0434\u043e\u0439\u0434\u0435\u0442 \u043d\u043e\u0432\u0438\u0447\u043a\u0430\u043c.<\/p>\n<\/li>\n<li>\n<p><a href=\"https:\/\/brevzin.github.io\/c++\/2020\/06\/18\/lambda-lambda-lambda\/\"><u>Lambda Lambda Lambda<\/u><\/a> \u2014 \u00ab\u0417\u043d\u0430\u0435\u0442\u0435, \u043a\u0430\u043a\u043e\u0439 \u0437\u0430\u043f\u0430\u0445 \u044f \u0447\u0443\u0432\u0441\u0442\u0432\u0443\u044e \u043f\u043e\u0443\u0442\u0440\u0443? \u0417\u0430\u043f\u0430\u0445 \u043b\u044f\u043c\u0431\u0434. \u041b\u044f\u043c\u0431\u0434\u0430? \u041b\u044f\u043c\u0431\u0434\u0430, \u043b\u044f\u043c\u0431\u0434\u0430, \u043b\u044f\u043c\u0431\u0434\u0430, \u043b\u044f\u043c\u0431\u0434\u0430. \u041a\u0430\u043a \u043d\u0430\u043f\u0438\u0441\u0430\u0442\u044c \u0441\u0440\u0430\u0432\u043d\u0435\u043d\u0438\u0435 \u0446\u0438\u0444\u0440? \u041d\u0438\u043a\u0430\u043a, \u0432\u0435\u0434\u044c \u043d\u0435\u0442 \u0446\u0438\u0444\u0440. \u0422\u044b \u043f\u0438\u0448\u0435\u0448\u044c \u0438\u043b\u043b\u044e\u0437\u0438\u044e, \u0436\u0430\u043b\u043a\u043e\u0435 \u043f\u043e\u0434\u043e\u0431\u0438\u0435 \u0442\u043e\u0433\u043e, \u0447\u0442\u043e \u043b\u044e\u0434\u0438 \u043d\u0430\u0437\u044b\u0432\u0430\u044e\u0442 \u0446\u0438\u0444\u0440\u043e\u0439. \u0421\u043d\u0430\u0447\u0430\u043b\u0430 \u043c\u044b \u0441\u043e\u0437\u0434\u0430\u0435\u043c \u0446\u0438\u0444\u0440\u044b \u043a\u0430\u043a \u0444\u0443\u043d\u043a\u0446\u0438\u0438, \u0437\u0430\u0442\u0435\u043c \u0441\u0442\u0440\u043e\u043a\u0438, \u043a\u043b\u0430\u0441\u0441\u044b, \u0432\u0435\u0441\u044c \u044d\u0442\u043e\u0442 \u043c\u0438\u0440 \u2014 \u044d\u0442\u043e \u043e\u0433\u0440\u043e\u043c\u043d\u0430\u044f \u0444\u0443\u043d\u043a\u0446\u0438\u044f\u00bb <abbr class=\"habraabbr\" title=\"\u0443 \u041a\u0430\u0440\u0438\u043d\u044b \u0434\u0438\u043f\u043b\u043e\u043c \u043f\u0440\u043e \u043b\u044f\u043c\u0431\u0434\u044b, \u043f\u043e\u044d\u0442\u043e\u043c\u0443 \u043e\u043d\u0430 \u0432\u0441\u0435, \u0441\u0432\u044f\u0437\u0430\u043d\u043d\u043e\u0435 \u0441 \u043d\u0438\u043c\u0438, \u044d\u043c\u043e\u0446\u0438\u043e\u043d\u0430\u043b\u044c\u043d\u043e \u0432\u043e\u0441\u043f\u0440\u0438\u043d\u0438\u043c\u0430\u0435\u0442\" data-title=\"&lt;p>\u0443 \u041a\u0430\u0440\u0438\u043d\u044b \u0434\u0438\u043f\u043b\u043e\u043c \u043f\u0440\u043e \u043b\u044f\u043c\u0431\u0434\u044b, \u043f\u043e\u044d\u0442\u043e\u043c\u0443 \u043e\u043d\u0430 \u0432\u0441\u0435, \u0441\u0432\u044f\u0437\u0430\u043d\u043d\u043e\u0435 \u0441 \u043d\u0438\u043c\u0438, \u044d\u043c\u043e\u0446\u0438\u043e\u043d\u0430\u043b\u044c\u043d\u043e \u0432\u043e\u0441\u043f\u0440\u0438\u043d\u0438\u043c\u0430\u0435\u0442&lt;\/p>&#187; data-abbr=&#187;\u00a9 \u041a\u0430\u0440\u0438\u043d\u0430&#187;>\u00a9 \u041a\u0430\u0440\u0438\u043d\u0430<\/abbr>.\u00a0<\/p>\n<\/li>\n<li>\n<p><a href=\"https:\/\/scala-cli.virtuslab.org\/docs\/guides\/power\/python\/\"><u>Python\/ScalaPy \u26a1\ufe0f<\/u><\/a> \u2014 \u0432 scala-cli \u0434\u043e\u0431\u0430\u0432\u0438\u043b\u0438 \u0432\u043e\u0437\u043c\u043e\u0436\u043d\u043e\u0441\u0442\u044c \u0432\u044b\u0437\u0432\u0430\u0442\u044c \u0438\u043d\u0442\u0435\u0440\u043f\u0440\u0435\u0442\u0430\u0442\u043e\u0440 python. <\/p>\n<figure class=\"full-width\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/habrastorage.org\/r\/w1560\/getpro\/habr\/upload_files\/08b\/e2e\/b63\/08be2eb632c1849b2cb77314d6810201.png\" alt=\"\u00ab\u041e\u0441\u0442\u0430\u043b\u043e\u0441\u044c \u0442\u043e\u043b\u044c\u043a\u043e \u043c\u043e\u043d\u0438\u0442\u043e\u0440 \u043f\u0440\u0438\u0445\u0443\u2026\u00bb\" title=\"\u00ab\u041e\u0441\u0442\u0430\u043b\u043e\u0441\u044c \u0442\u043e\u043b\u044c\u043a\u043e \u043c\u043e\u043d\u0438\u0442\u043e\u0440 \u043f\u0440\u0438\u0445\u0443\u2026\u00bb\" width=\"1600\" height=\"868\" data-src=\"https:\/\/habrastorage.org\/getpro\/habr\/upload_files\/08b\/e2e\/b63\/08be2eb632c1849b2cb77314d6810201.png\"\/><\/p>\n<div><figcaption>\u00ab\u041e\u0441\u0442\u0430\u043b\u043e\u0441\u044c \u0442\u043e\u043b\u044c\u043a\u043e \u043c\u043e\u043d\u0438\u0442\u043e\u0440 \u043f\u0440\u0438\u0445\u0443\u2026\u00bb<\/figcaption><\/div>\n<\/figure>\n<\/li>\n<\/ul>\n<details class=\"spoiler\">\n<summary>\u0410 \u0441\u044e\u0434\u0430 \u043c\u044b \u0441\u043f\u0440\u044f\u0442\u0430\u043b\u0438 \u0432\u0441\u0435 \u0435\u0449\u0435 \u0438\u043d\u0442\u0435\u0440\u0435\u0441\u043d\u044b\u0435 \u0441\u0442\u0430\u0442\u044c\u0438, \u043d\u0430 \u043f\u043e\u0434\u0432\u043e\u0434\u043a\u0438 \u043a \u043a\u043e\u0442\u043e\u0440\u044b\u043c \u0443 \u043d\u0430\u0441 \u043d\u0435 \u0445\u0432\u0430\u0442\u0438\u043b\u043e \u0441\u0438\u043b.<\/summary>\n<div class=\"spoiler__content\">\n<ul>\n<li>\n<p><a href=\"https:\/\/softwaremill.com\/llm-for-tapir-chatbot-for-oss\/\"><u>LLM for tapir \u2014 Chatbot for OSS<\/u><\/a>;<\/p>\n<\/li>\n<li>\n<p><a href=\"https:\/\/eed3si9n.com\/sbt-website-update-2024\/\"><u>sbt website update 2024<\/u><\/a>;<\/p>\n<\/li>\n<li>\n<p><a href=\"https:\/\/scala-lang.org\/blog\/2024\/01\/23\/migration-to-scala-3.html\"><u>Scala 3: My migration journey<\/u><\/a>;<\/p>\n<\/li>\n<li>\n<p><a href=\"https:\/\/scalac.io\/blog\/getting-started-with-zio-http\/\"><u>Getting started with ZIO HTTP<\/u><\/a>;<\/p>\n<\/li>\n<li>\n<p><a href=\"https:\/\/blog.pierre-ricadat.com\/graphql-in-scala-handling-side-effects\"><u>GraphQL in Scala: Handling side effects<\/u><\/a>;<\/p>\n<\/li>\n<li>\n<p><a href=\"https:\/\/systemfw.org\/posts\/tailrec.html\"><u>Deriving Tail Recursive Fibonacci<\/u><\/a>;<\/p>\n<\/li>\n<li>\n<p><a href=\"https:\/\/idiomaticsoft.com\/post\/2024-01-16-monads\/\"><u>Introduction to Monads With Scala 3<\/u><\/a>;<\/p>\n<\/li>\n<li>\n<p><a href=\"https:\/\/blog.michal.pawlik.dev\/posts\/scala\/weaver-localstack\/\"><u>Integration testing with Weaver and Localstack<\/u><\/a>;<\/p>\n<\/li>\n<li>\n<p><a href=\"https:\/\/www.lightbend.com\/blog\/2024-predictions-for-the-cloud-native-market\"><u>2024 Predictions for the Cloud Native Market<\/u><\/a>;<\/p>\n<\/li>\n<li>\n<p><a href=\"https:\/\/virtuslab.com\/blog\/reference-architecture-roadmap\/\"><u>Reference Architecture: A roadmap to efficiency and scalability<\/u><\/a>;<\/p>\n<\/li>\n<li>\n<p><a href=\"https:\/\/blog.pierre-ricadat.com\/a-beginners-guide-to-graphql-in-scala\"><u>A Beginner\u2019s Guide to GraphQL in Scala<\/u><\/a>;<\/p>\n<\/li>\n<li>\n<p><a href=\"https:\/\/medium.com\/@w.pitula\/kotlin-from-scala-perspective-advent-of-code-2023-f2901863ba0e\"><u>Kotlin from Scala perspective: Advent Of Code 2023<\/u><\/a>;<\/p>\n<\/li>\n<li>\n<p><a href=\"https:\/\/alexn.org\/blog\/2024\/01\/10\/update-nextdns-with-a-scala-cli-script\/\"><u>Update NextDNS with a Scala CLI script.<\/u><\/a><\/p>\n<\/li>\n<\/ul>\n<\/div>\n<\/details>\n<h2>\u0412\u0438\u0434\u0435\u043e \u0438 \u0434\u043e\u043a\u043b\u0430\u0434\u044b<\/h2>\n<p>\u0421\u043e\u0431\u0440\u0430\u043b\u0438 \u0441\u0441\u044b\u043b\u043a\u0438 \u043a\u0430\u043a \u043d\u0430 \u0443\u0436\u0435 \u0438\u0437\u0432\u0435\u0441\u0442\u043d\u044b\u0435 \u0438 \u043f\u043e\u043f\u0443\u043b\u044f\u0440\u043d\u044b\u0435, \u0442\u0430\u043a \u0438 \u043d\u0430 \u043d\u043e\u0443\u043d\u0435\u0439\u043c-\u043a\u0430\u043d\u0430\u043b\u044b \u0438 \u0432\u0438\u0434\u0435\u043e \u043f\u0440\u043e Scala:<\/p>\n<ul>\n<li>\n<p><a href=\"https:\/\/www.youtube.com\/watch?v=GA8NZVGPiNo\"><u>What Can Scala Learn from Rust? by John A. De Goes<\/u><\/a> \u2014 \u043d\u0435 \u043e\u0431\u0440\u0430\u0449\u0430\u0439\u0442\u0435 \u0432\u043d\u0438\u043c\u0430\u043d\u0438\u044f \u043d\u0430 \u043a\u043b\u0438\u043a\u0431\u0435\u0439\u0442\u043d\u044b\u0439 \u0437\u0430\u0433\u043e\u043b\u043e\u0432\u043e\u043a. \u041f\u0440\u043e\u0434\u043e\u043b\u0436\u0435\u043d\u0438\u0435 \u043c\u0435\u0442\u0430\u0434\u0438\u0430\u043b\u043e\u0433\u0430 \u043c\u0435\u0436\u0434\u0443 \u0441\u043e\u0437\u0434\u0430\u0442\u0435\u043b\u044f\u043c\u0438 \u044f\u0437\u044b\u043a\u0430 \u0438 \u0440\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u0447\u0438\u043a\u0430\u043c\u0438 \u044d\u043a\u043e\u0441\u0438\u0441\u0442\u0435\u043c\u044b \u0432 \u043b\u0438\u0446\u0435 John A De Goes \u043e \u0432\u0435\u043a\u0442\u043e\u0440\u0435 \u0440\u0430\u0437\u0432\u0438\u0442\u0438\u044f \u044f\u0437\u044b\u043a\u0430. \u041f\u043e\u0434\u0447\u0435\u0440\u043a\u043d\u0435\u043c, \u0447\u0442\u043e \u0434\u043e\u043a\u043b\u0430\u0434 \u043a\u0430\u0447\u0435\u0441\u0442\u0432\u0435\u043d\u043d\u043e \u043f\u043e\u0434\u0433\u043e\u0442\u043e\u0432\u043b\u0435\u043d \u0438 \u043d\u0435 \u0432\u044b\u0433\u043b\u044f\u0434\u0438\u0442 \u043a\u0430\u043a \u0441\u043f\u043b\u043e\u0448\u043d\u043e\u0435 \u043d\u044b\u0442\u044c\u0435. \u0421\u0442\u0430\u0432\u044c\u0442\u0435 \u043b\u0430\u0439\u043a, \u0435\u0441\u043b\u0438 \u043d\u0430\u0448\u043b\u0438 \u043f\u0440\u043e\u0442\u0435\u0438\u043d\u043e\u0432\u043e\u0433\u043e M. Odersky.<\/p>\n<\/li>\n<li>\n<p><a href=\"https:\/\/www.youtube.com\/watch?v=Ewb5nYRVlTA\"><u>The State of IntelliJ Scala Plugin<\/u><\/a> \u2014 \u0442\u0440\u0438 \u0441 \u043f\u043e\u043b\u043e\u0432\u0438\u043d\u043e\u0439 \u0440\u0443\u0434\u043e\u043a\u043e\u043f\u0430 \u043f\u0438\u043b\u044f\u0442 \u043f\u043b\u0430\u0433\u0438\u043d, \u0430 \u043f\u043e\u043b\u044c\u0437\u0443\u0435\u0442\u0441\u044f \u0432\u0435\u0441\u044c \u043c\u0438\u0440. \u041d\u0435 \u0441\u043a\u0443\u043f\u0438\u0442\u0435\u0441\u044c \u043d\u0430 \u043b\u0430\u0439\u043a \u0440\u0435\u0431\u044f\u0442\u0430\u043c, \u0430 \u043b\u0443\u0447\u0448\u0435 \u0434\u0430\u0439\u0442\u0435 \u0440\u0430\u0437\u0432\u0435\u0440\u043d\u0443\u0442\u0443\u044e \u043e\u0431\u0440\u0430\u0442\u043d\u0443\u044e \u0441\u0432\u044f\u0437\u044c.<\/p>\n<\/li>\n<li>\n<p><a href=\"https:\/\/www.youtube.com\/@Ziverge\/videos\"><u>Ziverge YouTube Channel<\/u><\/a> \u2014 \u0447\u0430\u0441\u0442\u044c \u0437\u0430\u043f\u0438\u0441\u0435\u0439 \u0443\u0436\u0435 \u043f\u043e\u0434\u044a\u0435\u0445\u0430\u043b\u0430, \u0430 \u0447\u0430\u0441\u0442\u044c \u0435\u0449\u0435 \u0435\u0434\u0435\u0442 \u0441 \u043a\u043e\u043d\u0444\u0435\u0440\u0435\u043d\u0446\u0438\u0438 Functional Scala Conference 2023.<\/p>\n<\/li>\n<\/ul>\n<div class=\"tm-iframe_temp\" data-src=\"https:\/\/embedd.srv.habr.com\/iframe\/65bb650a2331bb9d718a0c74\" data-style=\"\" id=\"65bb650a2331bb9d718a0c74\" width=\"\"><\/div>\n<p>\u0412\u044b\u0448\u043b\u043e \u043d\u0435\u0441\u043a\u043e\u043b\u044c\u043a\u043e \u0432\u044b\u043f\u0443\u0441\u043a\u043e\u0432 flatmappers. \u0418\u0437 \u0437\u0430\u0431\u0430\u0432\u043d\u043e\u0433\u043e \u2014 \u0432 \u043a\u0430\u0436\u0434\u043e\u043c \u0438\u0437 \u043d\u0438\u0445 \u0412\u0430\u0434\u0438\u043c \u044d\u043a\u0441\u043f\u0435\u0440\u0438\u043c\u0435\u043d\u0442\u0438\u0440\u0443\u0435\u0442 \u043d\u0430\u0434 \u043e\u043f\u0435\u043d\u0438\u043d\u0433\u0430\u043c\u0438. \u0412 \u043e\u0434\u043d\u043e\u043c \u0438\u0437 \u0432\u044b\u043f\u0443\u0441\u043a\u043e\u0432 \u0432\u044b \u043c\u043e\u0436\u0435\u0442\u0435 \u043d\u0430\u0441\u043b\u0430\u0434\u0438\u0442\u044c\u0441\u044f \u0435\u0433\u043e \u0438\u0433\u0440\u043e\u0439 \u043d\u0430 \u0433\u0443\u0431\u043d\u043e\u0439 \u0433\u0430\u0440\u043c\u043e\u0448\u043a\u0435, \u0430 \u0432 \u0434\u0440\u0443\u0433\u043e\u043c \u2014 \u0443\u0441\u043b\u044b\u0448\u0430\u0442\u044c \u043c\u0435\u043b\u043e\u0434\u0438\u044e \u0438\u0437 \u043c\u0443\u0437\u044b\u043a\u0430\u043b\u044c\u043d\u043e\u0439 \u0448\u043a\u0430\u0442\u0443\u043b\u043a\u0438. \u041d\u0430\u043c \u043a\u0430\u0436\u0435\u0442\u0441\u044f \u044d\u0442\u043e \u043e\u0447\u0435\u043d\u044c \u043c\u0438\u043b\u044b\u043c. \u0410 \u0435\u0449\u0435 \u043f\u043e\u0434\u0440\u043e\u0431\u043d\u043e\u0435 \u043e\u043f\u0438\u0441\u0430\u043d\u0438\u0435 \u043a\u0430\u0436\u0434\u043e\u0433\u043e \u0432\u044b\u043f\u0443\u0441\u043a\u0430 \u0435\u0441\u0442\u044c \u0443 \u0440\u0435\u0431\u044f\u0442 \u043d\u0430 \u0441\u0430\u0439\u0442\u0435:<\/p>\n<ul>\n<li>\n<p><a href=\"https:\/\/flatmappers.com\/episode014\/\"><u>\u041b\u0436\u0438\u0432\u044b\u0435 \u0444\u043b\u044d\u0442\u043c\u0430\u043f\u044b, \u0447\u0435\u0441\u0442\u043d\u044b\u0435 \u043e\u043f\u0440\u043e\u0441\u044b<\/u><\/a> \u2014 \u041d\u0430\u0441\u0442\u0435 \u043f\u043e\u043d\u0440\u0430\u0432\u0438\u043b\u043e\u0441\u044c, \u043a\u0430\u043a \u0413\u0440\u0438\u0448\u0430 \u0434\u0435\u043b\u0438\u0442\u0441\u044f \u043e\u043f\u044b\u0442\u043e\u043c \u0440\u0430\u0431\u043e\u0442\u044b \u0441 Rust-\u043e\u043c. \u0410 \u0435\u0449\u0435 \u0438\u0437 \u0432\u044b\u043f\u0443\u0441\u043a\u0430 \u043c\u043e\u0436\u043d\u043e \u0443\u0437\u043d\u0430\u0442\u044c, \u043d\u0430\u0441\u043a\u043e\u043b\u044c\u043a\u043e \u043a\u0440\u0443\u0442 \u0430\u0432\u0442\u043e\u0440 \u043d\u043e\u0432\u043e\u0439 \u0441\u0438\u0441\u0442\u0435\u043c\u044b \u044d\u0444\u0444\u0435\u043a\u0442\u043e\u0432 <a href=\"https:\/\/github.com\/getkyo\/kyo\"><u>Kyo.<\/u><\/a><\/p>\n<\/li>\n<li>\n<p><a href=\"https:\/\/flatmappers.com\/episode015\/\"><u>\u041f\u0440\u0435\u0434\u043d\u043e\u0432\u043e\u0433\u043e\u0434\u043d\u0438\u0439 \u0432\u044b\u043f\u0443\u0441\u043a 2023<\/u><\/a> \u2014 \u00ab\u042f \u0441\u043c\u0435\u044f\u043b\u0430\u0441\u044c, \u0441\u043b\u0443\u0448\u0430\u044f \u043e \u0442\u043e\u043c, \u043a\u0430\u043a \u0434\u0430\u0436\u0435 \u043e\u043f\u044b\u0442\u043d\u044b\u0435 \u0440\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u0447\u0438\u043a\u0438 \u0441\u0442\u0440\u0430\u0434\u0430\u044e\u0442 \u043d\u0430 Advent of Code\u00bb \u00a9 \u041d\u0430\u0441\u0442\u044f.<\/p>\n<\/li>\n<\/ul>\n<details class=\"spoiler\">\n<summary>\u0410 \u0441\u044e\u0434\u0430 \u043c\u044b \u0441\u043f\u0440\u044f\u0442\u0430\u043b\u0438 \u0432\u0441\u0435 \u0435\u0449\u0435 \u0438\u043d\u0442\u0435\u0440\u0435\u0441\u043d\u044b\u0435 \u0432\u0438\u0434\u0435\u043e \u0438 \u043f\u043e\u0434\u043a\u0430\u0441\u0442\u044b, \u043d\u0430 \u043f\u043e\u0434\u0432\u043e\u0434\u043a\u0438 \u043a \u043a\u043e\u0442\u043e\u0440\u044b\u043c \u0443 \u043d\u0430\u0441 \u043d\u0435 \u0445\u0432\u0430\u0442\u0438\u043b\u043e \u0441\u0438\u043b.<\/summary>\n<div class=\"spoiler__content\">\n<ul>\n<li>\n<p><a href=\"https:\/\/www.listennotes.com\/podcasts\/happy-path\/92-virtual-threads-looming-wMFRTv4IJl-\/\"><u>#92 Virtual Threads Looming with Adam Warski by Happy Path Programming<\/u><\/a>;<\/p>\n<\/li>\n<li>\n<p><a href=\"https:\/\/www.youtube.com\/watch?v=AvwlvRp3d3w\"><u>Effect Systems in Scala: An introduction.<\/u><\/a><\/p>\n<\/li>\n<\/ul>\n<\/div>\n<\/details>\n<h2>Highlights<\/h2>\n<p>\u0412 \u044d\u0442\u043e\u043c \u0431\u043b\u043e\u043a\u0435 \u043d\u0435 \u0432\u0441\u0435\u0433\u0434\u0430 \u0441\u0432\u0435\u0436\u0438\u0435, \u043d\u043e \u0437\u0430\u0446\u0435\u043f\u0438\u0432\u0448\u0438\u0435 \u043d\u0430\u0448 \u0432\u0437\u0433\u043b\u044f\u0434 \u0440\u0435\u0441\u0443\u0440\u0441\u044b \u043f\u043e\u0434 \u0444\u043b\u0430\u0433\u043e\u043c \u00ab\u043e\u0447\u0443\u043c\u0435\u043b\u044b\u0435 \u0440\u0443\u0447\u043a\u0438\u00bb. \u0410\u0432\u0442\u043e\u0440\u044b \u0442\u0432\u043e\u0440\u044f\u0442 \u0447\u0442\u043e-\u0442\u043e \u0438\u043d\u0442\u0435\u0440\u0435\u0441\u043d\u043e\u0435, \u043d\u0435\u043e\u0431\u044b\u0447\u043d\u043e\u0435, \u043d\u043e \u043d\u0435 \u043e\u0431\u044f\u0437\u0430\u0442\u0435\u043b\u044c\u043d\u043e \u043f\u043e\u043b\u0435\u0437\u043d\u043e\u0435:<\/p>\n<ul>\n<li>\n<p><a href=\"https:\/\/github.com\/com-lihaoyi\/scalasql\"><u>ScalaSql<\/u><\/a> \u2014 \u0442\u0438\u043f\u043e\u0431\u0435\u0437\u043e\u043f\u0430\u0441\u043d\u044b\u0435 sql \u0437\u0430\u043f\u0440\u043e\u0441\u044b \u043e\u0442 lihaoyi. \u0421\u043e\u043e\u0442\u0432\u0435\u0442\u0441\u0442\u0432\u0443\u044e\u0449\u0438\u0439 \u0431\u043b\u043e\u0433-\u043f\u043e\u0441\u0442: <a href=\"https:\/\/www.lihaoyi.com\/post\/ScalaSqlaNewSQLDatabaseQueryLibraryforthecomlihaoyiScalaEcosystem.html\"><u>ScalaSql: a New SQL Database Query Library for the com-lihaoyi Scala Ecosystem.<\/u><\/a><\/p>\n<\/li>\n<li>\n<p><a href=\"https:\/\/sake92.github.io\/sharaf\/index.html\"><u>Sharaf<\/u><\/a> \u2014 \u043c\u0438\u043d\u0438\u043c\u0430\u043b\u0438\u0441\u0442\u0438\u0447\u043d\u044b\u0439 \u0432\u0435\u0431-\u0444\u0440\u0435\u0439\u043c\u0432\u043e\u0440\u043a. \u0415\u0441\u0442\u044c \u043f\u0440\u0438\u043c\u0435\u0440\u044b \u0437\u0430\u043f\u0443\u0441\u043a\u0430 \u0440\u0430\u0437\u043d\u044b\u0445 \u043f\u0440\u043e\u0435\u043a\u0442\u043e\u0432 \u043d\u0430 scala-cli, \u043d\u043e \u0434\u043e\u043a\u0443\u043c\u0435\u043d\u0442\u0430\u0446\u0438\u044f \u0445\u0440\u043e\u043c\u0430\u0435\u0442.<\/p>\n<\/li>\n<\/ul>\n<details class=\"spoiler\">\n<summary>\u0421\u044e\u0434\u0430 \u0441\u043f\u0440\u044f\u0442\u0430\u043b\u0438 \u0435\u0449\u0435 \u043a\u043e\u0435-\u0447\u0442\u043e \u0438\u043d\u0442\u0435\u0440\u0435\u0441\u043d\u043e\u0435. <\/summary>\n<div class=\"spoiler__content\">\n<ul>\n<li>\n<p><a href=\"https:\/\/github.com\/karadzhov\/scala-iso-language\"><u>scala-iso-language<\/u><\/a>;<\/p>\n<\/li>\n<li>\n<p><a href=\"https:\/\/www.reddit.com\/r\/quarkus\/comments\/18nrpum\/ive_made_a_quarkus_scala_3_quickstart_application\/\"><u>I\u2019ve made a Quarkus Scala 3 quickstart application based on Greet sample.<\/u><\/a><\/p>\n<\/li>\n<\/ul>\n<\/div>\n<\/details>\n<h2>Tooling<\/h2>\n<p>\u041a\u0443\u0441\u043e\u0447\u0435\u043a \u0434\u0430\u0439\u0434\u0436\u0435\u0441\u0442\u0430, \u0433\u0434\u0435 \u043c\u044b \u0440\u0430\u0441\u0441\u043a\u0430\u0437\u044b\u0432\u0430\u0435\u043c \u043e \u043f\u043e\u044f\u0432\u043b\u0435\u043d\u0438\u0438 \u043d\u043e\u0432\u044b\u0445 \u0438 \u0443\u043b\u0443\u0447\u0448\u0435\u043d\u0438\u0438 \u0441\u0443\u0449\u0435\u0441\u0442\u0432\u0443\u044e\u0449\u0438\u0445 \u0438\u043d\u0441\u0442\u0440\u0443\u043c\u0435\u043d\u0442\u043e\u0432 \u0434\u043b\u044f \u0440\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u043a\u0438:<\/p>\n<ul>\n<li>\n<p><a href=\"https:\/\/blog.jetbrains.com\/scala\/2023\/12\/21\/the-x-ray-mode\/\"><u>The X-Ray Mode<\/u><\/a> \u2014 \u0434\u043e\u0431\u0430\u0432\u0438\u043b\u0438 \u0431\u044b\u0441\u0442\u0440\u044b\u0439 \u0448\u043e\u0440\u0442\u043a\u0430\u0442 \u0434\u043b\u044f \u0432\u043a\u043b\u044e\u0447\u0435\u043d\u0438\u044f \u0438 \u0432\u044b\u043a\u043b\u044e\u0447\u0435\u043d\u0438\u044f \u043f\u043e\u0434\u0441\u043a\u0430\u0437\u043e\u043a \u043e\u0442 Intellij IDEA.<\/p>\n<\/li>\n<li>\n<p><a href=\"https:\/\/docs.scala-lang.org\/scala3\/guides\/migration\/options-lookup.html\"><u>This section contains the compiler options lookup tables<\/u><\/a> \u2014 \u0443\u0434\u043e\u0431\u043d\u0430\u044f \u0442\u0430\u0431\u043b\u0438\u0447\u043a\u0430 \u043f\u043e \u043c\u0438\u0433\u0440\u0430\u0446\u0438\u0438 \u043e\u043f\u0446\u0438\u0439 \u043a\u043e\u043c\u043f\u0438\u043b\u044f\u0442\u043e\u0440\u0430 \u0441\u043e Scala 2 \u043d\u0430 Scala 3.<\/p>\n<\/li>\n<\/ul>\n<h2>\u041a\u043e\u043c\u044c\u044e\u043d\u0438\u0442\u0438-\u0434\u0432\u0438\u0436<\/h2>\n<p>\u0420\u0430\u0437\u0434\u0435\u043b \u043a\u0443\u0440\u044c\u0435\u0437\u043d\u044b\u0445 \u0438 \u043b\u044e\u0431\u043e\u043f\u044b\u0442\u043d\u044b\u0445 \u0441\u043e\u0431\u044b\u0442\u0438\u0439 \u0432 \u043c\u0438\u0440\u0435 scala-\u043e\u0431\u0449\u0435\u0441\u0442\u0432\u0430, \u0438 \u043c\u044b \u0445\u043e\u0442\u0435\u043b\u0438 \u0431\u044b \u0432\u0438\u0434\u0435\u0442\u044c \u0435\u0433\u043e \u043e\u0431\u044a\u0435\u043c\u043d\u044b\u043c \u0438 \u0436\u0438\u0432\u044b\u043c. \u0415\u0441\u043b\u0438 \u0447\u0442\u043e-\u0442\u043e \u043f\u0440\u043e\u043f\u0443\u0441\u0442\u0438\u043b\u0438 \u0438\u043b\u0438 \u0443 \u0432\u0430\u0441 \u0435\u0441\u0442\u044c \u043f\u0440\u0435\u0434\u043b\u043e\u0436\u0435\u043d\u0438\u044f \u2014 \u0436\u0434\u0435\u043c \u0432 \u043a\u043e\u043c\u043c\u0435\u043d\u0442\u0430\u0440\u0438\u044f\u0445:<\/p>\n<ul>\n<li>\n<p><a href=\"https:\/\/github.com\/lampepfl\/dotty\/pull\/19395\"><u>Proposed new syntax to support Type Classes, by Martin Odersky<\/u><\/a> \u2014 \u0432 \u043e\u0447\u0435\u0440\u0435\u0434\u043d\u043e\u0439 \u0440\u0430\u0437 \u043f\u043e\u0434 \u043f\u0443\u043b\u043b-\u0440\u0435\u043a\u0432\u0435\u0441\u0442\u043e\u043c Martin Odersky \u0440\u0430\u0437\u0440\u0430\u0437\u0438\u043b\u0430\u0441\u044c \u0431\u0443\u0440\u044f. \u0412 \u043a\u043e\u043c\u043c\u0435\u043d\u0442\u0430\u0445 \u0432\u0441\u0442\u0440\u0435\u0447\u0430\u044e\u0442\u0441\u044f \u0438\u0437\u0432\u0435\u0441\u0442\u043d\u044b\u0435 \u0441\u0440\u0435\u0434\u0438 scala-\u043a\u043e\u043c\u044c\u044e\u043d\u0438\u0442\u0438 \u0438\u043c\u0435\u043d\u0430. \u0410 \u0435\u0441\u043b\u0438 \u0432\u0430\u043c \u043d\u0435 \u0445\u0432\u0430\u0442\u0430\u0435\u0442 \u043d\u0430\u043a\u0430\u043b\u0430 \u0441\u0442\u0440\u0430\u0441\u0442\u0435\u0439, \u043d\u0430 reddit-\u0435 \u043c\u043e\u0436\u043d\u043e \u043f\u043e\u0447\u0438\u0442\u0430\u0442\u044c <a href=\"https:\/\/www.reddit.com\/r\/scala\/comments\/195n4v8\/proposed_new_syntax_to_support_type_classes_by\/\"><u>\u043e\u0431\u0441\u0443\u0436\u0434\u0435\u043d\u0438\u0435.<\/u><\/a><\/p>\n<\/li>\n<li>\n<p><a href=\"https:\/\/www.reddit.com\/r\/scala\/comments\/195qk4u\/survey_why_have_you_stopped_using_scala_or_are\/\"><u>Survey: Why have you stopped using Scala or Are considering stopping soon?<\/u><\/a> \u2014 \u0443\u0434\u0430\u0440\u0438\u0432\u0448\u0438\u0439 \u0432 \u0441\u0430\u043c\u043e\u0435 \u0441\u0435\u0440\u0434\u0435\u0447\u043a\u043e \u043e\u043f\u0440\u043e\u0441 \u043e \u0442\u043e\u043c, \u043f\u043e\u0447\u0435\u043c\u0443 \u043b\u044e\u0434\u0438 \u043f\u0435\u0440\u0435\u0441\u0442\u0430\u043b\u0438 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u044c Scala. \u0421\u0430\u043c\u0430\u044f \u0447\u0430\u0441\u0442\u043e \u0443\u043f\u043e\u043c\u0438\u043d\u0430\u0435\u043c\u0430\u044f \u043f\u0440\u0438\u0447\u0438\u043d\u0430 \u0442\u0430\u043a\u0430\u044f: \u0431\u0438\u0437\u043d\u0435\u0441 \u043e\u0442\u043a\u0430\u0437\u044b\u0432\u0430\u0435\u0442\u0441\u044f \u043e\u0442 \u043d\u043e\u0432\u044b\u0445 \u043f\u0440\u043e\u0435\u043a\u0442\u043e\u0432 \u043d\u0430 Scala \u0438 \u043f\u0435\u0440\u0435\u0432\u043e\u0437\u0438\u0442 \u043d\u0430 \u0434\u0440\u0443\u0433\u043e\u0439 \u044f\u0437\u044b\u043a.<\/p>\n<\/li>\n<li>\n<p><a href=\"https:\/\/odersky.github.io\/blog\/2024-01-04-post.html\"><u>Some Memories of Niklaus Wirth<\/u><\/a> \u2014 \u00ab\u041d\u0430\u0440\u043e\u0434, \u0432\u0441\u0435, \u043a\u0442\u043e \u0437\u0430\u043d\u0438\u043c\u0430\u0435\u0442\u0441\u044f \u043f\u0440\u043e\u043c\u044b\u0448\u043b\u0435\u043d\u043d\u043e\u0439 \u0440\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u043a\u043e\u0439, \u0432\u0441\u0442\u0443\u043f\u0430\u0439\u0442\u0435 \u0432 \u043d\u0430\u0448 \u043a\u043b\u0430\u043d \u0441\u043a\u0430\u043b\u0438\u0441\u0442\u043e\u0432. \u0422\u0430\u043c \u0431\u044b\u043b \u044f, \u0442\u0430\u043c \u0431\u044b\u043b \u041b\u0435\u0445\u0430. \u0425\u043e\u0440\u043e\u0448\u0438\u0439 \u044f\u0437\u044b\u043a, \u043d\u043e \u0449\u0430\u0441 \u0437\u0430\u0433\u043d\u0438\u0432\u0430\u0435\u0442\u00bb. \u0423 Martin Odersky \u043f\u043e\u044f\u0432\u0438\u043b\u0441\u044f \u0431\u043b\u043e\u0433, \u0438 \u041d\u0430\u0441\u0442\u044f \u043d\u0430\u0445\u043e\u0434\u0438\u0442 \u0441\u0443\u043f\u0435\u0440\u0438\u0440\u043e\u043d\u0438\u0447\u043d\u044b\u043c \u0442\u043e, \u0447\u0442\u043e \u043f\u0435\u0440\u0432\u044b\u0439 \u043f\u043e\u0441\u0442 \u2014 \u044d\u0442\u043e \u043d\u0435\u043a\u0440\u043e\u043b\u043e\u0433, \u0432 \u043a\u043e\u0442\u043e\u0440\u043e\u043c \u0432\u043e\u0441\u0445\u0438\u0449\u0430\u044e\u0442\u0441\u044f \u043f\u0440\u043e\u0441\u0442\u043e\u0442\u043e\u0439 \u0438 \u043b\u0430\u043a\u043e\u043d\u0438\u0447\u043d\u043e\u0441\u0442\u044c\u044e \u044f\u0437\u044b\u043a\u043e\u0432 \u0438 \u043a\u043e\u043c\u043f\u0438\u043b\u044f\u0442\u043e\u0440\u043e\u0432.<\/p>\n<\/li>\n<\/ul>\n<p><strong>\u0420\u0443\u0431\u0440\u0438\u043a\u0430 \u00ab\u0413\u043e\u0442\u043e\u0432\u0438\u043c \u0441 \u0430\u0439\u0442\u0438\u0448\u043d\u0438\u043a\u0430\u043c\u0438 \u0432\u043c\u0435\u0441\u0442\u0435\u00bb:<\/strong><\/p>\n<ul>\n<li>\n<p><a href=\"https:\/\/eed3si9n.com\/vegan-osechi-2024\/\"><u>vegan osechi 2024<\/u><\/a> \u2014 \u0443 \u0430\u0437\u0438\u0430\u0442\u043e\u0432 \u0434\u043e\u043c\u0430\u0448\u043d\u0438\u0435 \u0440\u043e\u043b\u043b\u044b \u0442\u0430\u043a\u0438\u0435 \u0436\u0435 \u0441\u0442\u0440\u0430\u0448\u043d\u044b\u0435, \u043a\u0430\u043a \u0438 \u0443 \u043d\u0430\u0441. \u0422\u0430\u043a \u0447\u0442\u043e \u0432\u0441\u0435 \u043d\u043e\u0440\u043c.<\/p>\n<\/li>\n<li>\n<p><a href=\"https:\/\/alexn.org\/blog\/2024\/01\/01\/new-year-resolutions\/\"><u>New Year Resolutions<\/u><\/a> \u2014 Alexandru Nedelcu \u0443\u0447\u0438\u0442 \u043d\u0430\u0441, \u043a\u0430\u043a \u043f\u0440\u0430\u0432\u0438\u043b\u044c\u043d\u043e \u0445\u0443\u0434\u0435\u0442\u044c.<\/p>\n<\/li>\n<li>\n<p><a href=\"https:\/\/blog.dtth.ch\/nki\/chef-thuy-phams-thit-kho-tau-recipe\"><u>Chef Thuy Pham\u2019s \u201cTh\u1ecbt Kho T\u00e0u\u201d recipe<\/u><\/a> \u2014 \u043a\u043e\u043d\u0442\u0440\u0438\u0431\u044c\u044e\u0442\u043e\u0440 \u0432 dotty, \u043e \u043a\u043e\u0442\u043e\u0440\u043e\u043c \u043c\u044b \u043f\u0438\u0441\u0430\u043b\u0438 \u0432 \u0440\u0443\u0431\u0440\u0438\u043a\u0435 \u00ab\u0421\u0442\u0430\u0442\u044c\u0438\u00bb, \u0434\u0435\u043b\u0438\u0442\u0441\u044f \u0440\u0435\u0446\u0435\u043f\u0442\u043e\u043c Th\u1ecbt Kho T\u00e0u (\u0447\u0442\u043e \u044d\u0442\u043e?)<\/p>\n<\/li>\n<\/ul>\n<figure class=\"full-width\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/habrastorage.org\/r\/w1560\/getpro\/habr\/upload_files\/68a\/152\/36f\/68a15236fa0b1d941278a1ef1d789ea2.png\" width=\"604\" height=\"378\" data-src=\"https:\/\/habrastorage.org\/getpro\/habr\/upload_files\/68a\/152\/36f\/68a15236fa0b1d941278a1ef1d789ea2.png\"\/><\/figure>\n<details class=\"spoiler\">\n<summary>\u0410 \u0442\u0443\u0442 \u0435\u0449\u0435 \u043d\u0435\u0441\u043a\u043e\u043b\u044c\u043a\u043e \u0438\u043d\u0442\u0435\u0440\u0435\u0441\u043d\u044b\u0445 \u0440\u0435\u0441\u0443\u0440\u0441\u043e\u0432.<\/summary>\n<div class=\"spoiler__content\">\n<ul>\n<li>\n<p><a href=\"https:\/\/scala-lang.org\/blog\/2024\/01\/10\/advent-of-code-recap.html\"><u>Advent of Code Recap 2023!<\/u><\/a>;<\/p>\n<\/li>\n<li>\n<p><a href=\"https:\/\/alexn.org\/blog\/2024\/01\/10\/scala-future\/\"><u>Scala\u2019s Future<\/u><\/a>;<\/p>\n<\/li>\n<li>\n<p><a href=\"https:\/\/scalac.io\/blog\/scalacs-summary-of-2023-the-road-so-far\/\"><u>Scalac\u2019s Summary of 2023: The Road So Far<\/u><\/a>;<\/p>\n<\/li>\n<li>\n<p><a href=\"https:\/\/softwaremill.com\/my-scala-story-jakub-kozlowski\/\"><u>Jakub Koz\u0142owski \u2014 My Scala Story.<\/u><\/a><\/p>\n<\/li>\n<\/ul>\n<\/div>\n<\/details>\n<p>\u0414\u043e \u0432\u0441\u0442\u0440\u0435\u0447\u0438 \u0447\u0435\u0440\u0435\u0437 \u043c\u0435\u0441\u044f\u0446! \u2661\uff3c(\uffe3\u25bd\uffe3)\uff0f\u2661<\/p>\n<p>\u041d\u0430\u0434 \u0434\u0430\u0439\u0434\u0436\u0435\u0441\u0442\u043e\u043c \u0440\u0430\u0431\u043e\u0442\u0430\u043b\u0438 <a class=\"mention\" href=\"\/users\/Melkaya_150cm\">@Melkaya_150cm<\/a>, <a class=\"mention\" href=\"\/users\/Ivoya\">@Ivoya<\/a>, <a class=\"mention\" href=\"\/users\/tcarina\">@tcarina<\/a>. \u0412\u0430\u0448\u0438 \u0438\u0434\u0435\u0438, \u043f\u0440\u0435\u0434\u043b\u043e\u0436\u0435\u043d\u0438\u044f, \u043e\u0431\u0440\u0430\u0442\u043d\u0443\u044e \u0441\u0432\u044f\u0437\u044c \u0441 \u0443\u0434\u043e\u0432\u043e\u043b\u044c\u0441\u0442\u0432\u0438\u0435\u043c \u0436\u0434\u0435\u043c \u0432 \u043a\u043e\u043c\u043c\u0435\u043d\u0442\u0430\u0440\u0438\u044f\u0445! &lt;(\uffe3\ufe36\uffe3)><\/p>\n<p>\u0410 \u0435\u0441\u043b\u0438 \u0432\u0430\u043c \u0435\u0441\u0442\u044c \u0447\u0435\u043c \u043f\u043e\u0434\u0435\u043b\u0438\u0442\u044c\u0441\u044f, <a href=\"https:\/\/polls.tinkoff.ru\/s\/clqqit42h01nr01kfb8d8198y\"><u>\u0432\u044b \u043c\u043e\u0436\u0435\u0442\u0435 \u0437\u0430\u043d\u0435\u0441\u0442\u0438 \u0441\u043e\u0431\u0441\u0442\u0432\u0435\u043d\u043d\u044b\u0435 \u043c\u0430\u0442\u0435\u0440\u0438\u0430\u043b\u044b<\/u><\/a> \u2014 \u043c\u044b \u043e\u0431\u044f\u0437\u0430\u0442\u0435\u043b\u044c\u043d\u043e \u043e\u0442\u0431\u043b\u0430\u0433\u043e\u0434\u0430\u0440\u0438\u043c \u0432\u0430\u0441 \u0437\u0430 \u0443\u0447\u0430\u0441\u0442\u0438\u0435 \u0432 \u0441\u043b\u0435\u0434\u0443\u044e\u0449\u0435\u043c \u0432\u044b\u043f\u0443\u0441\u043a\u0435!<\/p>\n<p>\u041f\u0440\u0435\u0434\u044b\u0434\u0443\u0449\u0438\u0435 \u0432\u044b\u043f\u0443\u0441\u043a\u0438:<\/p>\n<ul>\n<li>\n<p><a href=\"https:\/\/habr.com\/ru\/company\/tinkoff\/articles\/715604\/\"><u>Scala Digest #1<\/u><\/a><\/p>\n<\/li>\n<li>\n<p><a href=\"https:\/\/habr.com\/ru\/companies\/tinkoff\/articles\/719926\/\"><u>Scala Digest #2<\/u><\/a><\/p>\n<\/li>\n<li>\n<p><a href=\"https:\/\/habr.com\/ru\/companies\/tinkoff\/articles\/726530\/\"><u>Scala Digest #3<\/u><\/a><\/p>\n<\/li>\n<li>\n<p><a href=\"https:\/\/habr.com\/ru\/companies\/tinkoff\/articles\/732306\/\"><u>Scala Digest #4<\/u><\/a><\/p>\n<\/li>\n<li>\n<p><a href=\"https:\/\/habr.com\/ru\/companies\/tinkoff\/articles\/739162\/\"><u>Scala Digest #5<\/u><\/a><\/p>\n<\/li>\n<li>\n<p><a href=\"https:\/\/habr.com\/ru\/companies\/tinkoff\/articles\/745214\/\"><u>Scala Digest #6<\/u><\/a><\/p>\n<\/li>\n<li>\n<p><a href=\"https:\/\/habr.com\/ru\/companies\/tinkoff\/articles\/751728\/\"><u>Scala Digest #7<\/u><\/a><\/p>\n<\/li>\n<li>\n<p><a href=\"https:\/\/habr.com\/ru\/companies\/tinkoff\/articles\/758224\/\"><u>Scala Digest #8<\/u><\/a><\/p>\n<\/li>\n<li>\n<p><a href=\"https:\/\/habr.com\/ru\/companies\/tinkoff\/articles\/764768\/\"><u>Scala Digest #9<\/u><\/a><\/p>\n<\/li>\n<li>\n<p><a href=\"https:\/\/habr.com\/ru\/companies\/tinkoff\/articles\/770964\/\"><u>Scala Digest #10<\/u><\/a><\/p>\n<\/li>\n<li>\n<p><a href=\"https:\/\/habr.com\/ru\/companies\/tinkoff\/articles\/777884\/\"><u>Scala Digest #11<\/u><\/a><\/p>\n<\/li>\n<li>\n<p><a href=\"https:\/\/habr.com\/ru\/companies\/tinkoff\/articles\/784044\/\"><u>Scala Digest #12<\/u><\/a><\/p>\n<\/li>\n<\/ul>\n<\/div>\n<\/div>\n<\/div>\n<p><!----><!----><\/div>\n<p><!----><!----><br \/> \u0441\u0441\u044b\u043b\u043a\u0430 \u043d\u0430 \u043e\u0440\u0438\u0433\u0438\u043d\u0430\u043b \u0441\u0442\u0430\u0442\u044c\u0438 <a href=\"https:\/\/habr.com\/ru\/articles\/790650\/\"> https:\/\/habr.com\/ru\/articles\/790650\/<\/a><\/p>\n","protected":false},"excerpt":{"rendered":"<div><!--[--><!--]--><\/div>\n<div id=\"post-content-body\">\n<div>\n<div class=\"article-formatted-body article-formatted-body article-formatted-body_version-2\">\n<div xmlns=\"http:\/\/www.w3.org\/1999\/xhtml\">\n<figure class=\"full-width\"><\/figure>\n<p>\u041f\u0440\u0438\u0432\u0435\u0442, \u0425\u0430\u0431\u0440! \u041c\u044b \u2014 <a href=\"https:\/\/habr.com\/ru\/users\/Ivoya\/\"><u>\u0420\u043e\u043c\u0430<\/u><\/a>, <a href=\"https:\/\/habr.com\/ru\/users\/Melkaya_150cm\/\"><u>\u041d\u0430\u0441\u0442\u044f<\/u><\/a> \u0438 <a href=\"https:\/\/habr.com\/ru\/users\/tcarina\/\"><u>\u041a\u0430\u0440\u0438\u043d\u0430<\/u><\/a> \u2014 \u0431\u044d\u043a\u0435\u043d\u0434-\u0440\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u0447\u0438\u043a\u0438 \u0422\u0438\u043d\u044c\u043a\u043e\u0444\u0444, \u043f\u0438\u0448\u0435\u043c \u043a\u043e\u0434 \u043d\u0430 Scala \u0438 \u0433\u043e\u0440\u0438\u043c \u0436\u0435\u043b\u0430\u043d\u0438\u0435\u043c \u0435\u0433\u043e \u043f\u043e\u043f\u0443\u043b\u044f\u0440\u0438\u0437\u0438\u0440\u043e\u0432\u0430\u0442\u044c.<\/p>\n<p>\u041c\u044b \u0441\u043e\u0431\u0438\u0440\u0430\u0435\u043c \u0438 \u0430\u0433\u0440\u0435\u0433\u0438\u0440\u0443\u0435\u043c \u043d\u043e\u0432\u043e\u0441\u0442\u0438 \u0438\u0437 \u0440\u0430\u0437\u043d\u044b\u0445 \u0438\u0441\u0442\u043e\u0447\u043d\u0438\u043a\u043e\u0432, \u0432\u043a\u043b\u044e\u0447\u0430\u044f <a href=\"https:\/\/scalatimes.com\/\"><u>Scala Times<\/u><\/a>, <a href=\"https:\/\/petr-zapletal.medium.com\/\"><u>\u0431\u043b\u043e\u0433 Petr Zapletal<\/u><\/a> \u0438 <a href=\"https:\/\/t.me\/scala_channel_ru\"><u>\u043a\u0430\u043d\u0430\u043b Scala Nishtyaki<\/u><\/a>, \u0434\u043e\u0431\u0430\u0432\u043b\u044f\u0435\u043c \u0434\u043e\u043f\u043e\u043b\u043d\u0438\u0442\u0435\u043b\u044c\u043d\u044b\u0435 \u043d\u043e\u0432\u043e\u0441\u0442\u0438 \u0438 \u0441\u043e\u0431\u0441\u0442\u0432\u0435\u043d\u043d\u044b\u0435 \u043a\u043e\u043c\u043c\u0435\u043d\u0442\u0430\u0440\u0438\u0438. \u0421\u0432\u043e\u044e \u043c\u043e\u0442\u0438\u0432\u0430\u0446\u0438\u044e \u0447\u0435\u0440\u043f\u0430\u0435\u043c \u0438\u0437 \u0436\u0435\u043b\u0430\u043d\u0438\u044f \u0440\u0430\u0437\u0432\u0438\u0432\u0430\u0442\u044c\u0441\u044f \u0438 \u0434\u0435\u043b\u0438\u0442\u044c\u0441\u044f \u043f\u043e\u043b\u0443\u0447\u0435\u043d\u043d\u044b\u043c\u0438 \u0437\u043d\u0430\u043d\u0438\u044f\u043c\u0438. \u041f\u0440\u0438\u0432\u0435\u0442\u0441\u0442\u0432\u0443\u0435\u043c \u043b\u044e\u0431\u0443\u044e \u043e\u0431\u0440\u0430\u0442\u043d\u0443\u044e \u0441\u0432\u044f\u0437\u044c! (\u3065 \u25d5\u203f\u25d5 )\u3065<\/p>\n<h2>\u0420\u0435\u043b\u0438\u0437\u044b<\/h2>\n<p>\u0421\u043e\u0431\u0440\u0430\u043b\u0438 \u043f\u043e\u0441\u043b\u0435\u0434\u043d\u0438\u0435 \u043e\u0431\u043d\u043e\u0432\u043b\u0435\u043d\u0438\u044f \u043f\u043e\u043f\u0443\u043b\u044f\u0440\u043d\u044b\u0445 \u0438 \u043f\u043e\u043b\u0435\u0437\u043d\u044b\u0445 \u0431\u0438\u0431\u043b\u0438\u043e\u0442\u0435\u043a \u0437\u0430 \u043f\u0430\u0440\u0443 \u043c\u0435\u0441\u044f\u0446\u0435\u0432:<\/p>\n<ul>\n<li>\n<p><a href=\"https:\/\/www.reddit.com\/r\/scala\/comments\/191gq4d\/new_releases_indigo_0160_tyrian_090_and_more\/\"><u>New releases! Indigo 0.16.0, Tyrian 0.9.0, and more! ?<\/u><\/a> \u2014 \u0441\u0432\u0435\u0436\u0438\u0435 \u0440\u0435\u043b\u0438\u0437\u044b \u043c\u043e\u0434\u043d\u0435\u043d\u044c\u043a\u0438\u0445 \u0431\u0438\u0431\u043b\u0438\u043e\u0442\u0435\u0447\u0435\u043a \u0434\u043b\u044f Scala.js. \u041e\u0442\u0434\u0435\u043b\u044c\u043d\u043e \u0437\u0430\u0446\u0435\u043d\u0438\u0442\u0435 \u0441\u0438\u043c\u043f\u0430\u0442\u044f\u0433\u0443 <a href=\"https:\/\/github.com\/PurpleKingdomGames\/roguelike-starterkit\"><u>roguelike-starterkit<\/u><\/a>. \u042d\u0445, \u0441\u0435\u0439\u0447\u0430\u0441 \u0431\u044b \u0437\u0430\u043b\u0438\u043f\u043d\u0443\u0442\u044c \u0432 nethack \u0438\u043b\u0438 dungeon crawl \u043d\u0430 Scala.js \u0432 \u0431\u0440\u0430\u0443\u0437\u0435\u0440\u0435\u2026<\/p>\n<\/li>\n<li>\n<p><a href=\"https:\/\/github.com\/scalalandio\/chimney\/releases\/tag\/0.8.5\"><u>chimney 0.8.5<\/u><\/a> \u2014 \u0440\u0435\u0431\u044f\u0442\u0430 \u043f\u043e\u0434\u0440\u043e\u0431\u043d\u043e \u0440\u0430\u0441\u043f\u0438\u0441\u0430\u043b\u0438, \u0447\u0435\u043c \u043e\u043d\u0438 \u0431\u044b\u043b\u0438 \u0437\u0430\u043d\u044f\u0442\u044b \u043f\u043e\u0441\u043b\u0435\u0434\u043d\u0435\u0435 \u0432\u0440\u0435\u043c\u044f, \u0438 \u043f\u0440\u0430\u043a\u0442\u0438\u0447\u0435\u0441\u043a\u0438 \u043f\u043e\u043e\u0431\u0435\u0449\u0430\u043b\u0438 1.0.0 \u0432\u0435\u0440\u0441\u0438\u044e \u0432 2024-\u043c!<\/p>\n<\/li>\n<li>\n<p><a href=\"https:\/\/github.com\/typelevel\/cats-effect\/releases\/tag\/v3.5.3\"><u>cats-effect 3.5.3<\/u><\/a> \u2014 breaking changes;<\/p>\n<\/li>\n<li>\n<p><a href=\"https:\/\/github.com\/VirtusLab\/scala-cli\/releases\"><u>scala-cli 1.1.1 \u2014 1.1.2<\/u><\/a>;<\/p>\n<\/li>\n<li>\n<p><a href=\"https:\/\/www.scala-native.org\/en\/stable\/changelog\/0.4.17.html\"><u>scala-native 0.4.17<\/u><\/a>;<\/p>\n<\/li>\n<li>\n<p><a href=\"https:\/\/github.com\/com-lihaoyi\/mill\/releases\"><u>mill 0.10.14 \u2014 0.10.15<\/u><\/a>;<\/p>\n<\/li>\n<li>\n<p><a href=\"https:\/\/github.com\/lampepfl\/dotty\/releases\/tag\/3.4.0-RC2\"><u>dotty 3.4.0-RC2<\/u><\/a>;<\/p>\n<\/li>\n<li>\n<p><a href=\"https:\/\/github.com\/disneystreaming\/smithy4s\/releases\/tag\/v0.18.6\"><u>smithy4s 0.18.6<\/u><\/a>;<\/p>\n<\/li>\n<li>\n<p><a href=\"https:\/\/github.com\/fthomas\/refined\/releases\/tag\/v0.11.1\"><u>refined 0.11.1<\/u><\/a>;<\/p>\n<\/li>\n<li>\n<p><a href=\"https:\/\/github.com\/scalatra\/scalatra\/releases\/tag\/v3.1.0-M1\"><u>scalatra 3.1.0-M1<\/u><\/a>;<\/p>\n<\/li>\n<li>\n<p><a href=\"https:\/\/github.com\/softwaremill\/sttp\/releases\/tag\/v3.9.2\"><u>sttp 3.9.2<\/u><\/a>;<\/p>\n<\/li>\n<li>\n<p><a href=\"https:\/\/github.com\/softwaremill\/tapir\/releases\/tag\/v1.9.7\"><u>tapir 1.9.7<\/u><\/a>;<\/p>\n<\/li>\n<li>\n<p><a href=\"https:\/\/github.com\/typelevel\/fs2\/releases\/tag\/v3.9.4\"><u>fs2 3.9.4<\/u><\/a>;<\/p>\n<\/li>\n<li>\n<p><a href=\"https:\/\/github.com\/typelevel\/kittens\/releases\/tag\/v3.2.0\"><u>kittens 3.2.0<\/u><\/a>;<\/p>\n<\/li>\n<li>\n<p><a href=\"https:\/\/github.com\/zio\/zio\/releases\/tag\/v2.0.21\"><u>zio 2.0.21<\/u><\/a>;<\/p>\n<\/li>\n<li>\n<p><a href=\"https:\/\/github.com\/zio\/zio-config\/releases\/tag\/v4.0.1\"><u>zio-config 4.0.1<\/u><\/a>;<\/p>\n<\/li>\n<li>\n<p><a href=\"https:\/\/github.com\/zio\/zio-kafka\/releases\/tag\/v2.7.2\"><u>zio-kafka 2.7.2<\/u><\/a>;<\/p>\n<\/li>\n<li>\n<p><a href=\"https:\/\/github.com\/zio\/zio-quill\/releases\/tag\/v4.8.1\"><u>zio-quill 4.8.1<\/u><\/a>;<\/p>\n<\/li>\n<li>\n<p><a href=\"https:\/\/github.com\/leviysoft\/oolong\/releases\/tag\/v0.4.0\"><u>oolong 0.4.0.<\/u><\/a><\/p>\n<\/li>\n<\/ul>\n<h2>Tinkoff Scala meetup &amp; open-source<\/h2>\n<p>\u0420\u0443\u0431\u0440\u0438\u043a\u0430 \u0434\u043b\u044f \u043c\u0438\u0442\u0430\u043f\u043e\u0432 \u0438 \u0440\u0435\u043b\u0438\u0437\u043e\u0432 \u0431\u0438\u0431\u043b\u0438\u043e\u0442\u0435\u043a \u0438 \u0444\u0440\u0435\u0439\u043c\u0432\u043e\u0440\u043a\u043e\u0432, \u0440\u043e\u0436\u0434\u0435\u043d\u043d\u044b\u0445 \u0432 \u043d\u0435\u0434\u0440\u0430\u0445 scala-\u043a\u043e\u043c\u044c\u044e\u043d\u0438\u0442\u0438 \u0422\u0438\u043d\u044c\u043a\u043e\u0444\u0444:<\/p>\n<ul>\n<li>\n<p><a href=\"https:\/\/habr.com\/ru\/companies\/tinkoff\/articles\/787638\/\"><u>\u041a\u0430\u043a \u043c\u043e\u0442\u0438\u0432\u0438\u0440\u043e\u0432\u0430\u0442\u044c \u0440\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u0447\u0438\u043a\u0430 \u0437\u0430\u043d\u0438\u043c\u0430\u0442\u044c\u0441\u044f \u043a\u043e\u043d\u0442\u0440\u0438\u0431\u044c\u044e\u0442\u0438\u043d\u0433\u043e\u043c, \u0430 \u0433\u043b\u0430\u0432\u043d\u043e\u0435, \u0434\u043b\u044f \u0447\u0435\u0433\u043e<\/u><\/a> \u2014 \u043d\u0430\u0448 DevRel, \u0410\u043b\u0441\u0443 \u0417\u0430\u0438\u0442\u043e\u0432\u0430, \u043f\u0440\u0438\u043e\u0442\u043a\u0440\u044b\u0432\u0430\u0435\u0442 \u0448\u0438\u0440\u043c\u0443 \u0432\u043d\u0443\u0442\u0440\u0435\u043d\u043d\u0435\u0439 \u043a\u0443\u0445\u043d\u0438 \u0422\u0438\u043d\u044c\u043a\u043e\u0444\u0444: \u043e \u043f\u0440\u043e\u0448\u0435\u0434\u0448\u0435\u043c \u043c\u0435\u0441\u044f\u0446\u0435 \u043a\u043e\u043d\u0442\u0440\u0438\u0431\u044c\u044e\u0442\u0438\u043d\u0433\u0430 \u0432 open source Scala. \u041e\u0434\u0438\u043d \u0438\u0437 \u0447\u043b\u0435\u043d\u043e\u0432 \u0440\u0435\u0434\u0430\u043a\u0446\u0438\u0438 \u0442\u0430\u043a\u0436\u0435 \u043f\u0440\u0438\u043d\u0438\u043c\u0430\u043b \u0443\u0447\u0430\u0441\u0442\u0438\u0435 \u0432 \u043c\u0435\u0440\u043e\u043f\u0440\u0438\u044f\u0442\u0438\u0438 \u0438 \u0441\u0434\u0435\u043b\u0430\u043b \u043d\u0435\u0431\u043e\u043b\u044c\u0448\u043e\u0439 \u043a\u043e\u043c\u043c\u0438\u0442 \u0432 mill. <\/p>\n<\/li>\n<\/ul>\n<blockquote>\n<p>\u0410 \u0437\u0434\u0435\u0441\u044c \u043c\u043e\u0433\u043b\u0430 \u0431\u044b\u0442\u044c \u0432\u0430\u0448\u0430 \u0441\u0442\u0430\u0442\u044c\u044f \ud83d\ude42 <a href=\"https:\/\/polls.tinkoff.ru\/s\/clqqit42h01nr01kfb8d8198y\">\u041f\u0440\u0438\u0441\u044b\u043b\u0430\u0439\u0442\u0435 \u043d\u043e\u0432\u043e\u0441\u0442\u0438, <\/a>\u043a\u043e\u0442\u043e\u0440\u044b\u0435 \u0445\u043e\u0442\u0438\u0442\u0435 \u0443\u0432\u0438\u0434\u0435\u0442\u044c \u0432 \u0434\u0430\u0439\u0434\u0436\u0435\u0441\u0442\u0435, \u0430 \u043c\u044b \u0441\u043a\u0430\u0436\u0435\u043c \u0432\u0430\u043c \u0441\u043f\u0430\u0441\u0438\u0431\u043e \u0432 \u0441\u043b\u0435\u0434\u0443\u044e\u0449\u0435\u043c \u0432\u044b\u043f\u0443\u0441\u043a\u0435! <\/p>\n<\/blockquote>\n<h2>\u0421\u0442\u0430\u0442\u044c\u0438<\/h2>\n<p>\u0412 \u044d\u0442\u043e\u043c \u0440\u0430\u0437\u0434\u0435\u043b\u0435 \u0441\u0432\u0435\u0436\u0438\u0435 \u0441\u0442\u0430\u0442\u044c\u0438, \u0440\u0435\u043f\u043e\u0437\u0438\u0442\u043e\u0440\u0438\u0438 \u0438 \u0438\u0441\u0441\u043b\u0435\u0434\u043e\u0432\u0430\u043d\u0438\u044f, \u043a\u043e\u0442\u043e\u0440\u044b\u0435 \u043d\u0430\u043c \u043f\u043e\u043a\u0430\u0437\u0430\u043b\u0438\u0441\u044c \u0438\u043d\u0442\u0435\u0440\u0435\u0441\u043d\u044b\u043c\u0438. \u0412 \u043e\u0442\u0434\u0435\u043b\u044c\u043d\u044b\u0439 \u0431\u043b\u043e\u043a \u0432\u044b\u043d\u0435\u0441\u043b\u0438 \u0440\u0435\u0441\u0443\u0440\u0441\u044b, \u0433\u0434\u0435 \u0430\u0432\u0442\u043e\u0440\u044b \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u044e\u0442 Scala 3. Enjoy:<\/p>\n<ul>\n<li>\n<p><a href=\"https:\/\/speakerdeck.com\/fwbrasil\/kyo-functional-scala-2023\"><u>Kyo released at Functional Scala! ?<\/u><\/a> \u2014 \u0432\u0441\u0442\u0440\u0435\u0447\u0430\u0435\u043c \u043d\u043e\u0432\u043e\u0433\u043e \u0437\u0432\u0435\u0440\u044f! \u041d\u043e\u0432\u0430\u044f \u0441\u0438\u0441\u0442\u0435\u043c\u0430 \u0430\u043b\u0433\u0435\u0431\u0440\u0430\u0438\u0447\u0435\u0441\u043a\u0438\u0445 \u044d\u0444\u0444\u0435\u043a\u0442\u043e\u0432 Kyo \u0442\u0435\u043f\u0435\u0440\u044c \u0442\u043e\u0436\u0435 \u0443\u0447\u0430\u0441\u0442\u0432\u0443\u0435\u0442 \u0432 \u0443\u043b\u0438\u0447\u043d\u044b\u0445 \u0433\u043e\u043d\u043a\u0430\u0445.<\/p>\n<\/li>\n<li>\n<p><a href=\"https:\/\/www.scalamatters.io\/post\/writing-modular-applications-using-the-kyo-library\"><u>Writing Modular Applications Using The Kyo Library<\/u><\/a> \u2014 \u043f\u0435\u0440\u0432\u044b\u0435 \u043f\u0440\u043e\u0431\u044b \u043f\u0435\u0440\u0430 \u0432 \u0441\u0432\u0435\u0436\u0435\u0438\u0441\u043f\u0435\u0447\u0435\u043d\u043d\u043e\u043c \u0444\u0440\u0435\u0439\u043c\u0432\u043e\u0440\u043a\u0435 Kyo \u043d\u0430 \u043f\u0440\u0438\u043c\u0435\u0440\u0435 \u043a\u0440\u0435\u0441\u0442\u0438\u043a\u043e\u0432-\u043d\u043e\u043b\u0438\u043a\u043e\u0432. \u0412\u044b\u0433\u043b\u044f\u0434\u0438\u0442 \u043d\u0435\u043e\u0431\u044b\u0447\u043d\u043e \u0438 \u0441\u0438\u043b\u044c\u043d\u043e \u043d\u0430\u043f\u043e\u043c\u0438\u043d\u0430\u0435\u0442 \u043a\u0443\u0441\u043e\u0447\u043a\u0438 \u043a\u043e\u0434\u0430 \u0438\u0437 <a href=\"http:\/\/youtube.com\/watch?v=QRcD9Zc7eq4\"><u>\u0434\u043e\u043a\u043b\u0430\u0434\u0430 Martin Odersky \u043e Caprese.<\/u><\/a> \u0418\u043d\u0442\u0435\u0440\u0435\u0441\u043d\u043e \u0443\u0432\u0438\u0434\u0435\u0442\u044c \u044d\u043a\u0441\u043f\u0435\u0440\u0438\u043c\u0435\u043d\u0442\u044b \u0441 \u043d\u0430\u043f\u0438\u0441\u0430\u043d\u0438\u0435\u043c \u0430\u0441\u0438\u043d\u0445\u0440\u043e\u043d\u043d\u043e\u0433\u043e \u0438\u043b\u0438 \u043a\u043e\u043d\u043a\u0443\u0440\u0435\u043d\u0442\u043d\u043e\u0433\u043e \u043a\u043e\u0434\u0430 \u0438 \u0441\u0435\u0440\u0432\u0435\u0440\u043d\u044b\u0445 \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u0439.<\/p>\n<\/li>\n<li>\n<p><a href=\"https:\/\/lichess.org\/@\/thibault\/blog\/lichess--scala-3\/y1sbYzJX\"><u>Lichess &amp; Scala 3.<\/u><\/a> Lichess \u2014 \u043e\u0434\u0438\u043d \u0438\u0437 \u043b\u0443\u0447\u0448\u0438\u0445 \u0441\u0430\u0439\u0442\u043e\u0432 \u0434\u043b\u044f \u0438\u0433\u0440\u044b \u0432 \u0448\u0430\u0445\u043c\u0430\u0442\u044b. \u041f\u0435\u0440\u0435\u0435\u0445\u0430\u043b \u0441\u043e Scala 2 \u043d\u0430 Scala 3. \u0417\u0430\u0431\u0430\u0432\u043d\u043e, \u0447\u0442\u043e \u0432 \u043f\u0440\u043e\u0446\u0435\u0441\u0441\u0435 \u0444\u043e\u0440\u043a\u043d\u0443\u0442, \u043a\u0430\u0441\u0442\u0440\u0438\u0440\u043e\u0432\u0430\u043d \u0438 \u043c\u0438\u0433\u0440\u0438\u0440\u043e\u0432\u0430\u043d Play Framework \u043f\u043e\u0434 \u044d\u0442\u0443 \u0446\u0435\u043b\u044c.<\/p>\n<\/li>\n<li>\n<p><a href=\"https:\/\/www.scalamatters.io\/post\/sealed-traits-vs-enums-for-adts\"><u>Sealed Traits Vs Enums for ADTs<\/u><\/a> \u2014 \u0441\u043c\u043e\u0442\u0440\u0438\u043c, \u043a\u0442\u043e \u043b\u0443\u0447\u0448\u0435 \u043f\u043b\u044f\u0448\u0435\u0442 \u0432 \u0440\u0430\u0437\u043d\u044b\u0445 \u0441\u0446\u0435\u043d\u0430\u0440\u0438\u044f\u0445: sealed trait-\u044b \u0438\u043b\u0438 enum-\u044b.<\/p>\n<\/li>\n<li>\n<p><a href=\"https:\/\/softwaremill.com\/building-the-right-thing\/\"><u>Building the Right Thing<\/u><\/a> \u2014 \u043e \u0442\u043e\u043c, \u0447\u0442\u043e \u0445\u043e\u0440\u043e\u0448\u0438\u0439 \u043f\u0440\u043e\u0434\u0443\u043a\u0442 \u0434\u0435\u0440\u0436\u0438\u0442\u0441\u044f \u043a\u0430\u043a \u043d\u0430 \u0438\u043d\u0436\u0435\u043d\u0435\u0440\u0430\u0445, \u0442\u0430\u043a \u0438 \u043d\u0430 \u0431\u0438\u0437\u043d\u0435\u0441\u0435. \u0418\u043d\u0430\u0447\u0435 \u0433\u043e\u0432\u043e\u0440\u044f, \u0434\u0435\u043b\u0430\u0439\u0442\u0435 \u0445\u043e\u0440\u043e\u0448\u0435\u0435, \u0430 \u043f\u043b\u043e\u0445\u043e\u0435 \u043d\u0435 \u0434\u0435\u043b\u0430\u0439\u0442\u0435.<\/p>\n<\/li>\n<li>\n<p><a href=\"https:\/\/valentin.willscher.de\/posts\/scala-praise\/\"><u>Scala\u2019s great ecosystem<\/u><\/a> \u2014 \u0437\u0434\u0435\u0441\u044c \u043d\u0435\u0442 \u043d\u0438 \u0441\u0442\u0440\u043e\u0447\u043a\u0438 \u043a\u043e\u0434\u0430, \u043d\u043e \u0435\u0441\u0442\u044c \u0440\u0430\u0441\u0441\u043a\u0430\u0437, \u043a\u0430\u043a \u0440\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u0447\u0438\u043a \u043f\u0438\u0441\u0430\u043b \u0441\u0432\u043e\u0439 \u043a\u043e\u0434.<\/p>\n<figure class=\"full-width\"><\/figure>\n<\/li>\n<li>\n<p><a href=\"https:\/\/blog.dtth.ch\/nki\/extension-of-erased-values-in-scala-3\"><u>Extension of Erased Values in Scala 3<\/u><\/a> \u2014 \u0440\u0430\u0441\u0441\u043a\u0430\u0437 \u043e \u0441\u0435\u043c\u0435\u0441\u0442\u0440\u043e\u0432\u043e\u0439 \u0440\u0430\u0431\u043e\u0442\u0435 \u043d\u0430\u0434 erased values \u0432 \u043a\u043e\u043c\u043f\u0438\u043b\u044f\u0442\u043e\u0440 dotty. \u041e \u043d\u043e\u0432\u043e\u043c keyword-\u0435 \u0438 identifier-\u0435, \u043f\u043e\u0437\u0432\u043e\u043b\u044f\u044e\u0449\u0435\u043c \u043f\u043e\u0434\u0441\u043a\u0430\u0437\u044b\u0432\u0430\u0442\u044c \u043a\u043e\u043c\u043f\u0438\u043b\u044f\u0442\u043e\u0440\u0443, \u0447\u0442\u043e \u043a\u0430\u043a\u0438\u0435-\u0442\u043e \u043f\u0430\u0440\u0430\u043c\u0435\u0442\u0440\u044b \u0438 \u0432\u044b\u0440\u0430\u0436\u0435\u043d\u0438\u044f \u043d\u0443\u0436\u043d\u043e \u0443\u0434\u0430\u043b\u0438\u0442\u044c \u0432 compile-time. \u041f\u0440\u0438\u0445\u043e\u0434\u044f\u0449\u0435\u0435 \u043d\u0430 \u0443\u043c \u043f\u0440\u0438\u043c\u0435\u043d\u0435\u043d\u0438\u0435 \u2014 \u0443\u0434\u0430\u043b\u0435\u043d\u0438\u0435 implicit evidence, \u0447\u0442\u043e \u043a\u0430\u043a \u0440\u0430\u0437 \u043f\u0435\u0440\u0435\u0441\u0435\u043a\u0430\u0435\u0442\u0441\u044f \u0441 \u0440\u0430\u0431\u043e\u0442\u043e\u0439 \u043d\u0430\u0434 \u043f\u0440\u043e\u0435\u043a\u0442\u043e\u043c Caprese. \u0421\u0442\u0430\u0442\u044c\u044f \u043f\u043e\u0434\u0440\u043e\u0431\u043d\u0430\u044f, \u043e\u0441\u0432\u0435\u0449\u0430\u044e\u0442\u0441\u044f \u0441\u043b\u043e\u0436\u043d\u043e\u0441\u0442\u0438, \u0441\u0432\u044f\u0437\u0430\u043d\u043d\u044b\u0435 \u0441 \u0442\u0435\u043c, \u0447\u0442\u043e \u0444\u0443\u043d\u043a\u0446\u0438\u0438 \u0438 \u043c\u0435\u0442\u043e\u0434\u044b \u0432 Scala \u043d\u0435 \u0440\u0430\u0432\u043d\u044b. \u0415\u0449\u0435 \u0431\u044b \u0434\u043e\u0431\u0430\u0432\u0438\u0442\u044c \u0447\u0443\u0442\u044c \u0431\u043e\u043b\u044c\u0448\u0435 \u0441\u043d\u0438\u043f\u043f\u0435\u0442\u043e\u0432 \u043a\u043e\u0434\u0430 \u0438\u0437 \u0441\u0434\u0435\u043b\u0430\u043d\u043d\u044b\u0445 pull request-\u043e\u0432. \u0418\u0437 \u0437\u0430\u0431\u0430\u0432\u043d\u043e\u0433\u043e: \u0441\u0442\u0438\u043b\u0438\u0441\u0442\u0438\u0447\u0435\u0441\u043a\u043e\u0435 \u043e\u0444\u043e\u0440\u043c\u043b\u0435\u043d\u0438\u0435 \u0431\u043b\u043e\u0433\u0430, \u043a\u043e\u0442\u043e\u0440\u043e\u0435 \u0437\u0435\u043b\u0435\u043d\u0435\u0435\u0442 \u043a \u043a\u043e\u043d\u0446\u0443 \u0441\u0442\u0430\u0442\u044c\u0438. \u041f\u043e-\u043b\u0430\u0432\u043a\u0440\u0430\u0444\u0442\u0438\u0430\u043d\u0441\u043a\u0438 \u043f\u043e\u0433\u0440\u0443\u0436\u0430\u0435\u043c\u0441\u044f \u0432 \u043f\u0443\u0447\u0438\u043d\u044b \u043d\u0435\u043e\u043f\u0438\u0441\u0443\u0435\u043c\u043e\u0433\u043e \u0443\u0436\u0430\u0441\u0430 \u0441\u043e\u0432\u0440\u0435\u043c\u0435\u043d\u043d\u044b\u0445 \u043a\u043e\u043c\u043f\u0438\u043b\u044f\u0442\u043e\u0440\u043e\u0432.<\/p>\n<\/li>\n<li>\n<p><a href=\"https:\/\/blog.rockthejvm.com\/practical-type-level-programming\/\"><u>Practical Type-Level Programming in Scala 3<\/u><\/a> \u2014 \u043e\u0433\u0440\u043e\u043c\u043d\u0430\u044f \u0441\u0442\u0430\u0442\u044c\u044f \u043e\u0442 Daniel Beskin \u043e \u0440\u0435\u0448\u0435\u043d\u0438\u0438 \u0437\u0430\u0434\u0430\u0447\u0438 \u0433\u0435\u043d\u0435\u0440\u0430\u0446\u0438\u0438 json-\u044d\u043d\u043a\u043e\u0434\u0435\u0440\u0430 \u0434\u043b\u044f \u0432\u043b\u043e\u0436\u0435\u043d\u043d\u044b\u0445 \u0441\u0442\u0440\u0443\u043a\u0442\u0443\u0440 \u0442\u0430\u043a, \u0447\u0442\u043e\u0431\u044b \u043f\u043e\u043b\u0443\u0447\u0435\u043d\u043d\u044b\u0439 JSON \u0431\u044b\u043b \u043f\u043b\u043e\u0441\u043a\u0438\u043c. \u041c\u0430\u0433\u0438\u044f \u043d\u0430 \u0443\u0440\u043e\u0432\u043d\u0435 \u0442\u0438\u043f\u043e\u0432, \u0444\u0438\u0447\u0438 Scala 3. \u0412\u0441\u0435 \u043a\u0430\u043a \u043c\u044b \u043b\u044e\u0431\u0438\u043c.<\/p>\n<\/li>\n<li>\n<p><a href=\"https:\/\/softwaremill.com\/technology-trends-to-watch-in-2024\/\"><u>Technology trends to watch in 2024<\/u><\/a> \u2014 \u041d\u043e\u0441\u0442\u0440\u0430\u0434\u0430\u043c\u0443\u0441, \u0412\u0430\u043d\u0433\u0430, \u041f\u0438\u0444\u0438\u044f, Softwaremill?.. \u041b\u0443\u0447\u0448\u0438\u0435 \u043f\u0440\u043e\u0440\u043e\u043a\u0438 \u043f\u0440\u043e\u0434\u043e\u043b\u0436\u0430\u044e\u0442 \u0435\u0436\u0435\u0433\u043e\u0434\u043d\u0443\u044e <s>\u0430\u043d\u0430\u043b\u0438\u0442\u0438\u043a\u0443<\/s> \u0442\u0440\u0430\u0434\u0438\u0446\u0438\u044e \u0442\u0435\u0445\u043d\u043e\u043b\u043e\u0433\u0438\u0447\u0435\u0441\u043a\u0438\u0445 \u043f\u0440\u0435\u0434\u0441\u043a\u0430\u0437\u0430\u043d\u0438\u0439 \u0432 \u043d\u043e\u0432\u043e\u043c \u0433\u043e\u0434\u0443.<\/p>\n<\/li>\n<li>\n<p><a href=\"https:\/\/habr.com\/ru\/articles\/784906\/\"><u>\u041a\u0430\u043a \u044f \u043f\u043e\u043f\u0440\u043e\u0431\u043e\u0432\u0430\u043b \u043d\u0430\u043f\u0438\u0441\u0430\u0442\u044c \u0430\u0432\u0438\u0430\u0441\u0438\u043c\u0443\u043b\u044f\u0442\u043e\u0440<\/u><\/a> \u2014 \u0440\u0443\u0441\u0441\u043a\u043e\u044f\u0437\u044b\u0447\u043d\u0430\u044f \u0441\u0442\u0430\u0442\u044c\u044f \u043f\u0440\u043e \u0440\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u043a\u0443 \u0430\u0432\u0438\u0430\u0441\u0438\u043c\u0443\u043b\u044f\u0442\u043e\u0440\u0430 \u043f\u043e\u0434 Android \u043d\u0430 Scala \u0441 \u043e\u0442\u043a\u0440\u044b\u0442\u044b\u043c \u0438\u0441\u0445\u043e\u0434\u043d\u044b\u043c \u043a\u043e\u0434\u043e\u043c. \u041a\u0430\u0436\u0434\u0430\u044f \u0447\u0430\u0441\u0442\u044c \u043f\u0440\u0435\u0434\u044b\u0434\u0443\u0449\u0435\u0433\u043e \u043f\u0440\u0435\u0434\u043b\u043e\u0436\u0435\u043d\u0438\u044f \u043f\u043e-\u0441\u0432\u043e\u0435\u043c\u0443 \u0430\u0431\u0441\u0443\u0440\u0434\u043d\u0430, \u0447\u0442\u043e \u043d\u0435 \u043c\u043e\u0436\u0435\u0442 \u043d\u0435 \u0432\u044b\u0437\u044b\u0432\u0430\u0442\u044c \u0438\u043d\u0442\u0435\u0440\u0435\u0441. \u0412\u043f\u0440\u043e\u0447\u0435\u043c, \u0441\u0430\u043c \u043f\u043e\u0441\u0442 \u2014 \u044d\u0442\u043e \u0440\u0435\u0444\u043b\u0435\u043a\u0441\u0438\u044f \u043e \u043f\u043e\u0442\u0440\u0430\u0447\u0435\u043d\u043d\u043e\u043c \u0432\u0440\u0435\u043c\u0435\u043d\u0438 \u0438 \u043f\u0440\u0438\u043e\u0431\u0440\u0435\u0442\u0435\u043d\u043d\u043e\u043c \u043e\u043f\u044b\u0442\u0435.<\/p>\n<\/li>\n<li>\n<p><a href=\"https:\/\/habr.com\/ru\/companies\/m2tech\/articles\/782986\/\"><u>Calypso: \u0441\u0445\u0435\u043c\u0430 \u0434\u0430\u043d\u043d\u044b\u0445 MongoDB \u043d\u0430 Scala<\/u><\/a> \u2014 \u0438\u0437\u043b\u043e\u0436\u0435\u043d\u0438\u0435 \u043d\u0430 \u0425\u0430\u0431\u0440\u0435 \u043e\u0441\u0435\u043d\u043d\u0435\u0433\u043e \u0434\u043e\u043a\u043b\u0430\u0434\u0430 <a href=\"https:\/\/www.youtube.com\/live\/lQOwF9TQEpk?si=0qjhqh3wtlomzOT1\"><u>\u0441 M2_TECH Scala Meetup.<\/u><\/a> \u0420\u0435\u0431\u044f\u0442\u0430 \u043f\u0440\u0435\u0437\u0435\u043d\u0442\u0443\u044e\u0442 \u0441\u0432\u043e\u044e \u0431\u0438\u0431\u043b\u0438\u043e\u0442\u0435\u0447\u043a\u0443 <a href=\"https:\/\/github.com\/m2-oss\/calypso\"><u>calypso.<\/u><\/a><\/p>\n<\/li>\n<li>\n<p><a href=\"https:\/\/nrinaudo.github.io\/articles\/free_monad.html\"><u>The debatably Free monad<\/u><\/a> \u2014 \u043f\u0435\u0440\u0435\u0438\u0437\u043e\u0431\u0440\u0435\u0442\u0435\u043d\u0438\u0435 Free-\u043c\u043e\u043d\u0430\u0434\u044b \u0441 \u043d\u0443\u043b\u044f. \u041d\u0430\u043f\u0438\u0441\u0430\u043d\u043e \u043e\u0447\u0435\u043d\u044c \u0436\u0438\u0432\u043e, \u043f\u0440\u0438\u044f\u0442\u043d\u043e \u0447\u0438\u0442\u0430\u0442\u044c. \u041e\u0441\u043e\u0431\u0435\u043d\u043d\u043e \u0440\u0430\u0434\u0443\u044e\u0442 \u0444\u0440\u0430\u0437\u043e\u0447\u043a\u0438 \u0442\u0438\u043f\u0430 something monadic is going on.<\/p>\n<\/li>\n<li>\n<p><a href=\"https:\/\/blog.michal.pawlik.dev\/posts\/til\/cleaner-pr-diffs\/\"><u>Hide irrelevant data in your PRs<\/u><\/a> \u2014 \u0435\u0441\u043b\u0438 \u0432\u044b \u0443\u0436\u0435 \u043d\u0430\u0443\u0447\u0438\u043b\u0438\u0441\u044c \u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u044c\u0441\u044f .gitignore, \u0442\u043e \u043f\u0440\u0438\u0448\u043b\u043e \u0432\u0440\u0435\u043c\u044f \u043e\u0441\u0432\u043e\u0438\u0442\u044c .gitattributes.<\/p>\n<\/li>\n<li>\n<p><a href=\"https:\/\/www.binwang.me\/2023-12-29-Scala-Macro-Tutorial.html\"><u>Scala 2 Macro Tutorial<\/u><\/a> \u2014 \u0434\u0435\u0439\u0441\u0442\u0432\u0438\u0442\u0435\u043b\u044c\u043d\u043e beginner guide \u0432 \u043c\u0430\u043a\u0440\u043e\u0441\u044b. \u041b\u0435\u0433\u043a\u0430\u044f \u043f\u043e\u0434\u0430\u0447\u0430 \u0447\u0435\u0440\u043d\u043e\u0439 \u043c\u0430\u0433\u0438\u0438 \u0432 \u0432\u0438\u0434\u0435 \u0430\u0437\u0431\u0443\u043a\u0438 \u0434\u043b\u044f \u0448\u043a\u043e\u043b\u044c\u043d\u0438\u043a\u043e\u0432 \u0438 \u043f\u0440\u043e\u0441\u0442\u044b\u0435 \u043f\u0440\u0438\u043c\u0435\u0440\u044b. \u041f\u043e\u0434\u043e\u0439\u0434\u0435\u0442 \u043d\u043e\u0432\u0438\u0447\u043a\u0430\u043c.<\/p>\n<\/li>\n<li>\n<p><a href=\"https:\/\/brevzin.github.io\/c++\/2020\/06\/18\/lambda-lambda-lambda\/\"><u>Lambda Lambda Lambda<\/u><\/a> \u2014 \u00ab\u0417\u043d\u0430\u0435\u0442\u0435, \u043a\u0430\u043a\u043e\u0439 \u0437\u0430\u043f\u0430\u0445 \u044f \u0447\u0443\u0432\u0441\u0442\u0432\u0443\u044e \u043f\u043e\u0443\u0442\u0440\u0443? \u0417\u0430\u043f\u0430\u0445 \u043b\u044f\u043c\u0431\u0434. \u041b\u044f\u043c\u0431\u0434\u0430? \u041b\u044f\u043c\u0431\u0434\u0430, \u043b\u044f\u043c\u0431\u0434\u0430, \u043b\u044f\u043c\u0431\u0434\u0430, \u043b\u044f\u043c\u0431\u0434\u0430. \u041a\u0430\u043a \u043d\u0430\u043f\u0438\u0441\u0430\u0442\u044c \u0441\u0440\u0430\u0432\u043d\u0435\u043d\u0438\u0435 \u0446\u0438\u0444\u0440? \u041d\u0438\u043a\u0430\u043a, \u0432\u0435\u0434\u044c \u043d\u0435\u0442 \u0446\u0438\u0444\u0440. \u0422\u044b \u043f\u0438\u0448\u0435\u0448\u044c \u0438\u043b\u043b\u044e\u0437\u0438\u044e, \u0436\u0430\u043b\u043a\u043e\u0435 \u043f\u043e\u0434\u043e\u0431\u0438\u0435 \u0442\u043e\u0433\u043e, \u0447\u0442\u043e \u043b\u044e\u0434\u0438 \u043d\u0430\u0437\u044b\u0432\u0430\u044e\u0442 \u0446\u0438\u0444\u0440\u043e\u0439. \u0421\u043d\u0430\u0447\u0430\u043b\u0430 \u043c\u044b \u0441\u043e\u0437\u0434\u0430\u0435\u043c \u0446\u0438\u0444\u0440\u044b \u043a\u0430\u043a \u0444\u0443\u043d\u043a\u0446\u0438\u0438, \u0437\u0430\u0442\u0435\u043c \u0441\u0442\u0440\u043e\u043a\u0438, \u043a\u043b\u0430\u0441\u0441\u044b, \u0432\u0435\u0441\u044c \u044d\u0442\u043e\u0442 \u043c\u0438\u0440 \u2014 \u044d\u0442\u043e \u043e\u0433\u0440\u043e\u043c\u043d\u0430\u044f \u0444\u0443\u043d\u043a\u0446\u0438\u044f\u00bb <abbr class=\"habraabbr\" title=\"\u0443 \u041a\u0430\u0440\u0438\u043d\u044b \u0434\u0438\u043f\u043b\u043e\u043c \u043f\u0440\u043e \u043b\u044f\u043c\u0431\u0434\u044b, \u043f\u043e\u044d\u0442\u043e\u043c\u0443 \u043e\u043d\u0430 \u0432\u0441\u0435, \u0441\u0432\u044f\u0437\u0430\u043d\u043d\u043e\u0435 \u0441 \u043d\u0438\u043c\u0438, \u044d\u043c\u043e\u0446\u0438\u043e\u043d\u0430\u043b\u044c\u043d\u043e \u0432\u043e\u0441\u043f\u0440\u0438\u043d\u0438\u043c\u0430\u0435\u0442\" data-title=\"&lt;p>\u0438, \u044d\u043c\u043e\u0446\u0438\u043e\u043d\u0430\u043b\u044c\u043d\u043e \u0432\u043e\u0441\u043f\u0440\u0438\u043d\u0438\u043c\u0430\u0435\u0442&#187; data-title=&#187;&lt;p>\u0443 \u041a\u0430\u0440\u0438\u043d\u044b \u0434\u0438\u043f\u043b\u043e\u043c \u043f\u0440\u043e \u043b\u044f\u043c\u0431\u0434\u044b, \u043f\u043e\u044d\u0442\u043e\u043c\u0443 \u043e\u043d\u0430 \u0432\u0441\u0435, \u0441\u0432\u044f\u0437\u0430\u043d\u043d\u043e\u0435 \u0441 \u043d\u0438\u043c\u0438, \u044d\u043c\u043e\u0446\u0438\u043e\u043d\u0430\u043b\u044c\u043d\u043e \u0432\u043e\u0441\u043f\u0440\u0438\u043d\u0438\u043c\u0430\u0435\u0442&lt;\/p>&#187; data-abbr=&#187;\u00a9 \u041a\u0430\u0440\u0438\u043d\u0430&#187;>\u00a9 \u041a\u0430\u0440\u0438\u043d\u0430<\/abbr>.\u00a0<\/p>\n<\/li>\n<li>\n<p><a href=\"https:\/\/scala-cli.virtuslab.org\/docs\/guides\/power\/python\/\"><u>Python\/ScalaPy \u26a1\ufe0f<\/u><\/a> \u2014 \u0432 scala-cli \u0434\u043e\u0431\u0430\u0432\u0438\u043b\u0438 \u0432\u043e\u0437\u043c\u043e\u0436\u043d\u043e\u0441\u0442\u044c \u0432\u044b\u0437\u0432\u0430\u0442\u044c \u0438\u043d\u0442\u0435\u0440\u043f\u0440\u0435\u0442\u0430\u0442\u043e\u0440 python. <\/p>\n<figure class=\"full-width\">\n<div><figcaption>\u00ab\u041e\u0441\u0442\u0430\u043b\u043e\u0441\u044c \u0442\u043e\u043b\u044c\u043a\u043e \u043c\u043e\u043d\u0438\u0442\u043e\u0440 \u043f\u0440\u0438\u0445\u0443\u2026\u00bb<\/figcaption><\/div>\n<\/figure>\n<\/li>\n<\/ul>\n<details class=\"spoiler\">\n<summary>\u0410 \u0441\u044e\u0434\u0430 \u043c\u044b \u0441\u043f\u0440\u044f\u0442\u0430\u043b\u0438 \u0432\u0441\u0435 \u0435\u0449\u0435 \u0438\u043d\u0442\u0435\u0440\u0435\u0441\u043d\u044b\u0435 \u0441\u0442\u0430\u0442\u044c\u0438, \u043d\u0430 \u043f\u043e\u0434\u0432\u043e\u0434\u043a\u0438 \u043a \u043a\u043e\u0442\u043e\u0440\u044b\u043c \u0443 \u043d\u0430\u0441 \u043d\u0435 \u0445\u0432\u0430\u0442\u0438\u043b\u043e \u0441\u0438\u043b.<\/summary>\n<div class=\"spoiler__content\">\n<ul>\n<li>\n<p><a href=\"https:\/\/softwaremill.com\/llm-for-tapir-chatbot-for-oss\/\"><u>LLM for tapir \u2014 Chatbot for OSS<\/u><\/a>;<\/p>\n<\/li>\n<li>\n<p><a href=\"https:\/\/eed3si9n.com\/sbt-website-update-2024\/\"><u>sbt website update 2024<\/u><\/a>;<\/p>\n<\/li>\n<li>\n<p><a href=\"https:\/\/scala-lang.org\/blog\/2024\/01\/23\/migration-to-scala-3.html\"><u>Scala 3: My migration journey<\/u><\/a>;<\/p>\n<\/li>\n<li>\n<p><a href=\"https:\/\/scalac.io\/blog\/getting-started-with-zio-http\/\"><u>Getting started with ZIO HTTP<\/u><\/a>;<\/p>\n<\/li>\n<li>\n<p><a href=\"https:\/\/blog.pierre-ricadat.com\/graphql-in-scala-handling-side-effects\"><u>GraphQL in Scala: Handling side effects<\/u><\/a>;<\/p>\n<\/li>\n<li>\n<p><a href=\"https:\/\/systemfw.org\/posts\/tailrec.html\"><u>Deriving Tail Recursive Fibonacci<\/u><\/a>;<\/p>\n<\/li>\n<li>\n<p><a href=\"https:\/\/idiomaticsoft.com\/post\/2024-01-16-monads\/\"><u>Introduction to Monads With Scala 3<\/u><\/a>;<\/p>\n<\/li>\n<li>\n<p><a href=\"https:\/\/blog.michal.pawlik.dev\/posts\/scala\/weaver-localstack\/\"><u>Integration testing with Weaver and Localstack<\/u><\/a>;<\/p>\n<\/li>\n<li>\n<p><a href=\"https:\/\/www.lightbend.com\/blog\/2024-predictions-for-the-cloud-native-market\"><u>2024 Predictions for the Cloud Native Market<\/u><\/a>;<\/p>\n<\/li>\n<li>\n<p><a href=\"https:\/\/virtuslab.com\/blog\/reference-architecture-roadmap\/\"><u>Reference Architecture: A roadmap to efficiency and scalability<\/u><\/a>;<\/p>\n<\/li>\n<li>\n<p><a href=\"https:\/\/blog.pierre-ricadat.com\/a-beginners-guide-to-graphql-in-scala\"><u>A Beginner\u2019s Guide to GraphQL in Scala<\/u><\/a>;<\/p>\n<\/li>\n<li>\n<p><a href=\"https:\/\/medium.com\/@w.pitula\/kotlin-from-scala-perspective-advent-of-code-2023-f2901863ba0e\"><u>Kotlin from Scala perspective: Advent Of Code 2023<\/u><\/a>;<\/p>\n<\/li>\n<li>\n<p><a href=\"https:\/\/alexn.org\/blog\/2024\/01\/10\/update-nextdns-with-a-scala-cli-script\/\"><u>Update NextDNS with a Scala CLI script.<\/u><\/a><\/p>\n<\/li>\n<\/ul>\n<\/div>\n<\/details>\n<h2>\u0412\u0438\u0434\u0435\u043e \u0438 \u0434\u043e\u043a\u043b\u0430\u0434\u044b<\/h2>\n<p>\u0421\u043e\u0431\u0440\u0430\u043b\u0438 \u0441\u0441\u044b\u043b\u043a\u0438 \u043a\u0430\u043a \u043d\u0430 \u0443\u0436\u0435 \u0438\u0437\u0432\u0435\u0441\u0442\u043d\u044b\u0435 \u0438 \u043f\u043e\u043f\u0443\u043b\u044f\u0440\u043d\u044b\u0435, \u0442\u0430\u043a \u0438 \u043d\u0430 \u043d\u043e\u0443\u043d\u0435\u0439\u043c-\u043a\u0430\u043d\u0430\u043b\u044b \u0438 \u0432\u0438\u0434\u0435\u043e \u043f\u0440\u043e Scala:<\/p>\n<ul>\n<li>\n<p><a href=\"https:\/\/www.youtube.com\/watch?v=GA8NZVGPiNo\"><u>What Can Scala Learn from Rust? by John A. De Goes<\/u><\/a> \u2014 \u043d\u0435 \u043e\u0431\u0440\u0430\u0449\u0430\u0439\u0442\u0435 \u0432\u043d\u0438\u043c\u0430\u043d\u0438\u044f \u043d\u0430 \u043a\u043b\u0438\u043a\u0431\u0435\u0439\u0442\u043d\u044b\u0439 \u0437\u0430\u0433\u043e\u043b\u043e\u0432\u043e\u043a. \u041f\u0440\u043e\u0434\u043e\u043b\u0436\u0435\u043d\u0438\u0435 \u043c\u0435\u0442\u0430\u0434\u0438\u0430\u043b\u043e\u0433\u0430 \u043c\u0435\u0436\u0434\u0443 \u0441\u043e\u0437\u0434\u0430\u0442\u0435\u043b\u044f\u043c\u0438 \u044f\u0437\u044b\u043a\u0430 \u0438 \u0440\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u0447\u0438\u043a\u0430\u043c\u0438 \u044d\u043a\u043e\u0441\u0438\u0441\u0442\u0435\u043c\u044b \u0432 \u043b\u0438\u0446\u0435 John A De Goes \u043e \u0432\u0435\u043a\u0442\u043e\u0440\u0435 \u0440\u0430\u0437\u0432\u0438\u0442\u0438\u044f \u044f\u0437\u044b\u043a\u0430. \u041f\u043e\u0434\u0447\u0435\u0440\u043a\u043d\u0435\u043c, \u0447\u0442\u043e \u0434\u043e\u043a\u043b\u0430\u0434 \u043a\u0430\u0447\u0435\u0441\u0442\u0432\u0435\u043d\u043d\u043e \u043f\u043e\u0434\u0433\u043e\u0442\u043e\u0432\u043b\u0435\u043d \u0438 \u043d\u0435 \u0432\u044b\u0433\u043b\u044f\u0434\u0438\u0442 \u043a\u0430\u043a \u0441\u043f\u043b\u043e\u0448\u043d\u043e\u0435 \u043d\u044b\u0442\u044c\u0435. \u0421\u0442\u0430\u0432\u044c\u0442\u0435 \u043b\u0430\u0439\u043a, \u0435\u0441\u043b\u0438 \u043d\u0430\u0448\u043b\u0438 \u043f\u0440\u043e\u0442\u0435\u0438\u043d\u043e\u0432\u043e\u0433\u043e M. Odersky.<\/p>\n<\/li>\n<li>\n<p><a href=\"https:\/\/www.youtube.com\/watch?v=Ewb5nYRVlTA\"><u>The State of IntelliJ Scala Plugin<\/u><\/a> \u2014 \u0442\u0440\u0438 \u0441 \u043f\u043e\u043b\u043e\u0432\u0438\u043d\u043e\u0439 \u0440\u0443\u0434\u043e\u043a\u043e\u043f\u0430 \u043f\u0438\u043b\u044f\u0442 \u043f\u043b\u0430\u0433\u0438\u043d, \u0430 \u043f\u043e\u043b\u044c\u0437\u0443\u0435\u0442\u0441\u044f \u0432\u0435\u0441\u044c \u043c\u0438\u0440. \u041d\u0435 \u0441\u043a\u0443\u043f\u0438\u0442\u0435\u0441\u044c \u043d\u0430 \u043b\u0430\u0439\u043a \u0440\u0435\u0431\u044f\u0442\u0430\u043c, \u0430 \u043b\u0443\u0447\u0448\u0435 \u0434\u0430\u0439\u0442\u0435 \u0440\u0430\u0437\u0432\u0435\u0440\u043d\u0443\u0442\u0443\u044e \u043e\u0431\u0440\u0430\u0442\u043d\u0443\u044e \u0441\u0432\u044f\u0437\u044c.<\/p>\n<\/li>\n<li>\n<p><a href=\"https:\/\/www.youtube.com\/@Ziverge\/videos\"><u>Ziverge YouTube Channel<\/u><\/a> \u2014 \u0447\u0430\u0441\u0442\u044c \u0437\u0430\u043f\u0438\u0441\u0435\u0439 \u0443\u0436\u0435 \u043f\u043e\u0434\u044a\u0435\u0445\u0430\u043b\u0430, \u0430 \u0447\u0430\u0441\u0442\u044c \u0435\u0449\u0435 \u0435\u0434\u0435\u0442 \u0441 \u043a\u043e\u043d\u0444\u0435\u0440\u0435\u043d\u0446\u0438\u0438 Functional Scala Conference 2023.<\/p>\n<\/li>\n<\/ul>\n<div class=\"tm-iframe_temp\" data-src=\"https:\/\/embedd.srv.habr.com\/iframe\/65bb650a2331bb9d718a0c74\" data-style=\"\" id=\"65bb650a2331bb9d718a0c74\" width=\"\"><\/div>\n<p>\u0412\u044b\u0448\u043b\u043e \u043d\u0435\u0441\u043a\u043e\u043b\u044c\u043a\u043e \u0432\u044b\u043f\u0443\u0441\u043a\u043e\u0432 flatmappers. \u0418\u0437 \u0437\u0430\u0431\u0430\u0432\u043d\u043e\u0433\u043e \u2014 \u0432 \u043a\u0430\u0436\u0434\u043e\u043c \u0438\u0437 \u043d\u0438\u0445 \u0412\u0430\u0434\u0438\u043c \u044d\u043a\u0441\u043f\u0435\u0440\u0438\u043c\u0435\u043d\u0442\u0438\u0440\u0443\u0435\u0442 \u043d\u0430\u0434 \u043e\u043f\u0435\u043d\u0438\u043d\u0433\u0430\u043c\u0438. \u0412 \u043e\u0434\u043d\u043e\u043c \u0438\u0437 \u0432\u044b\u043f\u0443\u0441\u043a\u043e\u0432 \u0432\u044b \u043c\u043e\u0436\u0435\u0442\u0435 \u043d\u0430\u0441\u043b\u0430\u0434\u0438\u0442\u044c\u0441\u044f \u0435\u0433\u043e \u0438\u0433\u0440\u043e\u0439 \u043d\u0430 \u0433\u0443\u0431\u043d\u043e\u0439 \u0433\u0430\u0440\u043c\u043e\u0448\u043a\u0435, \u0430 \u0432 \u0434\u0440\u0443\u0433\u043e\u043c \u2014 \u0443\u0441\u043b\u044b\u0448\u0430\u0442\u044c \u043c\u0435\u043b\u043e\u0434\u0438\u044e \u0438\u0437 \u043c\u0443\u0437\u044b\u043a\u0430\u043b\u044c\u043d\u043e\u0439 \u0448\u043a\u0430\u0442\u0443\u043b\u043a\u0438. \u041d\u0430\u043c \u043a\u0430\u0436\u0435\u0442\u0441\u044f \u044d\u0442\u043e \u043e\u0447\u0435\u043d\u044c \u043c\u0438\u043b\u044b\u043c. \u0410 \u0435\u0449\u0435 \u043f\u043e\u0434\u0440\u043e\u0431\u043d\u043e\u0435 \u043e\u043f\u0438\u0441\u0430\u043d\u0438\u0435 \u043a\u0430\u0436\u0434\u043e\u0433\u043e \u0432\u044b\u043f\u0443\u0441\u043a\u0430 \u0435\u0441\u0442\u044c \u0443 \u0440\u0435\u0431\u044f\u0442 \u043d\u0430 \u0441\u0430\u0439\u0442\u0435:<\/p>\n<ul>\n<li>\n<p><a href=\"https:\/\/flatmappers.com\/episode014\/\"><u>\u041b\u0436\u0438\u0432\u044b\u0435 \u0444\u043b\u044d\u0442\u043c\u0430\u043f\u044b, \u0447\u0435\u0441\u0442\u043d\u044b\u0435 \u043e\u043f\u0440\u043e\u0441\u044b<\/u><\/a> \u2014 \u041d\u0430\u0441\u0442\u0435 \u043f\u043e\u043d\u0440\u0430\u0432\u0438\u043b\u043e\u0441\u044c, \u043a\u0430\u043a \u0413\u0440\u0438\u0448\u0430 \u0434\u0435\u043b\u0438\u0442\u0441\u044f \u043e\u043f\u044b\u0442\u043e\u043c \u0440\u0430\u0431\u043e\u0442\u044b \u0441 Rust-\u043e\u043c. \u0410 \u0435\u0449\u0435 \u0438\u0437 \u0432\u044b\u043f\u0443\u0441\u043a\u0430 \u043c\u043e\u0436\u043d\u043e \u0443\u0437\u043d\u0430\u0442\u044c, \u043d\u0430\u0441\u043a\u043e\u043b\u044c\u043a\u043e \u043a\u0440\u0443\u0442 \u0430\u0432\u0442\u043e\u0440 \u043d\u043e\u0432\u043e\u0439 \u0441\u0438\u0441\u0442\u0435\u043c\u044b \u044d\u0444\u0444\u0435\u043a\u0442\u043e\u0432 <a href=\"https:\/\/github.com\/getkyo\/kyo\"><u>Kyo.<\/u><\/a><\/p>\n<\/li>\n<li>\n<p><a href=\"https:\/\/flatmappers.com\/episode015\/\"><u>\u041f\u0440\u0435\u0434\u043d\u043e\u0432\u043e\u0433\u043e\u0434\u043d\u0438\u0439 \u0432\u044b\u043f\u0443\u0441\u043a 2023<\/u><\/a> \u2014 \u00ab\u042f \u0441\u043c\u0435\u044f\u043b\u0430\u0441\u044c, \u0441\u043b\u0443\u0448\u0430\u044f \u043e \u0442\u043e\u043c, \u043a\u0430\u043a \u0434\u0430\u0436\u0435 \u043e\u043f\u044b\u0442\u043d\u044b\u0435 \u0440\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u0447\u0438\u043a\u0438 \u0441\u0442\u0440\u0430\u0434\u0430\u044e\u0442 \u043d\u0430 Advent of Code\u00bb \u00a9 \u041d\u0430\u0441\u0442\u044f.<\/p>\n<\/li>\n<\/ul>\n<details class=\"spoiler\">\n<summary>\u0410 \u0441\u044e\u0434\u0430 \u043c\u044b \u0441\u043f\u0440\u044f\u0442\u0430\u043b\u0438 \u0432\u0441\u0435 \u0435\u0449\u0435 \u0438\u043d\u0442\u0435\u0440\u0435\u0441\u043d\u044b\u0435 \u0432\u0438\u0434\u0435\u043e \u0438 \u043f\u043e\u0434\u043a\u0430\u0441\u0442\u044b, \u043d\u0430 \u043f\u043e\u0434\u0432\u043e\u0434\u043a\u0438 \u043a \u043a\u043e\u0442\u043e\u0440\u044b\u043c \u0443 \u043d\u0430\u0441 \u043d\u0435 \u0445\u0432\u0430\u0442\u0438\u043b\u043e \u0441\u0438\u043b.<\/summary>\n<div class=\"spoiler__content\">\n<ul>\n<li>\n<p><a href=\"https:\/\/www.listennotes.com\/podcasts\/happy-path\/92-virtual-threads-looming-wMFRTv4IJl-\/\"><u>#92 Virtual Threads Looming with Adam Warski by Happy Path Programming<\/u><\/a>;<\/p>\n<\/li>\n<li>\n<p><a href=\"https:\/\/www.youtube.com\/watch?v=AvwlvRp3d3w\"><u>Effect Systems in Scala: An introduction.<\/u><\/a><\/p>\n<\/li>\n<\/ul>\n<\/div>\n<\/details>\n<h2>Highlights<\/h2>\n<p>\u0412 \u044d\u0442\u043e\u043c \u0431\u043b\u043e\u043a\u0435 \u043d\u0435 \u0432\u0441\u0435\u0433\u0434\u0430 \u0441\u0432\u0435\u0436\u0438\u0435, \u043d\u043e \u0437\u0430\u0446\u0435\u043f\u0438\u0432\u0448\u0438\u0435 \u043d\u0430\u0448 \u0432\u0437\u0433\u043b\u044f\u0434 \u0440\u0435\u0441\u0443\u0440\u0441\u044b \u043f\u043e\u0434 \u0444\u043b\u0430\u0433\u043e\u043c \u00ab\u043e\u0447\u0443\u043c\u0435\u043b\u044b\u0435 \u0440\u0443\u0447\u043a\u0438\u00bb. \u0410\u0432\u0442\u043e\u0440\u044b \u0442\u0432\u043e\u0440\u044f\u0442 \u0447\u0442\u043e-\u0442\u043e \u0438\u043d\u0442\u0435\u0440\u0435\u0441\u043d\u043e\u0435, \u043d\u0435\u043e\u0431\u044b\u0447\u043d\u043e\u0435, \u043d\u043e \u043d\u0435 \u043e\u0431\u044f\u0437\u0430\u0442\u0435\u043b\u044c\u043d\u043e \u043f\u043e\u043b\u0435\u0437\u043d\u043e\u0435:<\/p>\n<ul>\n<li>\n<p><a href=\"https:\/\/github.com\/com-lihaoyi\/scalasql\"><u>ScalaSql<\/u><\/a> \u2014 \u0442\u0438\u043f\u043e\u0431\u0435\u0437\u043e\u043f\u0430\u0441\u043d\u044b\u0435 sql \u0437\u0430\u043f\u0440\u043e\u0441\u044b \u043e\u0442 lihaoyi. \u0421\u043e\u043e\u0442\u0432\u0435\u0442\u0441\u0442\u0432\u0443\u044e\u0449\u0438\u0439 \u0431\u043b\u043e\u0433-\u043f\u043e\u0441\u0442: <a href=\"https:\/\/www.lihaoyi.com\/post\/ScalaSqlaNewSQLDatabaseQueryLibraryforthecomlihaoyiScalaEcosystem.html\"><u>ScalaSql: a New SQL Database Query Library for the com-lihaoyi Scala Ecosystem.<\/u><\/a><\/p>\n<\/li>\n<li>\n<p><a href=\"https:\/\/sake92.github.io\/sharaf\/index.html\"><u>Sharaf<\/u><\/a> \u2014 \u043c\u0438\u043d\u0438\u043c\u0430\u043b\u0438\u0441\u0442\u0438\u0447\u043d\u044b\u0439 \u0432\u0435\u0431-\u0444\u0440\u0435\u0439\u043c\u0432\u043e\u0440\u043a. \u0415\u0441\u0442\u044c \u043f\u0440\u0438\u043c\u0435\u0440\u044b \u0437\u0430\u043f\u0443\u0441\u043a\u0430 \u0440\u0430\u0437\u043d\u044b\u0445 \u043f\u0440\u043e\u0435\u043a\u0442\u043e\u0432 \u043d\u0430 scala-cli, \u043d\u043e \u0434\u043e\u043a\u0443\u043c\u0435\u043d\u0442\u0430\u0446\u0438\u044f \u0445\u0440\u043e\u043c\u0430\u0435\u0442.<\/p>\n<\/li>\n<\/ul>\n<details class=\"spoiler\">\n<summary>\u0421\u044e\u0434\u0430 \u0441\u043f\u0440\u044f\u0442\u0430\u043b\u0438 \u0435\u0449\u0435 \u043a\u043e\u0435-\u0447\u0442\u043e \u0438\u043d\u0442\u0435\u0440\u0435\u0441\u043d\u043e\u0435. <\/summary>\n<div class=\"spoiler__content\">\n<ul>\n<li>\n<p><a href=\"https:\/\/github.com\/karadzhov\/scala-iso-language\"><u>scala-iso-language<\/u><\/a>;<\/p>\n<\/li>\n<li>\n<p><a href=\"https:\/\/www.reddit.com\/r\/quarkus\/comments\/18nrpum\/ive_made_a_quarkus_scala_3_quickstart_application\/\"><u>I\u2019ve made a Quarkus Scala 3 quickstart application based on Greet sample.<\/u><\/a><\/p>\n<\/li>\n<\/ul>\n<\/div>\n<\/details>\n<h2>Tooling<\/h2>\n<p>\u041a\u0443\u0441\u043e\u0447\u0435\u043a \u0434\u0430\u0439\u0434\u0436\u0435\u0441\u0442\u0430, \u0433\u0434\u0435 \u043c\u044b \u0440\u0430\u0441\u0441\u043a\u0430\u0437\u044b\u0432\u0430\u0435\u043c \u043e \u043f\u043e\u044f\u0432\u043b\u0435\u043d\u0438\u0438 \u043d\u043e\u0432\u044b\u0445 \u0438 \u0443\u043b\u0443\u0447\u0448\u0435\u043d\u0438\u0438 \u0441\u0443\u0449\u0435\u0441\u0442\u0432\u0443\u044e\u0449\u0438\u0445 \u0438\u043d\u0441\u0442\u0440\u0443\u043c\u0435\u043d\u0442\u043e\u0432 \u0434\u043b\u044f \u0440\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u043a\u0438:<\/p>\n<ul>\n<li>\n<p><a href=\"https:\/\/blog.jetbrains.com\/scala\/2023\/12\/21\/the-x-ray-mode\/\"><u>The X-Ray Mode<\/u><\/a> \u2014 \u0434\u043e\u0431\u0430\u0432\u0438\u043b\u0438 \u0431\u044b\u0441\u0442\u0440\u044b\u0439 \u0448\u043e\u0440\u0442\u043a\u0430\u0442 \u0434\u043b\u044f \u0432\u043a\u043b\u044e\u0447\u0435\u043d\u0438\u044f \u0438 \u0432\u044b\u043a\u043b\u044e\u0447\u0435\u043d\u0438\u044f \u043f\u043e\u0434\u0441\u043a\u0430\u0437\u043e\u043a \u043e\u0442 Intellij IDEA.<\/p>\n<\/li>\n<li>\n<p><a href=\"https:\/\/docs.scala-lang.org\/scala3\/guides\/migration\/options-lookup.html\"><u>This section contains the compiler options lookup tables<\/u><\/a> \u2014 \u0443\u0434\u043e\u0431\u043d\u0430\u044f \u0442\u0430\u0431\u043b\u0438\u0447\u043a\u0430 \u043f\u043e \u043c\u0438\u0433\u0440\u0430\u0446\u0438\u0438 \u043e\u043f\u0446\u0438\u0439 \u043a\u043e\u043c\u043f\u0438\u043b\u044f\u0442\u043e\u0440\u0430 \u0441\u043e Scala 2 \u043d\u0430 Scala 3.<\/p>\n<\/li>\n<\/ul>\n<h2>\u041a\u043e\u043c\u044c\u044e\u043d\u0438\u0442\u0438-\u0434\u0432\u0438\u0436<\/h2>\n<p>\u0420\u0430\u0437\u0434\u0435\u043b \u043a\u0443\u0440\u044c\u0435\u0437\u043d\u044b\u0445 \u0438 \u043b\u044e\u0431\u043e\u043f\u044b\u0442\u043d\u044b\u0445 \u0441\u043e\u0431\u044b\u0442\u0438\u0439 \u0432 \u043c\u0438\u0440\u0435 scala-\u043e\u0431\u0449\u0435\u0441\u0442\u0432\u0430, \u0438 \u043c\u044b \u0445\u043e\u0442\u0435\u043b\u0438 \u0431\u044b \u0432\u0438\u0434\u0435\u0442\u044c \u0435\u0433\u043e \u043e\u0431\u044a\u0435\u043c\u043d\u044b\u043c \u0438 \u0436\u0438\u0432\u044b\u043c. \u0415\u0441\u043b\u0438 \u0447\u0442\u043e-\u0442\u043e \u043f\u0440\u043e\u043f\u0443\u0441\u0442\u0438\u043b\u0438 \u0438\u043b\u0438 \u0443 \u0432\u0430\u0441 \u0435\u0441\u0442\u044c \u043f\u0440\u0435\u0434\u043b\u043e\u0436\u0435\u043d\u0438\u044f \u2014 \u0436\u0434\u0435\u043c \u0432 \u043a\u043e\u043c\u043c\u0435\u043d\u0442\u0430\u0440\u0438\u044f\u0445:<\/p>\n<ul>\n<li>\n<p><a href=\"https:\/\/github.com\/lampepfl\/dotty\/pull\/19395\"><u>Proposed new syntax to support Type Classes, by Martin Odersky<\/u><\/a> \u2014 \u0432 \u043e\u0447\u0435\u0440\u0435\u0434\u043d\u043e\u0439 \u0440\u0430\u0437 \u043f\u043e\u0434 \u043f\u0443\u043b\u043b-\u0440\u0435\u043a\u0432\u0435\u0441\u0442\u043e\u043c Martin Odersky \u0440\u0430\u0437\u0440\u0430\u0437\u0438\u043b\u0430\u0441\u044c \u0431\u0443\u0440\u044f. \u0412 \u043a\u043e\u043c\u043c\u0435\u043d\u0442\u0430\u0445 \u0432\u0441\u0442\u0440\u0435\u0447\u0430\u044e\u0442\u0441\u044f \u0438\u0437\u0432\u0435\u0441\u0442\u043d\u044b\u0435 \u0441\u0440\u0435\u0434\u0438 scala-\u043a\u043e\u043c\u044c\u044e\u043d\u0438\u0442\u0438 \u0438\u043c\u0435\u043d\u0430. \u0410 \u0435\u0441\u043b\u0438 \u0432\u0430\u043c \u043d\u0435 \u0445\u0432\u0430\u0442\u0430\u0435\u0442 \u043d\u0430\u043a\u0430\u043b\u0430 \u0441\u0442\u0440\u0430\u0441\u0442\u0435\u0439, \u043d\u0430 reddit-\u0435 \u043c\u043e\u0436\u043d\u043e \u043f\u043e\u0447\u0438\u0442\u0430\u0442\u044c <a href=\"https:\/\/www.reddit.com\/r\/scala\/comments\/195n4v8\/proposed_new_syntax_to_support_type_classes_by\/\"><u>\u043e\u0431\u0441\u0443\u0436\u0434\u0435\u043d\u0438\u0435.<\/u><\/a><\/p>\n<\/li>\n<li>\n<p><a href=\"https:\/\/www.reddit.com\/r\/scala\/comments\/195qk4u\/survey_why_have_you_stopped_using_scala_or_are\/\"><u>Survey: Why have you stopped using Scala or Are considering stopping soon?<\/u><\/a> \u2014 \u0443\u0434\u0430\u0440\u0438\u0432\u0448\u0438\u0439 \u0432 \u0441\u0430\u043c\u043e\u0435 \u0441\u0435\u0440\u0434\u0435\u0447\u043a\u043e \u043e\u043f\u0440\u043e\u0441 \u043e \u0442\u043e\u043c, \u043f\u043e\u0447\u0435\u043c\u0443 \u043b\u044e\u0434\u0438 \u043f\u0435\u0440\u0435\u0441\u0442\u0430\u043b\u0438 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u044c Scala. \u0421\u0430\u043c\u0430\u044f \u0447\u0430\u0441\u0442\u043e \u0443\u043f\u043e\u043c\u0438\u043d\u0430\u0435\u043c\u0430\u044f \u043f\u0440\u0438\u0447\u0438\u043d\u0430 \u0442\u0430\u043a\u0430\u044f: \u0431\u0438\u0437\u043d\u0435\u0441 \u043e\u0442\u043a\u0430\u0437\u044b\u0432\u0430\u0435\u0442\u0441\u044f \u043e\u0442 \u043d\u043e\u0432\u044b\u0445 \u043f\u0440\u043e\u0435\u043a\u0442\u043e\u0432 \u043d\u0430 Scala \u0438 \u043f\u0435\u0440\u0435\u0432\u043e\u0437\u0438\u0442 \u043d\u0430 \u0434\u0440\u0443\u0433\u043e\u0439 \u044f\u0437\u044b\u043a.<\/p>\n<\/li>\n<li>\n<p><a href=\"https:\/\/odersky.github.io\/blog\/2024-01-04-post.html\"><u>Some Memories of Niklaus Wirth<\/u><\/a> \u2014 \u00ab\u041d\u0430\u0440\u043e\u0434, \u0432\u0441\u0435, \u043a\u0442\u043e \u0437\u0430\u043d\u0438\u043c\u0430\u0435\u0442\u0441\u044f \u043f\u0440\u043e\u043c\u044b\u0448\u043b\u0435\u043d\u043d\u043e\u0439 \u0440\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u043a\u043e\u0439, \u0432\u0441\u0442\u0443\u043f\u0430\u0439\u0442\u0435 \u0432 \u043d\u0430\u0448 \u043a\u043b\u0430\u043d \u0441\u043a\u0430\u043b\u0438\u0441\u0442\u043e\u0432. \u0422\u0430\u043c \u0431\u044b\u043b \u044f, \u0442\u0430\u043c \u0431\u044b\u043b \u041b\u0435\u0445\u0430. \u0425\u043e\u0440\u043e\u0448\u0438\u0439 \u044f\u0437\u044b\u043a, \u043d\u043e \u0449\u0430\u0441 \u0437\u0430\u0433\u043d\u0438\u0432\u0430\u0435\u0442\u00bb. \u0423 Martin Odersky \u043f\u043e\u044f\u0432\u0438\u043b\u0441\u044f \u0431\u043b\u043e\u0433, \u0438 \u041d\u0430\u0441\u0442\u044f \u043d\u0430\u0445\u043e\u0434\u0438\u0442 \u0441\u0443\u043f\u0435\u0440\u0438\u0440\u043e\u043d\u0438\u0447\u043d\u044b\u043c \u0442\u043e, \u0447\u0442\u043e \u043f\u0435\u0440\u0432\u044b\u0439 \u043f\u043e\u0441\u0442 \u2014 \u044d\u0442\u043e \u043d\u0435\u043a\u0440\u043e\u043b\u043e\u0433, \u0432 \u043a\u043e\u0442\u043e\u0440\u043e\u043c \u0432\u043e\u0441\u0445\u0438\u0449\u0430\u044e\u0442\u0441\u044f \u043f\u0440\u043e\u0441\u0442\u043e\u0442\u043e\u0439 \u0438 \u043b\u0430\u043a\u043e\u043d\u0438\u0447\u043d\u043e\u0441\u0442\u044c\u044e \u044f\u0437\u044b\u043a\u043e\u0432 \u0438 \u043a\u043e\u043c\u043f\u0438\u043b\u044f\u0442\u043e\u0440\u043e\u0432.<\/p>\n<\/li>\n<\/ul>\n<p><strong>\u0420\u0443\u0431\u0440\u0438\u043a\u0430 \u00ab\u0413\u043e\u0442\u043e\u0432\u0438\u043c \u0441 \u0430\u0439\u0442\u0438\u0448\u043d\u0438\u043a\u0430\u043c\u0438 \u0432\u043c\u0435\u0441\u0442\u0435\u00bb:<\/strong><\/p>\n<ul>\n<li>\n<p><a href=\"https:\/\/eed3si9n.com\/vegan-osechi-2024\/\"><u>vegan osechi 2024<\/u><\/a> \u2014 \u0443 \u0430\u0437\u0438\u0430\u0442\u043e\u0432 \u0434\u043e\u043c\u0430\u0448\u043d\u0438\u0435 \u0440\u043e\u043b\u043b\u044b \u0442\u0430\u043a\u0438\u0435 \u0436\u0435 \u0441\u0442\u0440\u0430\u0448\u043d\u044b\u0435, \u043a\u0430\u043a \u0438 \u0443 \u043d\u0430\u0441. \u0422\u0430\u043a \u0447\u0442\u043e \u0432\u0441\u0435 \u043d\u043e\u0440\u043c.<\/p>\n<\/li>\n<li>\n<p><a href=\"https:\/\/alexn.org\/blog\/2024\/01\/01\/new-year-resolutions\/\"><u>New Year Resolutions<\/u><\/a> \u2014 Alexandru Nedelcu \u0443\u0447\u0438\u0442 \u043d\u0430\u0441, \u043a\u0430\u043a \u043f\u0440\u0430\u0432\u0438\u043b\u044c\u043d\u043e \u0445\u0443\u0434\u0435\u0442\u044c.<\/p>\n<\/li>\n<li>\n<p><a href=\"https:\/\/blog.dtth.ch\/nki\/chef-thuy-phams-thit-kho-tau-recipe\"><u>Chef Thuy Pham\u2019s \u201cTh\u1ecbt Kho T\u00e0u\u201d recipe<\/u><\/a> \u2014<\/p>\n<\/li>\n<\/ul>\n<\/div>\n<\/div>\n<\/div>\n<\/div>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[],"tags":[],"class_list":["post-366980","post","type-post","status-publish","format-standard","hentry"],"_links":{"self":[{"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=\/wp\/v2\/posts\/366980","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=366980"}],"version-history":[{"count":0,"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=\/wp\/v2\/posts\/366980\/revisions"}],"wp:attachment":[{"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=366980"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=366980"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=366980"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}