{"id":358938,"date":"2024-05-21T00:22:09","date_gmt":"2024-05-21T00:22:09","guid":{"rendered":"http:\/\/savepearlharbor.com\/?p=358938"},"modified":"-0001-11-30T00:00:00","modified_gmt":"2024-05-21T00:22:09","slug":"","status":"publish","type":"post","link":"https:\/\/savepearlharbor.com\/?p=358938","title":{"rendered":"<span>Scala Digest. \u0412\u044b\u043f\u0443\u0441\u043a 10<\/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\/7d3\/882\/fd5\/7d3882fd516c99ca51af9540a3b895e4.png\" width=\"1561\" height=\"881\" data-src=\"https:\/\/habrastorage.org\/getpro\/habr\/upload_files\/7d3\/882\/fd5\/7d3882fd516c99ca51af9540a3b895e4.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:\/\/blog.jetbrains.com\/blog\/2023\/10\/12\/ai-assistant-update-october-2023\"><u>AI Assistant Update \u2014 October 2023<\/u><\/a> \u2014 \u0434\u043e\u0431\u0430\u0432\u0438\u043b\u0438 \u043d\u0435\u0441\u043a\u043e\u043b\u044c\u043a\u043e \u043d\u043e\u0432\u044b\u0445 \u0444\u0438\u0447, \u0432\u043a\u043b\u044e\u0447\u0430\u044f \u0443\u0434\u043e\u0431\u043d\u044b\u0439 diff view \u043d\u0430 \u0440\u0435\u0444\u0430\u043a\u0442\u043e\u0440\u0438\u043d\u0433\u0435;<\/p>\n<\/li>\n<li>\n<p><a href=\"https:\/\/blog.jetbrains.com\/idea\/2023\/10\/intellij-idea-2023-2-4\/\"><u>IntelliJ IDEA 2023.2.4 Is Out!<\/u><\/a> \u0438 <a href=\"https:\/\/blog.jetbrains.com\/idea\/2023\/10\/intellij-idea-2023-2-3\/\"><u>IntelliJ IDEA 2023.2.3 Is Out!<\/u><\/a>;<\/p>\n<\/li>\n<li>\n<p><a href=\"https:\/\/github.com\/scalalandio\/chimney\/releases\/tag\/0.8.0\"><u>chimney 0.8.0<\/u><\/a> \u2014 \u0432\u044b\u0448\u0435\u043b \u043a\u0430\u043a\u043e\u0439-\u0442\u043e \u043e\u0447\u0435\u043d\u044c \u0441\u043e\u043b\u0438\u0434\u043d\u044b\u0439 \u0440\u0435\u043b\u0438\u0437, \u0435\u0441\u043b\u0438 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u0435\u0442\u0435 chimney, \u043e\u0431\u044f\u0437\u0430\u0442\u0435\u043b\u044c\u043d\u043e \u0437\u0430\u0446\u0435\u043d\u0438\u0442\u0435;<\/p>\n<\/li>\n<li>\n<p><a href=\"https:\/\/pekko.apache.org\/docs\/pekko-persistence-cassandra\/1.0\/\"><u>Pekko Persistence Cassandra 1.0<\/u><\/a> \u2014 \u043a\u0442\u043e \u0436\u0434\u0430\u043b, \u0442\u043e\u0442 \u0434\u043e\u0436\u0434\u0430\u043b\u0441\u044f;<\/p>\n<\/li>\n<li>\n<p><a href=\"https:\/\/github.com\/scalameta\/metals\/releases\/tag\/v1.1.0\"><u>metals v1.1.0<\/u><\/a>;<\/p>\n<\/li>\n<li>\n<p><a href=\"https:\/\/github.com\/VirtusLab\/scala-cli\/releases\/tag\/v1.0.5\"><u>scala-cli v1.0.5<\/u><\/a>;<\/p>\n<\/li>\n<li>\n<p><a href=\"https:\/\/www.scala-native.org\/en\/stable\/changelog\/0.4.16.html\"><u>scala-native 0.4.16<\/u><\/a>;<\/p>\n<\/li>\n<li>\n<p><a href=\"https:\/\/github.com\/com-lihaoyi\/mill\/releases\/tag\/0.11.5\"><u>mill 0.11.5<\/u><\/a>;<\/p>\n<\/li>\n<li>\n<p><a href=\"https:\/\/eed3si9n.com\/sbt-1.9.7\"><u>sbt 1.9.7<\/u><\/a>;<\/p>\n<\/li>\n<li>\n<p><a href=\"https:\/\/github.com\/typelevel\/cats-effect\/releases\/tag\/v3.5.2\"><u>cats-effect v3.5.2<\/u><\/a>;<\/p>\n<\/li>\n<li>\n<p><a href=\"https:\/\/github.com\/softwaremill\/magnolia\/releases\/tag\/scala3-v1.3.4\"><u>magnolia scala3-v1.3.4<\/u><\/a>;<\/p>\n<\/li>\n<li>\n<p><a href=\"https:\/\/github.com\/softwaremill\/sttp\/releases\/tag\/v4.0.0-M6\"><u>sttp v4.0.0-M6<\/u><\/a>;<\/p>\n<\/li>\n<li>\n<p><a href=\"https:\/\/github.com\/softwaremill\/tapir\/releases\"><u>tapir v1.7.6-v1.8.2<\/u><\/a>;<\/p>\n<\/li>\n<li>\n<p><a href=\"https:\/\/github.com\/zio\/zio-http\/releases\/tag\/v3.0.0-RC3\"><u>zio-http v3.0.0-RC3<\/u><\/a>;<\/p>\n<\/li>\n<li>\n<p><a href=\"https:\/\/github.com\/zio\/zio-kafka\/releases\/tag\/v2.5.0\"><u>zio-kafka v2.5.0<\/u><\/a>;<\/p>\n<\/li>\n<li>\n<p><a href=\"https:\/\/github.com\/zio\/zio-quill\/releases\/tag\/v4.8.0\"><u>zio-quill v4.8.0<\/u><\/a>;<\/p>\n<\/li>\n<li>\n<p><a href=\"https:\/\/github.com\/Iltotore\/iron\/releases\"><u>iron v2.3.0-RC1, v2.3.0-RC2<\/u><\/a>;<\/p>\n<\/li>\n<li>\n<p><a href=\"https:\/\/github.com\/PurpleKingdomGames\/tyrian\/releases\/tag\/v0.8.0\"><u>tyran v0.8.0<\/u><\/a>;<\/p>\n<\/li>\n<li>\n<p><a href=\"https:\/\/github.com\/PurpleKingdomGames\/indigo\/releases\/tag\/v0.15.1\"><u>indigo v0.15.1<\/u><\/a>;<\/p>\n<\/li>\n<li>\n<p><a href=\"https:\/\/github.com\/disneystreaming\/smithy4s\/releases\/tag\/v0.18.2\"><u>smithy4s v0.18.2.<\/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, \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<p><a href=\"https:\/\/www.youtube.com\/@IT_i_td\"><u>\u041d\u0430 \u043a\u0430\u043d\u0430\u043b\u0435 \u00abIT \u0438 \u0442. \u0434.\u00bb<\/u><\/a> \u0432\u044b\u0448\u0435\u043b \u0437\u0430\u043a\u043b\u044e\u0447\u0438\u0442\u0435\u043b\u044c\u043d\u044b\u0439 \u0440\u043e\u043b\u0438\u043a <a href=\"https:\/\/www.youtube.com\/watch?v=-NR_4RjUAGw&amp;list=PLLrf_044z4JpWZkPw9EDa-mM0fjdOKq7q&amp;pp=iAQB\"><u>\u043f\u0440\u043e\u0435\u043a\u0442\u0430 \u043f\u0440\u043e \u043e\u0441\u043e\u0431\u0435\u043d\u043d\u043e\u0441\u0442\u0438 S\u0441ala-\u0440\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u043a\u0438 Scala in Tinkoff.<\/u><\/a> \u041d\u0430\u0448\u0438 \u0440\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u0447\u0438\u043a\u0438, \u043b\u0438\u0434\u044b \u0438 \u0440\u0443\u043a\u043e\u0432\u043e\u0434\u0438\u0442\u0435\u043b\u0438 \u043f\u0440\u043e\u0435\u043a\u0442\u043e\u0432 \u0440\u0430\u0441\u0441\u043a\u0430\u0437\u0430\u043b\u0438 \u043e \u0434\u0435\u0442\u0430\u043b\u044f\u0445 \u0440\u0430\u0431\u043e\u0442\u044b \u0438 \u0436\u0438\u0437\u043d\u0438 Scala-\u043a\u043e\u043c\u0430\u043d\u0434: \u043a\u0430\u043a\u0438\u0435 \u0437\u0430\u0434\u0430\u0447\u0438 \u0440\u0435\u0448\u0430\u044e\u0442\u0441\u044f, \u043a\u0430\u043a\u043e\u0439 \u0441\u0442\u0435\u043a \u0442\u0435\u0445\u043d\u043e\u043b\u043e\u0433\u0438\u0439 \u0438 \u0431\u0438\u0431\u043b\u0438\u043e\u0442\u0435\u043a \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u0435\u0442\u0441\u044f, \u043a\u0430\u043a\u0438\u0435 \u043e\u0441\u043e\u0431\u0435\u043d\u043d\u043e\u0441\u0442\u0438 \u0432\u0441\u0442\u0440\u0435\u0447\u0430\u044e\u0442\u0441\u044f \u0443 \u043f\u0440\u043e\u0435\u043a\u0442\u043e\u0432. \u0415\u0441\u0442\u044c \u0438\u043d\u0441\u0430\u0439\u0442\u044b \u043f\u0440\u043e \u043c\u0438\u043b\u044b\u0435 \u043e\u0442\u043b\u0438\u0447\u0438\u0442\u0435\u043b\u044c\u043d\u044b\u0435 \u0447\u0435\u0440\u0442\u043e\u0447\u043a\u0438 \u043a\u043e\u043c\u0430\u043d\u0434, \u043f\u0440\u0438\u0432\u044b\u0447\u043a\u0438 \u0438 \u0437\u0430\u0431\u0430\u0432\u043d\u044b\u0435 \u043a\u0443\u043b\u0441\u0442\u043e\u0440\u0438 \u0438\u0437 \u0436\u0438\u0437\u043d\u0438.<br \/>\u0420\u043e\u043b\u0438\u043a\u0438 \u043f\u044f\u0442\u0438\u043c\u0438\u043d\u0443\u0442\u043d\u044b\u0435, \u0434\u0438\u043d\u0430\u043c\u0438\u0447\u043d\u044b\u0435, \u0441 \u043f\u0440\u0438\u043a\u043e\u043b\u044c\u043d\u043e\u0439 \u0430\u043d\u0438\u043c\u0430\u0446\u0438\u0435\u0439-\u0440\u0438\u0441\u043e\u0432\u043a\u043e\u0439. \u041e\u0431\u044f\u0437\u0430\u0442\u0435\u043b\u044c\u043d\u043e \u0437\u0430\u0446\u0435\u043d\u0438\u0442\u0435 \ud83d\ude42 \u0418 \u043f\u043e\u0441\u043c\u043e\u0442\u0440\u0438\u0442\u0435 \u043f\u0440\u0435\u0434\u044b\u0434\u0443\u0449\u0438\u0435 \u0440\u043e\u043b\u0438\u043a\u0438, \u0435\u0441\u043b\u0438 \u043d\u0435 \u0441\u0434\u0435\u043b\u0430\u043b\u0438 \u044d\u0442\u043e\u0433\u043e \u0440\u0430\u043d\u044c\u0448\u0435!<\/p>\n<div class=\"tm-iframe_temp\" data-src=\"https:\/\/embedd.srv.habr.com\/iframe\/6540c319ff7a727696f55f8c\" data-style=\"\" id=\"6540c319ff7a727696f55f8c\" width=\"\"><\/div>\n<h2>\u0421\u0442\u0430\u0442\u044c\u0438<\/h2>\n<p>\u0412 \u044d\u0442\u043e\u043c \u0440\u0430\u0437\u0434\u0435\u043b\u0435 \u0434\u0435\u043b\u0438\u043c\u0441\u044f \u0441\u0432\u0435\u0436\u0438\u043c\u0438 \u0441\u0442\u0430\u0442\u044c\u044f\u043c\u0438, \u0440\u0435\u043f\u043e\u0437\u0438\u0442\u043e\u0440\u0438\u044f\u043c\u0438 \u0438 \u0438\u0441\u0441\u043b\u0435\u0434\u043e\u0432\u0430\u043d\u0438\u044f\u043c\u0438, \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:\/\/etorreborre.blog\/turning-actors-inside-out\"><u>Turning actors inside-out<\/u><\/a> \u2014 \u0432 \u0441\u0442\u0430\u0442\u044c\u0435 \u0440\u0430\u0437\u0431\u0438\u0440\u0430\u044e\u0442\u0441\u044f \u043e\u0441\u043e\u0431\u0435\u043d\u043d\u043e\u0441\u0442\u0438 \u0430\u043a\u0442\u043e\u0440\u043d\u043e\u0439 \u043c\u043e\u0434\u0435\u043b\u0438 \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u044f. \u0410\u0441\u0438\u043d\u0445\u0440\u043e\u043d\u043d\u0430\u044f \u043f\u043e \u0441\u0432\u043e\u0435\u0439 \u043f\u0440\u0438\u0440\u043e\u0434\u0435 \u043c\u043e\u0434\u0435\u043b\u044c, \u043e\u0431\u0440\u0430\u0431\u043e\u0442\u043a\u0430 \u043e\u0448\u0438\u0431\u043e\u043a \u0441 \u043f\u043e\u043c\u043e\u0449\u044c\u044e supervisor, \u0441\u043b\u043e\u0436\u043d\u043e\u0441\u0442\u044c \u0434\u0435\u0431\u0430\u0433\u0430 \u0438 \u0442\u0430\u043a \u0434\u0430\u043b\u0435\u0435. \u0421\u0442\u043e\u0438\u0442 \u043e\u0437\u043d\u0430\u043a\u043e\u043c\u0438\u0442\u044c\u0441\u044f, \u0447\u0442\u043e\u0431\u044b \u0443\u0437\u043d\u0430\u0442\u044c \u0447\u0443\u0442\u044c \u0431\u043e\u043b\u044c\u0448\u0435 \u043e \u0436\u0435\u043b\u0435\u0437\u0435 \u0430\u043a\u0442\u043e\u0440\u043e\u0432 \u043f\u043e\u0434 \u043a\u0430\u043f\u043e\u0442\u043e\u043c. <abbr class=\"habraabbr\" title=\"\u043c\u043e\u0434\u0435\u043b\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u0435 Halo 4 \u0430\u043a\u0442\u043e\u0440\u0430\u043c\u0438!\" data-title=\"&lt;p>\u043c\u043e\u0434\u0435\u043b\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u0435 Halo 4 \u0430\u043a\u0442\u043e\u0440\u0430\u043c\u0438!&lt;\/p>&#187; data-abbr=&#187;\u0410 \u0435\u0449\u0435 \u0432 \u0442\u0435\u043a\u0441\u0442\u0435 \u043f\u043e\u043b\u043d\u043e \u0441\u0441\u044b\u043b\u043e\u0447\u0435\u043a \u043d\u0430 \u0434\u0440\u0443\u0433\u0438\u0435 \u043c\u0430\u0442\u0435\u0440\u0438\u0430\u043b\u044b \u043f\u043e \u0430\u043a\u0442\u043e\u0440\u043d\u043e\u0439 \u043c\u043e\u0434\u0435\u043b\u0438&#187;>\u0410 \u0435\u0449\u0435 \u0432 \u0442\u0435\u043a\u0441\u0442\u0435 \u043f\u043e\u043b\u043d\u043e \u0441\u0441\u044b\u043b\u043e\u0447\u0435\u043a \u043d\u0430 \u0434\u0440\u0443\u0433\u0438\u0435 \u043c\u0430\u0442\u0435\u0440\u0438\u0430\u043b\u044b \u043f\u043e \u0430\u043a\u0442\u043e\u0440\u043d\u043e\u0439 \u043c\u043e\u0434\u0435\u043b\u0438<\/abbr>.<\/p>\n<\/li>\n<li>\n<p><a href=\"https:\/\/medium.com\/@w.pitula\/in-defence-of-mocks-c94716edf7be\"><u>In Defence of Mocks<\/u><\/a> \u2014 \u00abThis is my Mocks. There are many like it, but this one is mine. My Mocks are my best friend. It is my life. I must master it as I must master my life. Without me, my Mocks are useless. Without my Mocks, I am useless. I must test my Mocks true\u00bb. \u0412\u043e\u0437\u043c\u043e\u0436\u043d\u043e, \u0438\u043c\u0435\u043d\u043d\u043e \u0442\u0430\u043a \u0438 \u0434\u0443\u043c\u0430\u043b \u0430\u0432\u0442\u043e\u0440 \u2182_\u2182<\/p>\n<\/li>\n<\/ul>\n<ul>\n<li>\n<p><a href=\"https:\/\/americovargas.medium.com\/why-on-earth-a-zio-io-monad-for-scala-90768e89ab2a\"><u>Why on earth a ZIO IO monad for Scala?<\/u><\/a> \u2014 \u0434\u043e\u0431\u0440\u043e\u0442\u043d\u043e\u0435 \u0438 \u0433\u0440\u0430\u043c\u043e\u0442\u043d\u043e\u0435 \u043e\u0431\u044a\u044f\u0441\u043d\u0435\u043d\u0438\u0435 \u043e\u0441\u043d\u043e\u0432 \u0444\u0443\u043d\u043a\u0446\u0438\u043e\u043d\u0430\u043b\u044c\u043d\u043e\u0439 \u043f\u0430\u0440\u0430\u0434\u0438\u0433\u043c\u044b. ZIO \u043f\u0440\u0438\u0441\u0443\u0442\u0441\u0442\u0432\u0443\u0435\u0442.<\/p>\n<\/li>\n<\/ul>\n<ul>\n<li>\n<p><a href=\"https:\/\/www.scalamatters.io\/post\/why-i-find-scala-so-amazing\"><u>Why I Find Scala so Amazing<\/u><\/a> \u2014 \u0431\u044b\u0432\u0448\u0438\u0439 \u0430\u0434\u0435\u043f\u0442 PHP \u0432\u043e\u0441\u0445\u0438\u0449\u0435\u043d \u0432\u043e\u0437\u043c\u043e\u0436\u043d\u043e\u0441\u0442\u044f\u043c\u0438 \u0444\u0443\u043d\u043a\u0446\u0438\u043e\u043d\u0430\u043b\u044c\u043d\u043e\u0433\u043e \u0441\u0442\u0440\u043e\u0433\u043e\u0442\u0438\u043f\u0438\u0437\u0438\u0440\u043e\u0432\u0430\u043d\u043d\u043e\u0433\u043e \u044f\u0437\u044b\u043a\u0430 \u0441 \u044d\u043c\u0431\u043b\u0435\u043c\u043e\u0439 \u0432 \u0432\u0438\u0434\u0435 \u043a\u0440\u0430\u0441\u043d\u043e\u0433\u043e \u0448\u0430\u0440\u0444\u0438\u043a\u0430 \u0438 \u0435\u0433\u043e \u043a\u043e\u043c\u0444\u043e\u0440\u0442\u043d\u043e\u0433\u043e \u0441\u0438\u043d\u0442\u0430\u043a\u0441\u0438\u0441\u0430.<\/p>\n<\/li>\n<\/ul>\n<ul>\n<li>\n<p><a href=\"https:\/\/gist.github.com\/alexandru\/60e977fcf75ed88c4d0b824b312dba44\"><u>concurrent-cancellation-kotlin-vs-scala<\/u><\/a> \u2014 Alex Nedelcu \u043d\u0430\u043f\u0438\u0441\u0430\u043b gist-\u0437\u0430\u043c\u0435\u0442\u043a\u0443 \u043d\u0430 \u0442\u0435\u043c\u0443 \u043f\u0440\u0435\u0440\u044b\u0432\u0430\u043d\u0438\u044f IO-\u0432\u044b\u0447\u0438\u0441\u043b\u0435\u043d\u0438\u0439 \u043d\u0430 Scala \u0438 Kotlin \u0438 \u043f\u043e\u0447\u0435\u043c\u0443 \u0432 JVM 21 \u044d\u0442\u043e \u0443\u0436\u0435 \u043d\u0435 \u0442\u0430\u043a \u0432\u0430\u0436\u043d\u043e.<\/p>\n<\/li>\n<\/ul>\n<ul>\n<li>\n<p><a href=\"https:\/\/yadukrishnan.live\/scala-made-simple-for-beginners-a-gentle-introduction-to-kickstarting-your-scala-learning\"><u>Scala Made Simple for Beginners: A Gentle Introduction to Kickstarting Your Scala Learning<\/u><\/a> \u2014 \u0433\u0430\u0439\u0434, \u043a\u0430\u043a \u0431\u044b\u0441\u0442\u0440\u043e \u0438 \u0431\u0435\u0437 \u0431\u043e\u043b\u0438 \u0437\u0430\u043f\u0443\u0441\u0442\u0438\u0442\u044c \u043f\u0435\u0440\u0432\u043e\u0435 \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u0435 \u043d\u0430 Scala.<\/p>\n<\/li>\n<\/ul>\n<ul>\n<li>\n<p><a href=\"http:\/\/fpilluminated.com\/assets\/fusing-transformations-of-strict-scala-collections-with-views.html\"><u>Fusing Transformations of Strict Scala Collections with Views<\/u><\/a> \u2014 \u0440\u0430\u0437\u0431\u0438\u0440\u0430\u0435\u0442\u0441\u044f \u0438\u043d\u0442\u0435\u0440\u0435\u0441\u043d\u0430\u044f \u0442\u0435\u043c\u0430 .view-\u043c\u0435\u0442\u043e\u0434\u0430 \u043d\u0430 \u043a\u043e\u043b\u043b\u0435\u043a\u0446\u0438\u044f\u0445. \u0421\u043b\u0430\u0439\u0434\u044b \u0441\u043e\u0434\u0435\u0440\u0436\u0430\u0442\u0435\u043b\u044c\u043d\u044b\u0435, \u043c\u043d\u043e\u0433\u043e \u0441\u0441\u044b\u043b\u043e\u043a \u043d\u0430 \u043a\u043d\u0438\u0433\u0438 \u043f\u043e Scala. \u0416\u0430\u043b\u044c, \u0447\u0442\u043e \u043d\u0435\u0442 \u0437\u0430\u043f\u0438\u0441\u0438 \u043e\u0440\u0438\u0433\u0438\u043d\u0430\u043b\u044c\u043d\u043e\u0433\u043e \u0434\u043e\u043a\u043b\u0430\u0434\u0430, \u0435\u0441\u043b\u0438 \u0442\u0430\u043a\u043e\u0439 \u0441\u0443\u0449\u0435\u0441\u0442\u0432\u0443\u0435\u0442.<\/p>\n<\/li>\n<\/ul>\n<ul>\n<li>\n<p><a href=\"https:\/\/speakerdeck.com\/philipschwarz\/tagless-final-encoding-algebras-and-interpreters-and-also-programs\"><u>Tagless Final Encoding<\/u><\/a> \u2014 \u0435\u0449\u0435 \u0441\u043b\u0430\u0439\u0434\u044b \u043e\u0442 \u0430\u0432\u0442\u043e\u0440\u0430 \u0432\u044b\u0448\u0435 \u0432 \u0444\u043e\u0440\u043c\u0430\u0442\u0435 \u0434\u0438\u0430\u043b\u043e\u0433\u0430 \u0441 Gabriel Volpe \u043e tagless final.<\/p>\n<\/li>\n<li>\n<p><a href=\"https:\/\/scalajobs.com\/blog\/how-to-create-durations-in-scala\/\"><u>How to create Durations in Scala<\/u><\/a> \u2014 \u043c\u0438\u043d\u0438-\u0437\u0430\u043c\u0435\u0442\u043a\u0430 \u043e \u0442\u043e\u043c, \u0447\u0442\u043e \u043c\u043e\u0436\u043d\u043e \u043f\u0438\u0441\u0430\u0442\u044c 2.minutes \u0432\u043c\u0435\u0441\u0442\u043e Duration(2, TimeUnit.MINUTES).<\/p>\n<\/li>\n<\/ul>\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<p>\u041d\u0430 \u043a\u0430\u043d\u0430\u043b\u0435 Scala Days Conferences \u0432\u044b\u043b\u043e\u0436\u0438\u043b\u0438 \u0437\u0430\u043f\u0438\u0441\u0438 \u0434\u043e\u043a\u043b\u0430\u0434\u043e\u0432 \u0438 \u0432\u044b\u0441\u0442\u0443\u043f\u043b\u0435\u043d\u0438\u0439 \u0441 \u043f\u0440\u043e\u0448\u0435\u0434\u0448\u0435\u0439 \u043a\u043e\u043d\u0444\u0435\u0440\u0435\u043d\u0446\u0438\u0438 <a href=\"http:\/\/youtube.com\/watch?v=_mXSOkHanXc\"><u>Scala Days 2023<\/u><\/a> \u0432 \u041c\u0430\u0434\u0440\u0438\u0434\u0435. \u041f\u0440\u0438\u0433\u043b\u0430\u0448\u0430\u0435\u043c \u043f\u043e\u0441\u043c\u043e\u0442\u0440\u0435\u0442\u044c, \u0430 \u0431\u043e\u043b\u0435\u0435 \u043f\u043e\u0434\u0440\u043e\u0431\u043d\u044b\u0439 \u0440\u0435\u0442\u0435\u043b\u043b\u0438\u043d\u0433 \u043e\u0442\u0434\u0435\u043b\u044c\u043d\u044b\u0445 \u0434\u043e\u043a\u043b\u0430\u0434\u043e\u0432 \u0431\u0443\u0434\u0435\u0442 \u043e\u0442 \u043d\u0430\u0441 \u0432 \u0441\u043b\u0435\u0434\u0443\u044e\u0449\u0435\u043c \u043c\u0435\u0441\u044f\u0446\u0435\u00a0 (\u2283\uff61\u2022\u0301\u203f\u2022\u0300\uff61)\u2283\u2501\u2606\uff9f.*\uff65\uff61\uff9f<\/p>\n<div class=\"tm-iframe_temp\" data-src=\"https:\/\/embedd.srv.habr.com\/iframe\/6540c3e972e08276d7bbd0f9\" data-style=\"\" id=\"6540c3e972e08276d7bbd0f9\" width=\"\"><\/div>\n<ul>\n<li>\n<p><a href=\"https:\/\/www.youtube.com\/live\/lQOwF9TQEpk?si=Z8KQ8vnpL3xtqSzD\"><u>M2_TECH Scala Meetup<\/u><\/a> \u2014 \u0442\u0440\u0438 \u0440\u0430\u0441\u0441\u043a\u0430\u0437\u0430 \u043e Scala. \u041f\u0435\u0440\u0432\u044b\u0439 \u0434\u043e\u043a\u043b\u0430\u0434 \u2014 \u043f\u0440\u0435\u0437\u0435\u043d\u0442\u0430\u0446\u0438\u044f \u0431\u0438\u0431\u043b\u0438\u043e\u0442\u0435\u043a\u0438 <a href=\"https:\/\/github.com\/m2-oss\/calypso\"><u>calypso<\/u><\/a>, \u043f\u043e\u043c\u043e\u0433\u0430\u044e\u0449\u0435\u0439 \u043a\u043e\u0440\u0440\u0435\u043a\u0442\u043d\u043e \u043f\u0435\u0440\u0435\u0433\u043e\u043d\u044f\u0442\u044c \u0441\u043b\u043e\u0436\u043d\u044b\u0435 \u043c\u043e\u0434\u0435\u043b\u0438 \u0432 BSON \u0438 \u043e\u0431\u0440\u0430\u0442\u043d\u043e, \u0432 \u0447\u0430\u0441\u0442\u043d\u043e\u0441\u0442\u0438 \u0434\u043b\u044f \u0445\u0440\u0430\u043d\u0435\u043d\u0438\u044f \u0432 MongoDB. \u0412\u0442\u043e\u0440\u043e\u0439 \u2014 \u043e Saga-\u043f\u0430\u0442\u0442\u0435\u0440\u043d\u0435 \u0438 Transactional Outbox \u0438 \u0438\u0445 \u0440\u0430\u0437\u043d\u0438\u0446\u0435 \u043d\u0430 \u043a\u043e\u043d\u043a\u0440\u0435\u0442\u043d\u043e\u043c \u043f\u0440\u0438\u043c\u0435\u0440\u0435 \u0441\u0435\u0440\u0432\u0438\u0441\u0430 \u0431\u0440\u043e\u043d\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u044f \u0432 \u043f\u0443\u0442\u0435\u0448\u0435\u0441\u0442\u0432\u0438\u044f\u0445. \u0417\u0430\u043a\u043b\u044e\u0447\u0438\u0442\u0435\u043b\u044c\u043d\u044b\u0439 \u0434\u043e\u043a\u043b\u0430\u0434 \u0434\u0435\u043b\u0438\u0442\u0441\u044f \u043f\u043e\u0434\u0440\u043e\u0431\u043d\u043e\u0441\u0442\u044f\u043c\u0438 \u0440\u0430\u0431\u043e\u0442\u044b \u0441 \u043f\u043e\u0434\u0445\u043e\u0434\u043e\u043c Vertical slice \u0432 Scala.<\/p>\n<\/li>\n<li>\n<p><a href=\"http:\/\/youtube.com\/watch?v=RwCS1vjeweA\"><u>Scala Meetup Lisbon Hub 2023 \u2014 Part 1<\/u><\/a> \u2014 shift-left-\u043f\u043e\u0434\u0445\u043e\u0434 \u0432 \u0440\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u043a\u0435 \u043d\u0430 \u043f\u0440\u0430\u043a\u0442\u0438\u043a\u0435. \u041e \u0442\u043e\u043c, \u043a\u0430\u043a \u0440\u0435\u0430\u043b\u0438\u0437\u043e\u0432\u0430\u0442\u044c <a href=\"https:\/\/blog.7mind.io\/constructive-test-taxonomy\"><u>Dual Tests Tactic<\/u><\/a>, \u0437\u0430\u0440\u0443\u0447\u0438\u0432\u0448\u0438\u0441\u044c \u043f\u043e\u0434\u0434\u0435\u0440\u0436\u043a\u043e\u0439 <a href=\"https:\/\/izumi.7mind.io\/\"><u>distage \/ distage-testkit.<\/u><\/a><\/p>\n<\/li>\n<li>\n<p><a href=\"http:\/\/youtube.com\/watch?v=ISZfGFTaM9k\"><u>Scala Meetup Lisbon Hub 2023 \u2014 Part 2<\/u><\/a> \u2014 7mind \u043f\u0438\u043b\u044f\u0442 \u0441\u0432\u043e\u0439 build tool \u0441 \u043c\u0443\u043b\u044c\u0442\u0438\u043c\u043e\u0434\u0443\u043b\u044c\u043d\u044b\u043c\u0438 \u043f\u0440\u043e\u0435\u043a\u0442\u0430\u043c\u0438 \u0438 \u0438\u0437\u043e\u043b\u0438\u0440\u043e\u0432\u0430\u043d\u043d\u044b\u043c\u0438 \u0431\u0438\u043b\u0434\u0430\u043c\u0438. \u041f\u043e\u043a\u0430 \u043d\u0430 \u0441\u0442\u0430\u0434\u0438\u0438 research, \u043f\u043e\u044d\u0442\u043e\u043c\u0443 \u043f\u043e\u0442\u044b\u043a\u0430\u0442\u044c \u043d\u0435\u043b\u044c\u0437\u044f, \u043d\u043e \u0438\u043d\u0442\u0435\u0440\u0435\u0441\u043d\u043e \u043f\u043e\u0441\u043b\u0443\u0448\u0430\u0442\u044c \u043e \u043a\u043e\u043d\u0446\u0435\u043f\u0446\u0438\u044f\u0445, \u043d\u0430 \u043a\u043e\u0442\u043e\u0440\u044b\u0445 \u0431\u0430\u0437\u0438\u0440\u0443\u0435\u0442\u0441\u044f \u043f\u0440\u043e\u0435\u043a\u0442. \u0415\u0441\u0442\u044c \u043d\u0435\u0431\u043e\u043b\u044c\u0448\u0430\u044f \u0441\u0432\u043e\u0434\u043a\u0430 \u043e \u0441\u0443\u0449\u0435\u0441\u0442\u0432\u0443\u044e\u0449\u0438\u0445 build tool, \u043f\u043e\u0434\u0434\u0435\u0440\u0436\u0438\u0432\u0430\u044e\u0449\u0438\u0445 \u0441\u0431\u043e\u0440\u043a\u0438 \u043d\u0430 Scala, \u0438 \u0447\u0435\u043c \u043e\u043d\u0438 \u043d\u0435 \u0441\u043e\u043e\u0442\u0432\u0435\u0442\u0441\u0442\u0432\u0443\u044e\u0442 \u0445\u043e\u0442\u0435\u043b\u043a\u0430\u043c \u0441\u0435\u0433\u043e\u0434\u043d\u044f\u0448\u043d\u0435\u0433\u043e \u0434\u043d\u044f.<\/p>\n<\/li>\n<li>\n<p><a href=\"https:\/\/www.youtube.com\/watch?v=JEPHf9n3Dgc\"><u>Cellular Automata for video games<\/u><\/a> \u2014 \u0441\u043e\u0432\u0441\u0435\u043c \u043d\u0435 \u043f\u0440\u043e video games. \u041a\u0443\u0441\u043e\u0447\u0435\u043a \u0442\u0435\u043e\u0440\u0438\u0438 \u043e \u043a\u043b\u0435\u0442\u043e\u0447\u043d\u044b\u0445 \u0430\u0432\u0442\u043e\u043c\u0430\u0442\u0430\u0445 \u0438 \u043e \u0442\u043e\u043c, \u043a\u0443\u0434\u0430 \u0438\u0445 \u043c\u043e\u0436\u043d\u043e \u043f\u0440\u0438\u043b\u043e\u0436\u0438\u0442\u044c. \u0412 \u0447\u0430\u0441\u0442\u043d\u043e\u0441\u0442\u0438, \u043a \u043c\u043e\u0434\u0435\u043b\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u044e \u0440\u0435\u0430\u043b\u044c\u043d\u044b\u0445 \u043f\u0440\u043e\u0446\u0435\u0441\u0441\u043e\u0432. \u041b\u0430\u0439\u043a \u0437\u0430 \u0440\u0430\u0441\u0441\u043b\u0430\u0431\u043b\u044f\u044e\u0449\u0438\u0439 \u0442\u043e\u043d \u043f\u043e\u0432\u0435\u0441\u0442\u0432\u043e\u0432\u0430\u043d\u0438\u044f \u0438 \u043a\u0430\u043f\u0435\u043b\u044c\u043a\u0443 \u0441\u0430\u043c\u043e\u0438\u0440\u043e\u043d\u0438\u0438.<\/p>\n<\/li>\n<li>\n<p><a href=\"https:\/\/www.youtube.com\/watch?v=cedWR03lfL8\"><u>Schema management with Scalameta by Lars Albertsson<\/u><\/a> \u2014 \u0441\u043b\u043e\u0436\u043d\u044b\u0439 \u0434\u043e\u043a\u043b\u0430\u0434 \u043e Big Data, \u0432 \u043a\u043e\u0442\u043e\u0440\u043e\u043c \u043f\u0435\u0440\u0435\u043f\u043b\u0435\u0442\u0430\u044e\u0442\u0441\u044f \u043f\u0430\u0439\u043f\u043b\u0430\u0439\u043d\u044b \u0438\u043d\u0436\u0435\u043d\u0435\u0440\u043e\u0432 \u0434\u0430\u043d\u043d\u044b\u0445 \u0441 \u043c\u0430\u043a\u0440\u043e\u0441\u0430\u043c\u0438 Scala. \u0421\u043b\u0443\u0448\u0430\u0442\u044c \u0442\u044f\u0436\u0435\u043b\u043e\u0432\u0430\u0442\u043e, \u043d\u043e \u0433\u0434\u0435 \u043c\u044b \u0435\u0449\u0435 \u0442\u0430\u043a\u043e\u0435 \u0443\u0432\u0438\u0434\u0438\u043c.<\/p>\n<\/li>\n<li>\n<p><a href=\"https:\/\/www.youtube.com\/watch?v=CpUBZI1mr7w\"><u>Microservices and gRPC in Scala with FS2 and Scalapb<\/u><\/a> \u2014 \u0445\u043e\u0440\u043e\u0448\u0435\u0435 \u0432\u0432\u0435\u0434\u0435\u043d\u0438\u0435 \u0432 grpc \u0447\u0435\u0440\u0435\u0437 fs2. \u041a\u043e\u043c\u043f\u0438\u043b\u0438\u0440\u0443\u0435\u043c \u043c\u043e\u0434\u0435\u043b\u044c\u043a\u0438, \u0441\u043e\u0437\u0434\u0430\u0435\u043c \u0441\u0435\u0440\u0432\u0435\u0440 \u0438 \u043a\u043b\u0438\u0435\u043d\u0442. \u041f\u0440\u0438\u044f\u0442\u043d\u043e, \u0447\u0442\u043e \u0432 \u043f\u0440\u043e\u0446\u0435\u0441\u0441\u0435 \u043f\u043e\u0434\u0441\u0432\u0435\u0447\u0438\u0432\u0430\u044e\u0442\u0441\u044f \u043d\u0435\u043e\u0447\u0435\u0432\u0438\u0434\u043d\u044b\u0435 \u0434\u043b\u044f \u043d\u043e\u0432\u0438\u0447\u043a\u043e\u0432 \u043c\u043e\u043c\u0435\u043d\u0442\u044b.<\/p>\n<\/li>\n<li>\n<p><a href=\"https:\/\/www.youtube.com\/watch?v=2EgN0t_vLy4\"><u>Zymposium \u2014 ZIO Q&amp;A<\/u><\/a> \u2014 Adam Fraser, \u043d\u0435\u0434\u0430\u0432\u043d\u043e \u043d\u0430\u0437\u043d\u0430\u0447\u0435\u043d\u043d\u044b\u0439 \u043d\u0430 \u043f\u043e\u0441\u0442 CTO Ziverge, \u0443\u0441\u0442\u0440\u043e\u0438\u043b \u0435\u0449\u0435 \u043e\u0434\u043d\u0443 \u0441\u0435\u0441\u0441\u0438\u044e \u0432\u043e\u043f\u0440\u043e\u0441\u043e\u0432 \u0438 \u043e\u0442\u0432\u0435\u0442\u043e\u0432. \u041f\u043e\u043c\u0438\u043c\u043e \u043f\u0440\u043e\u0447\u0435\u0433\u043e \u043e\u0431\u044a\u044f\u0441\u043d\u0438\u043b, \u0432 \u0447\u0435\u043c \u0440\u0430\u0437\u043d\u0438\u0446\u0430 \u043c\u0435\u0436\u0434\u0443 zio-quill, zio-sql \u0438 zio-jdbc.<\/p>\n<\/li>\n<li>\n<p><a href=\"https:\/\/flatmappers.com\/episode010\/\"><u>flatmappers 010<\/u><\/a> \u2014 \u0440\u0435\u0431\u044f\u0442\u0430 \u043f\u043e\u0433\u043e\u0432\u043e\u0440\u0438\u043b\u0438 \u043f\u0440\u043e K8s, \u0441\u043d\u043e\u0432\u0430 \u0432\u0441\u043f\u043e\u043c\u043d\u0438\u043b\u0438 copilot \u0438 \u043f\u0440\u043e\u0447\u0438\u0435 ai \u0434\u043b\u044f \u043d\u0430\u043f\u0438\u0441\u0430\u043d\u0438\u044f \u043a\u043e\u0434\u0430, \u043f\u043e\u043c\u044f\u043d\u0443\u043b\u0438 \u0434\u043e\u0431\u0440\u044b\u043c \u0441\u043b\u043e\u0432\u043e\u043c Li Haoyi. \u0412\u0430\u0434\u0438\u043c \u043f\u043e\u0434\u0435\u043b\u0438\u043b\u0441\u044f \u0447\u0438\u0442-\u043a\u043e\u0434\u0430\u043c\u0438, \u043a\u0430\u043a \u0441\u0442\u0430\u0442\u044c \u043c\u0435\u0439\u043d\u0442\u0435\u0439\u043d\u0435\u0440\u043e\u043c Mill.<\/p>\n<\/li>\n<li>\n<p><a href=\"https:\/\/flatmappers.com\/episode011\/\"><u>flatmappers 011<\/u><\/a> \u2014 \u043e\u0431\u0441\u0443\u0434\u0438\u043b\u0438 <a href=\"https:\/\/cwiki.apache.org\/confluence\/display\/KAFKA\/KIP-939%3A+Support+Participation+in+2PC\"><u>KIP \u043e \u0434\u0432\u0443\u0445\u0444\u0430\u0437\u043d\u043e\u043c \u043a\u043e\u043c\u043c\u0438\u0442\u0435 \u0432 Kafka.<\/u><\/a> \u0412\u0441\u043f\u043e\u043c\u043d\u0438\u043b\u0438, \u0433\u0434\u0435 \u043c\u043e\u0436\u043d\u043e \u043f\u043e\u0447\u0438\u0442\u0430\u0442\u044c \u043d\u043e\u0432\u043e\u0441\u0442\u0438 \u043e \u0436\u0438\u0437\u043d\u0438 Scala (\uff61\u2022\u0300\u1d17-)\u2727 \u041f\u043e\u0434\u0440\u043e\u0431\u043d\u043e \u0440\u0430\u0437\u043e\u0431\u0440\u0430\u043b\u0438 magnum, \u043e \u043a\u043e\u0442\u043e\u0440\u043e\u0439 \u043c\u044b \u043f\u0438\u0441\u0430\u043b\u0438 \u0432 \u043f\u0440\u043e\u0448\u043b\u043e\u043c \u0432\u044b\u043f\u0443\u0441\u043a\u0435. \u0412 \u0441\u043b\u0435\u0434\u0443\u044e\u0449\u0435\u043c \u0432\u044b\u043f\u0443\u0441\u043a\u0435 \u043c\u043e\u0436\u043d\u043e \u0443\u0441\u043b\u044b\u0448\u0430\u0442\u044c, \u043a\u0430\u043a \u043f\u043e\u0435\u0442 \u042e\u0440\u0430, \u043d\u0443\u0436\u043d\u043e \u0442\u043e\u043b\u044c\u043a\u043e <a href=\"https:\/\/t.me\/flatmappers\"><u>\u043e\u0441\u0442\u0430\u0432\u0438\u0442\u044c ? \u0440\u0435\u0431\u044f\u0442\u0430\u043c \u043f\u043e\u0434 \u043f\u043e\u0441\u0442\u043e\u043c.<\/u><\/a><\/p>\n<\/li>\n<\/ul>\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:\/\/oyvindberg.github.io\/typo\/docs\/\"><u>typo \u2014 Typed postgres integration for Scala<\/u><\/a> \u2014 \u0431\u0438\u0431\u043b\u0438\u043e\u0442\u0435\u043a\u0430 \u043f\u043e \u0433\u0435\u043d\u0435\u0440\u0430\u0446\u0438\u0438 Scala-\u043a\u043e\u0434\u0430 <abbr class=\"habraabbr\" title=\"\u0434\u0430, \u043d\u0435 \u043d\u0430\u043e\u0431\u043e\u0440\u043e\u0442\" data-title=\"&lt;p>\u0434\u0430, \u043d\u0435 \u043d\u0430\u043e\u0431\u043e\u0440\u043e\u0442&lt;\/p>&#187; data-abbr=&#187;\u043d\u0430 \u043e\u0441\u043d\u043e\u0432\u0435 SQL&#187;>\u043d\u0430 \u043e\u0441\u043d\u043e\u0432\u0435 SQL<\/abbr>. \u041e\u0434\u043d\u0430\u043a\u043e Postgres-only. \u041e\u0442\u043c\u0435\u0442\u0438\u043c, \u0447\u0442\u043e \u0434\u043e\u043a\u0443\u043c\u0435\u043d\u0442\u0430\u0446\u0438\u044f \u0441\u0430\u0439\u0442\u0430 \u0432\u044b\u0433\u043b\u044f\u0434\u0438\u0442 \u043f\u043e\u0442\u0440\u044f\u0441\u0430\u044e\u0449\u0435!<\/p>\n<\/li>\n<li>\n<p><a href=\"https:\/\/scalajobs.com\/blog\/retrying-cats-effect-failures-with-ease\/\"><u>Retrying Cats Effect Failures With Ease<\/u><\/a> \u2014 \u043e\u0431\u0437\u043e\u0440 \u0431\u0438\u0431\u043b\u0438\u043e\u0442\u0435\u043a\u0438 <a href=\"https:\/\/github.com\/cb372\/cats-retry\"><u>cats-retry<\/u><\/a>, \u043d\u0435\u043e\u0444\u0438\u0446\u0438\u0430\u043b\u044c\u043d\u044b\u0439 \u043a\u043e\u0442\u0435\u043d\u043e\u043a \u043e\u0442 typelevel.<\/p>\n<\/li>\n<\/ul>\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:\/\/stryker-mutator.io\/docs\/stryker4s\/getting-started\/\"><u>stryker4s<\/u><\/a> \u2014 \u043f\u0440\u0438\u0445\u043e\u0434\u0438\u043b \u043b\u0438 \u0432\u0430\u043c \u0432 \u0433\u043e\u043b\u043e\u0432\u0443 \u043a\u043e\u0433\u0434\u0430-\u043b\u0438\u0431\u043e \u0432\u043e\u043f\u0440\u043e\u0441, \u0441\u043a\u043e\u043b\u044c\u043a\u043e unit-\u0442\u0435\u0441\u0442\u043e\u0432 \u0441\u043b\u043e\u043c\u0430\u0435\u0442\u0441\u044f, \u0435\u0441\u043b\u0438 \u043c\u044b \u043f\u0435\u0440\u0435\u043f\u0438\u0448\u0435\u043c \u043d\u0430\u0448 \u043a\u043e\u0434? \u0410\u0432\u0442\u043e\u0440\u044b \u044d\u0442\u043e\u0433\u043e \u043f\u0440\u043e\u0435\u043a\u0442\u0430 \u0434\u0435\u043b\u0430\u044e\u0442 \u043f\u043e\u043f\u044b\u0442\u043a\u0443 \u043e\u0442\u0441\u043b\u0435\u0434\u0438\u0442\u044c \u043a\u0430\u0447\u0435\u0441\u0442\u0432\u043e \u043f\u043e\u043a\u0440\u044b\u0442\u0438\u044f \u0442\u0435\u0441\u0442\u0430\u043c\u0438, \u0432\u0441\u0442\u0430\u0432\u043b\u044f\u044f \u043f\u0440\u043e\u0438\u0437\u0432\u043e\u043b\u044c\u043d\u044b\u0435 \u0431\u0430\u0433\u0438 \u0432 source-\u043a\u043e\u0434 \u0438 \u043f\u0440\u043e\u0433\u043e\u043d\u044f\u044f \u043d\u0430 \u043c\u043e\u0434\u0438\u0444\u0438\u0446\u0438\u0440\u043e\u0432\u0430\u043d\u043d\u043e\u043c \u043a\u043e\u0434\u0435 \u0442\u0435\u0441\u0442\u044b. \u0425\u043e\u0442\u044f \u0431\u044b \u0438\u0437 \u0438\u043d\u0442\u0435\u0440\u0435\u0441\u0430 \u043f\u043e\u0442\u044b\u043a\u0430\u0435\u0442\u0435 \u0432 \u0438\u0445 <a href=\"https:\/\/stryker-mutator.io\/stryker-playground\/\"><u>playground.<\/u><\/a><\/p>\n<\/li>\n<li>\n<p><a href=\"https:\/\/toniogela.dev\/testing-typelevel-toolkit\/\"><u>Integration testing the Typelevel toolkit<\/u><\/a> \u2014 \u043c\u0435\u0439\u043d\u0442\u0435\u0439\u043d\u0435\u0440\u044b typelevel-toolkit \u043f\u0440\u043e\u0432\u043e\u0434\u044f\u0442 \u043c\u0443\u043b\u044c\u0442\u0438\u043f\u043b\u0430\u0442\u0444\u043e\u0440\u043c\u0435\u043d\u043d\u043e\u0435 \u0442\u0435\u0441\u0442\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u0435 \u0442\u043e\u0433\u043e, \u043a\u0430\u043a scala-cli \u043e\u0431\u0440\u0430\u0449\u0430\u0435\u0442\u0441\u044f \u0441 \u0438\u0445 toolkit. \u041f\u043e\u0447\u0438\u0442\u0430\u0439\u0442\u0435, \u0447\u0442\u043e\u0431\u044b \u043f\u0440\u043e\u043d\u0438\u043a\u043d\u0443\u0442\u044c\u0441\u044f \u043c\u043e\u0437\u0433\u043e\u0432\u044b\u043d\u043e\u0441\u044f\u0449\u0438\u043c\u0438 \u0442\u0435\u0445\u043d\u0438\u043a\u0430\u043c\u0438 \u0442\u0435\u0441\u0442\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u044f, \u043a\u043e\u0442\u043e\u0440\u044b\u0435 \u043d\u0435 \u0443\u0432\u0438\u0434\u0438\u0448\u044c \u0432 \u043e\u0431\u044b\u0447\u043d\u043e\u043c enterprise-\u043a\u043e\u0434\u0435.<\/p>\n<\/li>\n<li>\n<p><a href=\"https:\/\/eed3si9n.com\/ifdef-macro-in-scala\/\"><u>ifdef macro in Scala<\/u><\/a> \u2014 Eugene Yokota \u0438\u043c\u043f\u043b\u0435\u043c\u0435\u043d\u0442\u0438\u0440\u043e\u0432\u0430\u043b \u0444\u0438\u0447\u0443, \u043f\u043e\u0437\u0432\u043e\u043b\u044f\u044e\u0449\u0443\u044e \u043f\u0438\u0441\u0430\u0442\u044c \u0442\u0435\u0441\u0442\u044b \u0432 src\/main\/. \u0417\u0430\u0447\u0435\u043c \u044d\u0442\u043e \u043d\u0430\u0434\u043e \u2014 \u0432\u043e\u043f\u0440\u043e\u0441 \u0434\u0438\u0441\u043a\u0443\u0441\u0441\u0438\u043e\u043d\u043d\u044b\u0439. \u0421\u0430\u043c\u0430 \u043a\u043e\u043d\u0446\u0435\u043f\u0446\u0438\u044f \u043a\u043e\u0434\u0430, \u043a\u043e\u0442\u043e\u0440\u044b\u0439 \u043f\u043e\u043d\u0438\u043c\u0430\u0435\u0442, \u0432 \u043a\u0430\u043a\u043e\u0439 \u0441\u0440\u0435\u0434\u0435 \u0437\u0430\u043f\u0443\u0441\u043a\u0430\u0435\u0442\u0441\u044f, \u0437\u0432\u0443\u0447\u0438\u0442 \u0438\u043d\u0442\u0440\u0438\u0433\u0443\u044e\u0449\u0435. \u0421\u0442\u0430\u0442\u044c\u044f \u0438\u0437 \u0434\u0432\u0443\u0445 \u0447\u0430\u0441\u0442\u0435\u0439: \u0432 \u043f\u0435\u0440\u0432\u043e\u0439 \u0440\u0435\u0430\u043b\u0438\u0437\u0430\u0446\u0438\u044f \u0447\u0435\u0440\u0435\u0437 \u043c\u0430\u043a\u0440\u043e\u0430\u043d\u043d\u043e\u0442\u0430\u0446\u0438\u0438, <a href=\"https:\/\/eed3si9n.com\/ifdef-in-scala-via-pre-typer-processing\/\"><u>\u0432\u043e \u0432\u0442\u043e\u0440\u043e\u0439<\/u><\/a> \u2014 \u0447\u0435\u0440\u0435\u0437 \u043f\u043b\u0430\u0433\u0438\u043d \u043a\u043e\u043c\u043f\u0438\u043b\u044f\u0442\u043e\u0440\u0430.<\/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\u0430\u0441 \u0432 \u043a\u043e\u043c\u043c\u0435\u043d\u0442\u0430\u0440\u0438\u044f\u0445:<\/p>\n<ul>\n<li>\n<p><a href=\"https:\/\/blog.jetbrains.com\/blog\/2023\/10\/16\/ai-graphics-at-jetbrains-story\/\"><u>The Story of AI Graphics at JetBrains<\/u><\/a> \u2014 \u0435\u0441\u043b\u0438 \u0432\u0430\u043c, \u043a\u0430\u043a \u0438 \u0440\u0435\u0434\u0430\u043a\u0446\u0438\u0438 \u0434\u0430\u0439\u0434\u0436\u0435\u0441\u0442\u0430, \u043d\u0440\u0430\u0432\u044f\u0442\u0441\u044f \u0437\u0430\u0441\u0442\u0430\u0432\u043a\u0438 \u043f\u0440\u043e\u0434\u0443\u043a\u0442\u043e\u0432 JetBrains, \u0442\u043e \u043d\u0435 \u043f\u0440\u043e\u043f\u0443\u0441\u0442\u0438\u0442\u0435 \u044d\u0442\u043e\u0442 \u043b\u043e\u043d\u0433\u0440\u0438\u0434. \u0420\u0430\u0441\u0441\u043c\u0430\u0442\u0440\u0438\u0432\u0430\u044e\u0442\u0441\u044f \u0434\u0432\u0435 \u0441\u0435\u0442\u043a\u0438 \u0433\u0435\u043d\u0435\u0440\u0430\u0446\u0438\u0438 \u043a\u0430\u0440\u0442\u0438\u043d Stable Diffusion \u0438 <abbr class=\"habraabbr\" title=\"compositional pattern-producing network\" data-title=\"&lt;p>compositional pattern-producing network&lt;\/p>&#187; data-abbr=&#187;CPPN&#187;>CPPN<\/abbr> \u0438 \u0440\u0430\u0441\u0441\u043a\u0430\u0437\u044b\u0432\u0430\u0435\u0442\u0441\u044f, \u043a\u0430\u043a \u043f\u043e\u0434\u0442\u044e\u043d\u0438\u0432\u0430\u043b\u0438 \u0431\u0430\u0437\u043e\u0432\u044b\u0439 \u0430\u043b\u0433\u043e\u0440\u0438\u0442\u043c \u0434\u043b\u044f \u0441\u0435\u0431\u044f. \u00ab\u041f\u0440\u0438\u0445\u043e\u0434\u0438\u0448\u044c \u043a \u0434\u0438\u0437\u0430\u0439\u043d\u0435\u0440\u0430\u043c JetBrains \u043f\u043e\u0441\u043c\u043e\u0442\u0440\u0435\u0442\u044c, \u043a\u0430\u043a \u043e\u043d\u0438 \u043b\u043e\u0433\u043e \u0440\u0438\u0441\u0443\u044e\u0442, \u0430 \u0442\u0430\u043c \u043d\u0435\u0439\u0440\u043e\u043d\u043a\u0438 \u0432 \u043d\u0430\u0440\u0434\u044b \u0438\u0433\u0440\u0430\u044e\u0442\u00bb (\u0441) \u041a\u0430\u0440\u0438\u043d\u0430<\/p>\n<\/li>\n<li>\n<p><a href=\"https:\/\/scala.epfl.ch\/records\/2023-Q3-activity-report.html\"><u>2023 Q3 Activity Report<\/u><\/a> \u2014 \u043e\u0442\u0447\u0435\u0442 Scala Center \u0437\u0430 Q3. \u041f\u043e\u0434\u0440\u043e\u0431\u043d\u043e \u0438 \u043f\u0440\u043e\u0437\u0440\u0430\u0447\u043d\u043e. \u041e\u043f\u0438\u0441\u0430\u043d\u044b \u0438\u043d\u0442\u0435\u0440\u0435\u0441\u043d\u044b\u0435 \u0442\u0435\u043c\u044b \u043f\u0440\u043e \u043f\u0435\u0440\u0435\u0434\u0430\u0447\u0443 sbt \u043e\u0442 Yugene Yokota, sbt-\u043f\u043b\u0430\u0433\u0438\u043d \u043f\u043e \u0430\u0432\u0442\u043e\u043c\u0438\u0433\u0440\u0430\u0446\u0438\u0438 \u043d\u0430 Scala 3, \u0430 \u0435\u0449\u0435 \u043f\u0440\u043e \u043f\u043e\u043f\u044b\u0442\u043a\u0438 \u0441\u0434\u0435\u043b\u0430\u0442\u044c \u043f\u0440\u043e\u0446\u0435\u0441\u0441 \u043a\u043e\u043d\u0442\u0440\u0438\u0431\u044c\u044e\u0442\u0430 \u0432 \u043a\u043e\u043c\u043f\u0438\u043b\u044f\u0442\u043e\u0440 \u0431\u043e\u043b\u0435\u0435 \u043f\u043e\u043d\u044f\u0442\u043d\u044b\u043c.<\/p>\n<\/li>\n<li>\n<p><a href=\"https:\/\/scala-lang.org\/blog\/2023\/09\/25\/work-in-progress-scala-3-specification.html\"><u>Work-in-Progress Scala 3 Specification<\/u><\/a> \u2014 \u043f\u0440\u043e\u0434\u043e\u043b\u0436\u0430\u044e\u0442 \u0434\u0435\u043b\u0430\u0442\u044c \u0434\u043e\u043a\u0443\u043c\u0435\u043d\u0442\u0430\u0446\u0438\u044e \u0431\u043e\u043b\u0435\u0435 user-friendly \u0434\u043b\u044f \u043d\u043e\u0432\u0438\u0447\u043a\u043e\u0432 \u0438 \u043d\u0435 \u0442\u043e\u043b\u044c\u043a\u043e, \u0430 \u0438\u043c\u0435\u043d\u043d\u043e \u0434\u043e\u043f\u0438\u043b\u0438\u0432\u0430\u044e\u0442 \u043f\u043e\u043b\u043d\u043e\u0446\u0435\u043d\u043d\u0443\u044e \u0441\u043f\u0435\u0446\u0438\u0444\u0438\u043a\u0430\u0446\u0438\u044e \u0432\u0441\u0435\u0445 \u0444\u0438\u0447 \u0432 Scala 3.<\/p>\n<\/li>\n<li>\n<p><a href=\"https:\/\/scala-lang.org\/blog\/2023\/10\/17\/feedback-wanted-error-messages.html\"><u>Tell us which errors bug you the most<\/u><\/a> \u2014 \u0443\u043d\u0438\u043a\u0430\u043b\u044c\u043d\u044b\u0439 \u0448\u0430\u043d\u0441 \u043f\u043e\u0434\u0441\u0432\u0435\u0442\u0438\u0442\u044c, \u043a\u0430\u043a\u0438\u0435 \u043e\u0448\u0438\u0431\u043a\u0438 \u0432\u0430\u0441 \u0431\u0435\u0441\u044f\u0442 \u0432 Scala 3.<\/p>\n<\/li>\n<\/ul>\n<ul>\n<li>\n<p><a href=\"https:\/\/softwaremill.com\/scale-your-software-like-a-tech-native\/\"><u>Scale your software like a tech native.<\/u><\/a><\/p>\n<\/li>\n<\/ul>\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>\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<\/ul>\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>\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\/770964\/\"> https:\/\/habr.com\/ru\/articles\/770964\/<\/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:\/\/blog.jetbrains.com\/blog\/2023\/10\/12\/ai-assistant-update-october-2023\"><u>AI Assistant Update \u2014 October 2023<\/u><\/a> \u2014 \u0434\u043e\u0431\u0430\u0432\u0438\u043b\u0438 \u043d\u0435\u0441\u043a\u043e\u043b\u044c\u043a\u043e \u043d\u043e\u0432\u044b\u0445 \u0444\u0438\u0447, \u0432\u043a\u043b\u044e\u0447\u0430\u044f \u0443\u0434\u043e\u0431\u043d\u044b\u0439 diff view \u043d\u0430 \u0440\u0435\u0444\u0430\u043a\u0442\u043e\u0440\u0438\u043d\u0433\u0435;<\/p>\n<\/li>\n<li>\n<p><a href=\"https:\/\/blog.jetbrains.com\/idea\/2023\/10\/intellij-idea-2023-2-4\/\"><u>IntelliJ IDEA 2023.2.4 Is Out!<\/u><\/a> \u0438 <a href=\"https:\/\/blog.jetbrains.com\/idea\/2023\/10\/intellij-idea-2023-2-3\/\"><u>IntelliJ IDEA 2023.2.3 Is Out!<\/u><\/a>;<\/p>\n<\/li>\n<li>\n<p><a href=\"https:\/\/github.com\/scalalandio\/chimney\/releases\/tag\/0.8.0\"><u>chimney 0.8.0<\/u><\/a> \u2014 \u0432\u044b\u0448\u0435\u043b \u043a\u0430\u043a\u043e\u0439-\u0442\u043e \u043e\u0447\u0435\u043d\u044c \u0441\u043e\u043b\u0438\u0434\u043d\u044b\u0439 \u0440\u0435\u043b\u0438\u0437, \u0435\u0441\u043b\u0438 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u0435\u0442\u0435 chimney, \u043e\u0431\u044f\u0437\u0430\u0442\u0435\u043b\u044c\u043d\u043e \u0437\u0430\u0446\u0435\u043d\u0438\u0442\u0435;<\/p>\n<\/li>\n<li>\n<p><a href=\"https:\/\/pekko.apache.org\/docs\/pekko-persistence-cassandra\/1.0\/\"><u>Pekko Persistence Cassandra 1.0<\/u><\/a> \u2014 \u043a\u0442\u043e \u0436\u0434\u0430\u043b, \u0442\u043e\u0442 \u0434\u043e\u0436\u0434\u0430\u043b\u0441\u044f;<\/p>\n<\/li>\n<li>\n<p><a href=\"https:\/\/github.com\/scalameta\/metals\/releases\/tag\/v1.1.0\"><u>metals v1.1.0<\/u><\/a>;<\/p>\n<\/li>\n<li>\n<p><a href=\"https:\/\/github.com\/VirtusLab\/scala-cli\/releases\/tag\/v1.0.5\"><u>scala-cli v1.0.5<\/u><\/a>;<\/p>\n<\/li>\n<li>\n<p><a href=\"https:\/\/www.scala-native.org\/en\/stable\/changelog\/0.4.16.html\"><u>scala-native 0.4.16<\/u><\/a>;<\/p>\n<\/li>\n<li>\n<p><a href=\"https:\/\/github.com\/com-lihaoyi\/mill\/releases\/tag\/0.11.5\"><u>mill 0.11.5<\/u><\/a>;<\/p>\n<\/li>\n<li>\n<p><a href=\"https:\/\/eed3si9n.com\/sbt-1.9.7\"><u>sbt 1.9.7<\/u><\/a>;<\/p>\n<\/li>\n<li>\n<p><a href=\"https:\/\/github.com\/typelevel\/cats-effect\/releases\/tag\/v3.5.2\"><u>cats-effect v3.5.2<\/u><\/a>;<\/p>\n<\/li>\n<li>\n<p><a href=\"https:\/\/github.com\/softwaremill\/magnolia\/releases\/tag\/scala3-v1.3.4\"><u>magnolia scala3-v1.3.4<\/u><\/a>;<\/p>\n<\/li>\n<li>\n<p><a href=\"https:\/\/github.com\/softwaremill\/sttp\/releases\/tag\/v4.0.0-M6\"><u>sttp v4.0.0-M6<\/u><\/a>;<\/p>\n<\/li>\n<li>\n<p><a href=\"https:\/\/github.com\/softwaremill\/tapir\/releases\"><u>tapir v1.7.6-v1.8.2<\/u><\/a>;<\/p>\n<\/li>\n<li>\n<p><a href=\"https:\/\/github.com\/zio\/zio-http\/releases\/tag\/v3.0.0-RC3\"><u>zio-http v3.0.0-RC3<\/u><\/a>;<\/p>\n<\/li>\n<li>\n<p><a href=\"https:\/\/github.com\/zio\/zio-kafka\/releases\/tag\/v2.5.0\"><u>zio-kafka v2.5.0<\/u><\/a>;<\/p>\n<\/li>\n<li>\n<p><a href=\"https:\/\/github.com\/zio\/zio-quill\/releases\/tag\/v4.8.0\"><u>zio-quill v4.8.0<\/u><\/a>;<\/p>\n<\/li>\n<li>\n<p><a href=\"https:\/\/github.com\/Iltotore\/iron\/releases\"><u>iron v2.3.0-RC1, v2.3.0-RC2<\/u><\/a>;<\/p>\n<\/li>\n<li>\n<p><a href=\"https:\/\/github.com\/PurpleKingdomGames\/tyrian\/releases\/tag\/v0.8.0\"><u>tyran v0.8.0<\/u><\/a>;<\/p>\n<\/li>\n<li>\n<p><a href=\"https:\/\/github.com\/PurpleKingdomGames\/indigo\/releases\/tag\/v0.15.1\"><u>indigo v0.15.1<\/u><\/a>;<\/p>\n<\/li>\n<li>\n<p><a href=\"https:\/\/github.com\/disneystreaming\/smithy4s\/releases\/tag\/v0.18.2\"><u>smithy4s v0.18.2.<\/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, \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<p><a href=\"https:\/\/www.youtube.com\/@IT_i_td\"><u>\u041d\u0430 \u043a\u0430\u043d\u0430\u043b\u0435 \u00abIT \u0438 \u0442. \u0434.\u00bb<\/u><\/a> \u0432\u044b\u0448\u0435\u043b \u0437\u0430\u043a\u043b\u044e\u0447\u0438\u0442\u0435\u043b\u044c\u043d\u044b\u0439 \u0440\u043e\u043b\u0438\u043a <a href=\"https:\/\/www.youtube.com\/watch?v=-NR_4RjUAGw&amp;list=PLLrf_044z4JpWZkPw9EDa-mM0fjdOKq7q&amp;pp=iAQB\"><u>\u043f\u0440\u043e\u0435\u043a\u0442\u0430 \u043f\u0440\u043e \u043e\u0441\u043e\u0431\u0435\u043d\u043d\u043e\u0441\u0442\u0438 S\u0441ala-\u0440\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u043a\u0438 Scala in Tinkoff.<\/u><\/a> \u041d\u0430\u0448\u0438 \u0440\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u0447\u0438\u043a\u0438, \u043b\u0438\u0434\u044b \u0438 \u0440\u0443\u043a\u043e\u0432\u043e\u0434\u0438\u0442\u0435\u043b\u0438 \u043f\u0440\u043e\u0435\u043a\u0442\u043e\u0432 \u0440\u0430\u0441\u0441\u043a\u0430\u0437\u0430\u043b\u0438 \u043e \u0434\u0435\u0442\u0430\u043b\u044f\u0445 \u0440\u0430\u0431\u043e\u0442\u044b \u0438 \u0436\u0438\u0437\u043d\u0438 Scala-\u043a\u043e\u043c\u0430\u043d\u0434: \u043a\u0430\u043a\u0438\u0435 \u0437\u0430\u0434\u0430\u0447\u0438 \u0440\u0435\u0448\u0430\u044e\u0442\u0441\u044f, \u043a\u0430\u043a\u043e\u0439 \u0441\u0442\u0435\u043a \u0442\u0435\u0445\u043d\u043e\u043b\u043e\u0433\u0438\u0439 \u0438 \u0431\u0438\u0431\u043b\u0438\u043e\u0442\u0435\u043a \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u0435\u0442\u0441\u044f, \u043a\u0430\u043a\u0438\u0435 \u043e\u0441\u043e\u0431\u0435\u043d\u043d\u043e\u0441\u0442\u0438 \u0432\u0441\u0442\u0440\u0435\u0447\u0430\u044e\u0442\u0441\u044f \u0443 \u043f\u0440\u043e\u0435\u043a\u0442\u043e\u0432. \u0415\u0441\u0442\u044c \u0438\u043d\u0441\u0430\u0439\u0442\u044b \u043f\u0440\u043e \u043c\u0438\u043b\u044b\u0435 \u043e\u0442\u043b\u0438\u0447\u0438\u0442\u0435\u043b\u044c\u043d\u044b\u0435 \u0447\u0435\u0440\u0442\u043e\u0447\u043a\u0438 \u043a\u043e\u043c\u0430\u043d\u0434, \u043f\u0440\u0438\u0432\u044b\u0447\u043a\u0438 \u0438 \u0437\u0430\u0431\u0430\u0432\u043d\u044b\u0435 \u043a\u0443\u043b\u0441\u0442\u043e\u0440\u0438 \u0438\u0437 \u0436\u0438\u0437\u043d\u0438.<br \/>\u0420\u043e\u043b\u0438\u043a\u0438 \u043f\u044f\u0442\u0438\u043c\u0438\u043d\u0443\u0442\u043d\u044b\u0435, \u0434\u0438\u043d\u0430\u043c\u0438\u0447\u043d\u044b\u0435, \u0441 \u043f\u0440\u0438\u043a\u043e\u043b\u044c\u043d\u043e\u0439 \u0430\u043d\u0438\u043c\u0430\u0446\u0438\u0435\u0439-\u0440\u0438\u0441\u043e\u0432\u043a\u043e\u0439. \u041e\u0431\u044f\u0437\u0430\u0442\u0435\u043b\u044c\u043d\u043e \u0437\u0430\u0446\u0435\u043d\u0438\u0442\u0435 \ud83d\ude42 \u0418 \u043f\u043e\u0441\u043c\u043e\u0442\u0440\u0438\u0442\u0435 \u043f\u0440\u0435\u0434\u044b\u0434\u0443\u0449\u0438\u0435 \u0440\u043e\u043b\u0438\u043a\u0438, \u0435\u0441\u043b\u0438 \u043d\u0435 \u0441\u0434\u0435\u043b\u0430\u043b\u0438 \u044d\u0442\u043e\u0433\u043e \u0440\u0430\u043d\u044c\u0448\u0435!<\/p>\n<div class=\"tm-iframe_temp\" data-src=\"https:\/\/embedd.srv.habr.com\/iframe\/6540c319ff7a727696f55f8c\" data-style=\"\" id=\"6540c319ff7a727696f55f8c\" width=\"\"><\/div>\n<h2>\u0421\u0442\u0430\u0442\u044c\u0438<\/h2>\n<p>\u0412 \u044d\u0442\u043e\u043c \u0440\u0430\u0437\u0434\u0435\u043b\u0435 \u0434\u0435\u043b\u0438\u043c\u0441\u044f \u0441\u0432\u0435\u0436\u0438\u043c\u0438 \u0441\u0442\u0430\u0442\u044c\u044f\u043c\u0438, \u0440\u0435\u043f\u043e\u0437\u0438\u0442\u043e\u0440\u0438\u044f\u043c\u0438 \u0438 \u0438\u0441\u0441\u043b\u0435\u0434\u043e\u0432\u0430\u043d\u0438\u044f\u043c\u0438, \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:\/\/etorreborre.blog\/turning-actors-inside-out\"><u>Turning actors inside-out<\/u><\/a> \u2014 \u0432 \u0441\u0442\u0430\u0442\u044c\u0435 \u0440\u0430\u0437\u0431\u0438\u0440\u0430\u044e\u0442\u0441\u044f \u043e\u0441\u043e\u0431\u0435\u043d\u043d\u043e\u0441\u0442\u0438 \u0430\u043a\u0442\u043e\u0440\u043d\u043e\u0439 \u043c\u043e\u0434\u0435\u043b\u0438 \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u044f. \u0410\u0441\u0438\u043d\u0445\u0440\u043e\u043d\u043d\u0430\u044f \u043f\u043e \u0441\u0432\u043e\u0435\u0439 \u043f\u0440\u0438\u0440\u043e\u0434\u0435 \u043c\u043e\u0434\u0435\u043b\u044c, \u043e\u0431\u0440\u0430\u0431\u043e\u0442\u043a\u0430 \u043e\u0448\u0438\u0431\u043e\u043a \u0441 \u043f\u043e\u043c\u043e\u0449\u044c\u044e supervisor, \u0441\u043b\u043e\u0436\u043d\u043e\u0441\u0442\u044c \u0434\u0435\u0431\u0430\u0433\u0430 \u0438 \u0442\u0430\u043a \u0434\u0430\u043b\u0435\u0435. \u0421\u0442\u043e\u0438\u0442 \u043e\u0437\u043d\u0430\u043a\u043e\u043c\u0438\u0442\u044c\u0441\u044f, \u0447\u0442\u043e\u0431\u044b \u0443\u0437\u043d\u0430\u0442\u044c \u0447\u0443\u0442\u044c \u0431\u043e\u043b\u044c\u0448\u0435 \u043e \u0436\u0435\u043b\u0435\u0437\u0435 \u0430\u043a\u0442\u043e\u0440\u043e\u0432 \u043f\u043e\u0434 \u043a\u0430\u043f\u043e\u0442\u043e\u043c. <abbr class=\"habraabbr\" title=\"\u043c\u043e\u0434\u0435\u043b\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u0435 Halo 4 \u0430\u043a\u0442\u043e\u0440\u0430\u043c\u0438!\" data-title=\"&lt;p>!&#187; data-title=&#187;&lt;p>\u043c\u043e\u0434\u0435\u043b\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u0435 Halo 4 \u0430\u043a\u0442\u043e\u0440\u0430\u043c\u0438!&lt;\/p>&#187; data-abbr=&#187;\u0410 \u0435\u0449\u0435 \u0432 \u0442\u0435\u043a\u0441\u0442\u0435 \u043f\u043e\u043b\u043d\u043e \u0441\u0441\u044b\u043b\u043e\u0447\u0435\u043a \u043d\u0430 \u0434\u0440\u0443\u0433\u0438\u0435 \u043c\u0430\u0442\u0435\u0440\u0438\u0430\u043b\u044b \u043f\u043e \u0430\u043a\u0442\u043e\u0440\u043d\u043e\u0439 \u043c\u043e\u0434\u0435\u043b\u0438&#187;>\u0410 \u0435\u0449\u0435 \u0432 \u0442\u0435\u043a\u0441\u0442\u0435 \u043f\u043e\u043b\u043d\u043e \u0441\u0441\u044b\u043b\u043e\u0447\u0435\u043a \u043d\u0430 \u0434\u0440\u0443\u0433\u0438\u0435 \u043c\u0430\u0442\u0435\u0440\u0438\u0430\u043b\u044b \u043f\u043e \u0430\u043a\u0442\u043e\u0440\u043d\u043e\u0439 \u043c\u043e\u0434\u0435\u043b\u0438<\/abbr>.<\/p>\n<\/li>\n<li>\n<p><a href=\"https:\/\/medium.com\/@w.pitula\/in-defence-of-mocks-c94716edf7be\"><u>In Defence of Mocks<\/u><\/a> \u2014 \u00abThis is my Mocks. There are many like it, but this one is mine. My Mocks are my best friend. It is my life. I must master it as I must master my life. Without me, my Mocks are useless. Without my Mocks, I am useless. I must test my Mocks true\u00bb. \u0412\u043e\u0437\u043c\u043e\u0436\u043d\u043e, \u0438\u043c\u0435\u043d\u043d\u043e \u0442\u0430\u043a \u0438 \u0434\u0443\u043c\u0430\u043b \u0430\u0432\u0442\u043e\u0440 \u2182_\u2182<\/p>\n<\/li>\n<\/ul>\n<ul>\n<li>\n<p><a href=\"https:\/\/americovargas.medium.com\/why-on-earth-a-zio-io-monad-for-scala-90768e89ab2a\"><u>Why on earth a ZIO IO monad for Scala?<\/u><\/a> \u2014 \u0434\u043e\u0431\u0440\u043e\u0442\u043d\u043e\u0435 \u0438 \u0433\u0440\u0430\u043c\u043e\u0442\u043d\u043e\u0435 \u043e\u0431\u044a\u044f\u0441\u043d\u0435\u043d\u0438\u0435 \u043e\u0441\u043d\u043e\u0432 \u0444\u0443\u043d\u043a\u0446\u0438\u043e\u043d\u0430\u043b\u044c\u043d\u043e\u0439 \u043f\u0430\u0440\u0430\u0434\u0438\u0433\u043c\u044b. ZIO \u043f\u0440\u0438\u0441\u0443\u0442\u0441\u0442\u0432\u0443\u0435\u0442.<\/p>\n<\/li>\n<\/ul>\n<ul>\n<li>\n<p><a href=\"https:\/\/www.scalamatters.io\/post\/why-i-find-scala-so-amazing\"><u>Why I Find Scala so Amazing<\/u><\/a> \u2014 \u0431\u044b\u0432\u0448\u0438\u0439 \u0430\u0434\u0435\u043f\u0442 PHP \u0432\u043e\u0441\u0445\u0438\u0449\u0435\u043d \u0432\u043e\u0437\u043c\u043e\u0436\u043d\u043e\u0441\u0442\u044f\u043c\u0438 \u0444\u0443\u043d\u043a\u0446\u0438\u043e\u043d\u0430\u043b\u044c\u043d\u043e\u0433\u043e \u0441\u0442\u0440\u043e\u0433\u043e\u0442\u0438\u043f\u0438\u0437\u0438\u0440\u043e\u0432\u0430\u043d\u043d\u043e\u0433\u043e \u044f\u0437\u044b\u043a\u0430 \u0441 \u044d\u043c\u0431\u043b\u0435\u043c\u043e\u0439 \u0432 \u0432\u0438\u0434\u0435 \u043a\u0440\u0430\u0441\u043d\u043e\u0433\u043e \u0448\u0430\u0440\u0444\u0438\u043a\u0430 \u0438 \u0435\u0433\u043e \u043a\u043e\u043c\u0444\u043e\u0440\u0442\u043d\u043e\u0433\u043e \u0441\u0438\u043d\u0442\u0430\u043a\u0441\u0438\u0441\u0430.<\/p>\n<\/li>\n<\/ul>\n<ul>\n<li>\n<p><a href=\"https:\/\/gist.github.com\/alexandru\/60e977fcf75ed88c4d0b824b312dba44\"><u>concurrent-cancellation-kotlin-vs-scala<\/u><\/a> \u2014 Alex Nedelcu \u043d\u0430\u043f\u0438\u0441\u0430\u043b gist-\u0437\u0430\u043c\u0435\u0442\u043a\u0443 \u043d\u0430 \u0442\u0435\u043c\u0443 \u043f\u0440\u0435\u0440\u044b\u0432\u0430\u043d\u0438\u044f IO-\u0432\u044b\u0447\u0438\u0441\u043b\u0435\u043d\u0438\u0439 \u043d\u0430 Scala \u0438 Kotlin \u0438 \u043f\u043e\u0447\u0435\u043c\u0443 \u0432 JVM 21 \u044d\u0442\u043e \u0443\u0436\u0435 \u043d\u0435 \u0442\u0430\u043a \u0432\u0430\u0436\u043d\u043e.<\/p>\n<\/li>\n<\/ul>\n<ul>\n<li>\n<p><a href=\"https:\/\/yadukrishnan.live\/scala-made-simple-for-beginners-a-gentle-introduction-to-kickstarting-your-scala-learning\"><u>Scala Made Simple for Beginners: A Gentle Introduction to Kickstarting Your Scala Learning<\/u><\/a> \u2014 \u0433\u0430\u0439\u0434, \u043a\u0430\u043a \u0431\u044b\u0441\u0442\u0440\u043e \u0438 \u0431\u0435\u0437 \u0431\u043e\u043b\u0438 \u0437\u0430\u043f\u0443\u0441\u0442\u0438\u0442\u044c \u043f\u0435\u0440\u0432\u043e\u0435 \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u0435 \u043d\u0430 Scala.<\/p>\n<\/li>\n<\/ul>\n<ul>\n<li>\n<p><a href=\"http:\/\/fpilluminated.com\/assets\/fusing-transformations-of-strict-scala-collections-with-views.html\"><u>Fusing Transformations of Strict Scala Collections with Views<\/u><\/a> \u2014 \u0440\u0430\u0437\u0431\u0438\u0440\u0430\u0435\u0442\u0441\u044f \u0438\u043d\u0442\u0435\u0440\u0435\u0441\u043d\u0430\u044f \u0442\u0435\u043c\u0430 .view-\u043c\u0435\u0442\u043e\u0434\u0430 \u043d\u0430 \u043a\u043e\u043b\u043b\u0435\u043a\u0446\u0438\u044f\u0445. \u0421\u043b\u0430\u0439\u0434\u044b \u0441\u043e\u0434\u0435\u0440\u0436\u0430\u0442\u0435\u043b\u044c\u043d\u044b\u0435, \u043c\u043d\u043e\u0433\u043e \u0441\u0441\u044b\u043b\u043e\u043a \u043d\u0430 \u043a\u043d\u0438\u0433\u0438 \u043f\u043e Scala. \u0416\u0430\u043b\u044c, \u0447\u0442\u043e \u043d\u0435\u0442 \u0437\u0430\u043f\u0438\u0441\u0438 \u043e\u0440\u0438\u0433\u0438\u043d\u0430\u043b\u044c\u043d\u043e\u0433\u043e \u0434\u043e\u043a\u043b\u0430\u0434\u0430, \u0435\u0441\u043b\u0438 \u0442\u0430\u043a\u043e\u0439 \u0441\u0443\u0449\u0435\u0441\u0442\u0432\u0443\u0435\u0442.<\/p>\n<\/li>\n<\/ul>\n<ul>\n<li>\n<p><a href=\"https:\/\/speakerdeck.com\/philipschwarz\/tagless-final-encoding-algebras-and-interpreters-and-also-programs\"><u>Tagless Final Encoding<\/u><\/a> \u2014 \u0435\u0449\u0435 \u0441\u043b\u0430\u0439\u0434\u044b \u043e\u0442 \u0430\u0432\u0442\u043e\u0440\u0430 \u0432\u044b\u0448\u0435 \u0432 \u0444\u043e\u0440\u043c\u0430\u0442\u0435 \u0434\u0438\u0430\u043b\u043e\u0433\u0430 \u0441 Gabriel Volpe \u043e tagless final.<\/p>\n<\/li>\n<li>\n<p><a href=\"https:\/\/scalajobs.com\/blog\/how-to-create-durations-in-scala\/\"><u>How to create Durations in Scala<\/u><\/a> \u2014 \u043c\u0438\u043d\u0438-\u0437\u0430\u043c\u0435\u0442\u043a\u0430 \u043e \u0442\u043e\u043c, \u0447\u0442\u043e \u043c\u043e\u0436\u043d\u043e \u043f\u0438\u0441\u0430\u0442\u044c 2.minutes \u0432\u043c\u0435\u0441\u0442\u043e Duration(2, TimeUnit.MINUTES).<\/p>\n<\/li>\n<\/ul>\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<p>\u041d\u0430 \u043a\u0430\u043d\u0430\u043b\u0435 Scala Days Conferences \u0432\u044b\u043b\u043e\u0436\u0438\u043b\u0438 \u0437\u0430\u043f\u0438\u0441\u0438 \u0434\u043e\u043a\u043b\u0430\u0434\u043e\u0432 \u0438 \u0432\u044b\u0441\u0442\u0443\u043f\u043b\u0435\u043d\u0438\u0439 \u0441 \u043f\u0440\u043e\u0448\u0435\u0434\u0448\u0435\u0439 \u043a\u043e\u043d\u0444\u0435\u0440\u0435\u043d\u0446\u0438\u0438 <a href=\"http:\/\/youtube.com\/watch?v=_mXSOkHanXc\"><u>Scala Days 2023<\/u><\/a> \u0432 \u041c\u0430\u0434\u0440\u0438\u0434\u0435. \u041f\u0440\u0438\u0433\u043b\u0430\u0448\u0430\u0435\u043c \u043f\u043e\u0441\u043c\u043e\u0442\u0440\u0435\u0442\u044c, \u0430 \u0431\u043e\u043b\u0435\u0435 \u043f\u043e\u0434\u0440\u043e\u0431\u043d\u044b\u0439 \u0440\u0435\u0442\u0435\u043b\u043b\u0438\u043d\u0433 \u043e\u0442\u0434\u0435\u043b\u044c\u043d\u044b\u0445 \u0434\u043e\u043a\u043b\u0430\u0434\u043e\u0432 \u0431\u0443\u0434\u0435\u0442 \u043e\u0442 \u043d\u0430\u0441 \u0432 \u0441\u043b\u0435\u0434\u0443\u044e\u0449\u0435\u043c \u043c\u0435\u0441\u044f\u0446\u0435\u00a0 (\u2283\uff61\u2022\u0301\u203f\u2022\u0300\uff61)\u2283\u2501\u2606\uff9f.*\uff65\uff61\uff9f<\/p>\n<div class=\"tm-iframe_temp\" data-src=\"https:\/\/embedd.srv.habr.com\/iframe\/6540c3e972e08276d7bbd0f9\" data-style=\"\" id=\"6540c3e972e08276d7bbd0f9\" width=\"\"><\/div>\n<ul>\n<li>\n<p><a href=\"https:\/\/www.youtube.com\/live\/lQOwF9TQEpk?si=Z8KQ8vnpL3xtqSzD\"><u>M2_TECH Scala Meetup<\/u><\/a> \u2014 \u0442\u0440\u0438 \u0440\u0430\u0441\u0441\u043a\u0430\u0437\u0430 \u043e Scala. \u041f\u0435\u0440\u0432\u044b\u0439 \u0434\u043e\u043a\u043b\u0430\u0434 \u2014 \u043f\u0440\u0435\u0437\u0435\u043d\u0442\u0430\u0446\u0438\u044f \u0431\u0438\u0431\u043b\u0438\u043e\u0442\u0435\u043a\u0438 <a href=\"https:\/\/github.com\/m2-oss\/calypso\"><u>calypso<\/u><\/a>, \u043f\u043e\u043c\u043e\u0433\u0430\u044e\u0449\u0435\u0439 \u043a\u043e\u0440\u0440\u0435\u043a\u0442\u043d\u043e \u043f\u0435\u0440\u0435\u0433\u043e\u043d\u044f\u0442\u044c \u0441\u043b\u043e\u0436\u043d\u044b\u0435 \u043c\u043e\u0434\u0435\u043b\u0438 \u0432 BSON \u0438 \u043e\u0431\u0440\u0430\u0442\u043d\u043e, \u0432 \u0447\u0430\u0441\u0442\u043d\u043e\u0441\u0442\u0438 \u0434\u043b\u044f \u0445\u0440\u0430\u043d\u0435\u043d\u0438\u044f \u0432 MongoDB. \u0412\u0442\u043e\u0440\u043e\u0439 \u2014 \u043e Saga-\u043f\u0430\u0442\u0442\u0435\u0440\u043d\u0435 \u0438 Transactional Outbox \u0438 \u0438\u0445 \u0440\u0430\u0437\u043d\u0438\u0446\u0435 \u043d\u0430 \u043a\u043e\u043d\u043a\u0440\u0435\u0442\u043d\u043e\u043c \u043f\u0440\u0438\u043c\u0435\u0440\u0435 \u0441\u0435\u0440\u0432\u0438\u0441\u0430 \u0431\u0440\u043e\u043d\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u044f \u0432 \u043f\u0443\u0442\u0435\u0448\u0435\u0441\u0442\u0432\u0438\u044f\u0445. \u0417\u0430\u043a\u043b\u044e\u0447\u0438\u0442\u0435\u043b\u044c\u043d\u044b\u0439 \u0434\u043e\u043a\u043b\u0430\u0434 \u0434\u0435\u043b\u0438\u0442\u0441\u044f \u043f\u043e\u0434\u0440\u043e\u0431\u043d\u043e\u0441\u0442\u044f\u043c\u0438 \u0440\u0430\u0431\u043e\u0442\u044b \u0441 \u043f\u043e\u0434\u0445\u043e\u0434\u043e\u043c Vertical slice \u0432 Scala.<\/p>\n<\/li>\n<li>\n<p><a href=\"http:\/\/youtube.com\/watch?v=RwCS1vjeweA\"><u>Scala Meetup Lisbon Hub 2023 \u2014 Part 1<\/u><\/a> \u2014 shift-left-\u043f\u043e\u0434\u0445\u043e\u0434 \u0432 \u0440\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u043a\u0435 \u043d\u0430 \u043f\u0440\u0430\u043a\u0442\u0438\u043a\u0435. \u041e \u0442\u043e\u043c, \u043a\u0430\u043a \u0440\u0435\u0430\u043b\u0438\u0437\u043e\u0432\u0430\u0442\u044c <a href=\"https:\/\/blog.7mind.io\/constructive-test-taxonomy\"><u>Dual Tests Tactic<\/u><\/a>, \u0437\u0430\u0440\u0443\u0447\u0438\u0432\u0448\u0438\u0441\u044c \u043f\u043e\u0434\u0434\u0435\u0440\u0436\u043a\u043e\u0439 <a href=\"https:\/\/izumi.7mind.io\/\"><u>distage \/ distage-testkit.<\/u><\/a><\/p>\n<\/li>\n<li>\n<p><a href=\"http:\/\/youtube.com\/watch?v=ISZfGFTaM9k\"><u>Scala Meetup Lisbon Hub 2023 \u2014 Part 2<\/u><\/a> \u2014 7mind \u043f\u0438\u043b\u044f\u0442 \u0441\u0432\u043e\u0439 build tool \u0441 \u043c\u0443\u043b\u044c\u0442\u0438\u043c\u043e\u0434\u0443\u043b\u044c\u043d\u044b\u043c\u0438 \u043f\u0440\u043e\u0435\u043a\u0442\u0430\u043c\u0438 \u0438 \u0438\u0437\u043e\u043b\u0438\u0440\u043e\u0432\u0430\u043d\u043d\u044b\u043c\u0438 \u0431\u0438\u043b\u0434\u0430\u043c\u0438. \u041f\u043e\u043a\u0430 \u043d\u0430 \u0441\u0442\u0430\u0434\u0438\u0438 research, \u043f\u043e\u044d\u0442\u043e\u043c\u0443 \u043f\u043e\u0442\u044b\u043a\u0430\u0442\u044c \u043d\u0435\u043b\u044c\u0437\u044f, \u043d\u043e \u0438\u043d\u0442\u0435\u0440\u0435\u0441\u043d\u043e \u043f\u043e\u0441\u043b\u0443\u0448\u0430\u0442\u044c \u043e \u043a\u043e\u043d\u0446\u0435\u043f\u0446\u0438\u044f\u0445, \u043d\u0430 \u043a\u043e\u0442\u043e\u0440\u044b\u0445 \u0431\u0430\u0437\u0438\u0440\u0443\u0435\u0442\u0441\u044f \u043f\u0440\u043e\u0435\u043a\u0442. \u0415\u0441\u0442\u044c \u043d\u0435\u0431\u043e\u043b\u044c\u0448\u0430\u044f \u0441\u0432\u043e\u0434\u043a\u0430 \u043e \u0441\u0443\u0449\u0435\u0441\u0442\u0432\u0443\u044e\u0449\u0438\u0445 build tool, \u043f\u043e\u0434\u0434\u0435\u0440\u0436\u0438\u0432\u0430\u044e\u0449\u0438\u0445 \u0441\u0431\u043e\u0440\u043a\u0438 \u043d\u0430 Scala, \u0438 \u0447\u0435\u043c \u043e\u043d\u0438 \u043d\u0435 \u0441\u043e\u043e\u0442\u0432\u0435\u0442\u0441\u0442\u0432\u0443\u044e\u0442 \u0445\u043e\u0442\u0435\u043b\u043a\u0430\u043c \u0441\u0435\u0433\u043e\u0434\u043d\u044f\u0448\u043d\u0435\u0433\u043e \u0434\u043d\u044f.<\/p>\n<\/li>\n<li>\n<p><a href=\"https:\/\/www.youtube.com\/watch?v=JEPHf9n3Dgc\"><u>Cellular Automata for video games<\/u><\/a> \u2014 \u0441\u043e\u0432\u0441\u0435\u043c \u043d\u0435 \u043f\u0440\u043e video games. \u041a\u0443\u0441\u043e\u0447\u0435\u043a \u0442\u0435\u043e\u0440\u0438\u0438 \u043e \u043a\u043b\u0435\u0442\u043e\u0447\u043d\u044b\u0445 \u0430\u0432\u0442\u043e\u043c\u0430\u0442\u0430\u0445 \u0438 \u043e \u0442\u043e\u043c, \u043a\u0443\u0434\u0430 \u0438\u0445 \u043c\u043e\u0436\u043d\u043e \u043f\u0440\u0438\u043b\u043e\u0436\u0438\u0442\u044c. \u0412 \u0447\u0430\u0441\u0442\u043d\u043e\u0441\u0442\u0438, \u043a \u043c\u043e\u0434\u0435\u043b\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u044e \u0440\u0435\u0430\u043b\u044c\u043d\u044b\u0445 \u043f\u0440\u043e\u0446\u0435\u0441\u0441\u043e\u0432. \u041b\u0430\u0439\u043a \u0437\u0430 \u0440\u0430\u0441\u0441\u043b\u0430\u0431\u043b\u044f\u044e\u0449\u0438\u0439 \u0442\u043e\u043d \u043f\u043e\u0432\u0435\u0441\u0442\u0432\u043e\u0432\u0430\u043d\u0438\u044f \u0438 \u043a\u0430\u043f\u0435\u043b\u044c\u043a\u0443 \u0441\u0430\u043c\u043e\u0438\u0440\u043e\u043d\u0438\u0438.<\/p>\n<\/li>\n<li>\n<p><a href=\"https:\/\/www.youtube.com\/watch?v=cedWR03lfL8\"><u>Schema management with Scalameta by Lars Albertsson<\/u><\/a> \u2014 \u0441\u043b\u043e\u0436\u043d\u044b\u0439 \u0434\u043e\u043a\u043b\u0430\u0434 \u043e Big Data, \u0432 \u043a\u043e\u0442\u043e\u0440\u043e\u043c \u043f\u0435\u0440\u0435\u043f\u043b\u0435\u0442\u0430\u044e\u0442\u0441\u044f \u043f\u0430\u0439\u043f\u043b\u0430\u0439\u043d\u044b \u0438\u043d\u0436\u0435\u043d\u0435\u0440\u043e\u0432 \u0434\u0430\u043d\u043d\u044b\u0445 \u0441 \u043c\u0430\u043a\u0440\u043e\u0441\u0430\u043c\u0438 Scala. \u0421\u043b\u0443\u0448\u0430\u0442\u044c \u0442\u044f\u0436\u0435\u043b\u043e\u0432\u0430\u0442\u043e, \u043d\u043e \u0433\u0434\u0435 \u043c\u044b \u0435\u0449\u0435 \u0442\u0430\u043a\u043e\u0435 \u0443\u0432\u0438\u0434\u0438\u043c.<\/p>\n<\/li>\n<li>\n<p><a href=\"https:\/\/www.youtube.com\/watch?v=CpUBZI1mr7w\"><u>Microservices and gRPC in Scala with FS2 and Scalapb<\/u><\/a> \u2014 \u0445\u043e\u0440\u043e\u0448\u0435\u0435 \u0432\u0432\u0435\u0434\u0435\u043d\u0438\u0435 \u0432 grpc \u0447\u0435\u0440\u0435\u0437 fs2. \u041a\u043e\u043c\u043f\u0438\u043b\u0438\u0440\u0443\u0435\u043c \u043c\u043e\u0434\u0435\u043b\u044c\u043a\u0438, \u0441\u043e\u0437\u0434\u0430\u0435\u043c \u0441\u0435\u0440\u0432\u0435\u0440 \u0438 \u043a\u043b\u0438\u0435\u043d\u0442. \u041f\u0440\u0438\u044f\u0442\u043d\u043e, \u0447\u0442\u043e \u0432 \u043f\u0440\u043e\u0446\u0435\u0441\u0441\u0435 \u043f\u043e\u0434\u0441\u0432\u0435\u0447\u0438\u0432\u0430\u044e\u0442\u0441\u044f \u043d\u0435\u043e\u0447\u0435\u0432\u0438\u0434\u043d\u044b\u0435 \u0434\u043b\u044f \u043d\u043e\u0432\u0438\u0447\u043a\u043e\u0432 \u043c\u043e\u043c\u0435\u043d\u0442\u044b.<\/p>\n<\/li>\n<li>\n<p><a href=\"https:\/\/www.youtube.com\/watch?v=2EgN0t_vLy4\"><u>Zymposium \u2014 ZIO Q&amp;A<\/u><\/a> \u2014 Adam Fraser, \u043d\u0435\u0434\u0430\u0432\u043d\u043e \u043d\u0430\u0437\u043d\u0430\u0447\u0435\u043d\u043d\u044b\u0439 \u043d\u0430 \u043f\u043e\u0441\u0442 CTO Ziverge, \u0443\u0441\u0442\u0440\u043e\u0438\u043b \u0435\u0449\u0435 \u043e\u0434\u043d\u0443 \u0441\u0435\u0441\u0441\u0438\u044e \u0432\u043e\u043f\u0440\u043e\u0441\u043e\u0432 \u0438 \u043e\u0442\u0432\u0435\u0442\u043e\u0432. \u041f\u043e\u043c\u0438\u043c\u043e \u043f\u0440\u043e\u0447\u0435\u0433\u043e \u043e\u0431\u044a\u044f\u0441\u043d\u0438\u043b, \u0432 \u0447\u0435\u043c \u0440\u0430\u0437\u043d\u0438\u0446\u0430 \u043c\u0435\u0436\u0434\u0443 zio-quill, zio-sql \u0438 zio-jdbc.<\/p>\n<\/li>\n<li>\n<p><a href=\"https:\/\/flatmappers.com\/episode010\/\"><u>flatmappers 010<\/u><\/a> \u2014 \u0440\u0435\u0431\u044f\u0442\u0430 \u043f\u043e\u0433\u043e\u0432\u043e\u0440\u0438\u043b\u0438 \u043f\u0440\u043e K8s, \u0441\u043d\u043e\u0432\u0430 \u0432\u0441\u043f\u043e\u043c\u043d\u0438\u043b\u0438 copilot \u0438 \u043f\u0440\u043e\u0447\u0438\u0435 ai \u0434\u043b\u044f \u043d\u0430\u043f\u0438\u0441\u0430\u043d\u0438\u044f \u043a\u043e\u0434\u0430, \u043f\u043e\u043c\u044f\u043d\u0443\u043b\u0438 \u0434\u043e\u0431\u0440\u044b\u043c \u0441\u043b\u043e\u0432\u043e\u043c Li Haoyi. \u0412\u0430\u0434\u0438\u043c \u043f\u043e\u0434\u0435\u043b\u0438\u043b\u0441\u044f \u0447\u0438\u0442-\u043a\u043e\u0434\u0430\u043c\u0438, \u043a\u0430\u043a \u0441\u0442\u0430\u0442\u044c \u043c\u0435\u0439\u043d\u0442\u0435\u0439\u043d\u0435\u0440\u043e\u043c Mill.<\/p>\n<\/li>\n<li>\n<p><a href=\"https:\/\/flatmappers.com\/episode011\/\"><u>flatmappers 011<\/u><\/a> \u2014 \u043e\u0431\u0441\u0443\u0434\u0438\u043b\u0438 <a href=\"https:\/\/cwiki.apache.org\/confluence\/display\/KAFKA\/KIP-939%3A+Support+Participation+in+2PC\"><u>KIP \u043e \u0434\u0432\u0443\u0445\u0444\u0430\u0437\u043d\u043e\u043c \u043a\u043e\u043c\u043c\u0438\u0442\u0435 \u0432 Kafka.<\/u><\/a> \u0412\u0441\u043f\u043e\u043c\u043d\u0438\u043b\u0438, \u0433\u0434\u0435 \u043c\u043e\u0436\u043d\u043e \u043f\u043e\u0447\u0438\u0442\u0430\u0442\u044c \u043d\u043e\u0432\u043e\u0441\u0442\u0438 \u043e \u0436\u0438\u0437\u043d\u0438 Scala (\uff61\u2022\u0300\u1d17-)\u2727 \u041f\u043e\u0434\u0440\u043e\u0431\u043d\u043e \u0440\u0430\u0437\u043e\u0431\u0440\u0430\u043b\u0438 magnum, \u043e \u043a\u043e\u0442\u043e\u0440\u043e\u0439 \u043c\u044b \u043f\u0438\u0441\u0430\u043b\u0438 \u0432 \u043f\u0440\u043e\u0448\u043b\u043e\u043c \u0432\u044b\u043f\u0443\u0441\u043a\u0435. \u0412 \u0441\u043b\u0435\u0434\u0443\u044e\u0449\u0435\u043c \u0432\u044b\u043f\u0443\u0441\u043a\u0435 \u043c\u043e\u0436\u043d\u043e \u0443\u0441\u043b\u044b\u0448\u0430\u0442\u044c, \u043a\u0430\u043a \u043f\u043e\u0435\u0442 \u042e\u0440\u0430, \u043d\u0443\u0436\u043d\u043e \u0442\u043e\u043b\u044c\u043a\u043e <a href=\"https:\/\/t.me\/flatmappers\"><u>\u043e\u0441\u0442\u0430\u0432\u0438\u0442\u044c ? \u0440\u0435\u0431\u044f\u0442\u0430\u043c \u043f\u043e\u0434 \u043f\u043e\u0441\u0442\u043e\u043c.<\/u><\/a><\/p>\n<\/li>\n<\/ul>\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:\/\/oyvindberg.github.io\/typo\/docs\/\"><u>typo \u2014 Typed postgres integration for Scala<\/u><\/a> \u2014 \u0431\u0438\u0431\u043b\u0438\u043e\u0442\u0435\u043a\u0430 \u043f\u043e \u0433\u0435\u043d\u0435\u0440\u0430\u0446\u0438\u0438 Scala-\u043a\u043e\u0434\u0430 <abbr class=\"habraabbr\" title=\"\u0434\u0430, \u043d\u0435 \u043d\u0430\u043e\u0431\u043e\u0440\u043e\u0442\" data-title=\"&lt;p>itle=&#187;&lt;p>\u0434\u0430, \u043d\u0435 \u043d\u0430\u043e\u0431\u043e\u0440\u043e\u0442&lt;\/p>&#187; data-abbr=&#187;\u043d\u0430 \u043e\u0441\u043d\u043e\u0432\u0435 SQL&#187;>\u043d\u0430 \u043e\u0441\u043d\u043e\u0432\u0435 SQL<\/abbr>. \u041e\u0434\u043d\u0430\u043a\u043e Postgres-only. \u041e\u0442\u043c\u0435\u0442\u0438\u043c, \u0447\u0442\u043e \u0434\u043e\u043a\u0443\u043c\u0435\u043d\u0442\u0430\u0446\u0438\u044f \u0441\u0430\u0439\u0442\u0430 \u0432\u044b\u0433\u043b\u044f\u0434\u0438\u0442 \u043f\u043e\u0442\u0440\u044f\u0441\u0430\u044e\u0449\u0435!<\/p>\n<\/li>\n<li>\n<p><a href=\"https:\/\/scalajobs.com\/blog\/retrying-cats-effect-failures-with-ease\/\"><u>Retrying Cats Effect Failures With Ease<\/u><\/a> \u2014 \u043e\u0431\u0437\u043e\u0440 \u0431\u0438\u0431\u043b\u0438\u043e\u0442\u0435\u043a\u0438 <a href=\"https:\/\/github.com\/cb372\/cats-retry\"><u>cats-retry<\/u><\/a>, \u043d\u0435\u043e\u0444\u0438\u0446\u0438\u0430\u043b\u044c\u043d\u044b\u0439 \u043a\u043e\u0442\u0435\u043d\u043e\u043a \u043e\u0442 typelevel.<\/p>\n<\/li>\n<\/ul>\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:\/\/stryker-mutator.io\/docs\/stryker4s\/getting-started\/\"><u>stryker4s<\/u><\/a> \u2014 \u043f\u0440\u0438\u0445\u043e\u0434\u0438\u043b \u043b\u0438 \u0432\u0430\u043c \u0432 \u0433\u043e\u043b\u043e\u0432\u0443 \u043a\u043e\u0433\u0434\u0430-\u043b\u0438\u0431\u043e \u0432\u043e\u043f\u0440\u043e\u0441, \u0441\u043a\u043e\u043b\u044c\u043a\u043e unit-\u0442\u0435\u0441\u0442\u043e\u0432 \u0441\u043b\u043e\u043c\u0430\u0435\u0442\u0441\u044f, \u0435\u0441\u043b\u0438 \u043c\u044b \u043f\u0435\u0440\u0435\u043f\u0438\u0448\u0435\u043c \u043d\u0430\u0448 \u043a\u043e\u0434? \u0410\u0432\u0442\u043e\u0440\u044b \u044d\u0442\u043e\u0433\u043e \u043f\u0440\u043e\u0435\u043a\u0442\u0430 \u0434\u0435\u043b\u0430\u044e\u0442 \u043f\u043e\u043f\u044b\u0442\u043a\u0443 \u043e\u0442\u0441\u043b\u0435\u0434\u0438\u0442\u044c \u043a\u0430\u0447\u0435\u0441\u0442\u0432\u043e \u043f\u043e\u043a\u0440\u044b\u0442\u0438\u044f \u0442\u0435\u0441\u0442\u0430\u043c\u0438, \u0432\u0441\u0442\u0430\u0432\u043b\u044f\u044f \u043f\u0440\u043e\u0438\u0437\u0432\u043e\u043b\u044c\u043d\u044b\u0435 \u0431\u0430\u0433\u0438 \u0432 source-\u043a\u043e\u0434 \u0438 \u043f\u0440\u043e\u0433\u043e\u043d\u044f\u044f \u043d\u0430 \u043c\u043e\u0434\u0438\u0444\u0438\u0446\u0438\u0440\u043e\u0432\u0430\u043d\u043d\u043e\u043c \u043a\u043e\u0434\u0435 \u0442\u0435\u0441\u0442\u044b. \u0425\u043e\u0442\u044f \u0431\u044b \u0438\u0437 \u0438\u043d\u0442\u0435\u0440\u0435\u0441\u0430 \u043f\u043e\u0442\u044b\u043a\u0430\u0435\u0442\u0435 \u0432 \u0438\u0445 <a href=\"https:\/\/stryker-mutator.io\/stryker-playground\/\"><u>playground.<\/u><\/a><\/p>\n<\/li>\n<li>\n<p><a href=\"https:\/\/toniogela.dev\/testing-typelevel-toolkit\/\"><u>Integration testing the Typelevel toolkit<\/u><\/a> \u2014 \u043c\u0435\u0439\u043d\u0442\u0435\u0439\u043d\u0435\u0440\u044b typelevel-toolkit \u043f\u0440\u043e\u0432\u043e\u0434\u044f\u0442 \u043c\u0443\u043b\u044c\u0442\u0438\u043f\u043b\u0430\u0442\u0444\u043e\u0440\u043c\u0435\u043d\u043d\u043e\u0435 \u0442\u0435\u0441\u0442\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u0435 \u0442\u043e\u0433\u043e, \u043a\u0430\u043a scala-cli \u043e\u0431\u0440\u0430\u0449\u0430\u0435\u0442\u0441\u044f \u0441 \u0438\u0445 toolkit. \u041f\u043e\u0447\u0438\u0442\u0430\u0439\u0442\u0435, \u0447\u0442\u043e\u0431\u044b \u043f\u0440\u043e\u043d\u0438\u043a\u043d\u0443\u0442\u044c\u0441\u044f \u043c\u043e\u0437\u0433\u043e\u0432\u044b\u043d\u043e\u0441\u044f\u0449\u0438\u043c\u0438 \u0442\u0435\u0445\u043d\u0438\u043a\u0430\u043c\u0438 \u0442\u0435\u0441\u0442\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u044f, \u043a\u043e\u0442\u043e\u0440\u044b\u0435 \u043d\u0435 \u0443\u0432\u0438\u0434\u0438\u0448\u044c \u0432 \u043e\u0431\u044b\u0447\u043d\u043e\u043c enterprise-\u043a\u043e\u0434\u0435.<\/p>\n<\/li>\n<li>\n<p><a href=\"https:\/\/eed3si9n.com\/ifdef-macro-in-scala\/\"><u>ifdef macro in Scala<\/u><\/a> \u2014 Eugene Yokota \u0438\u043c\u043f\u043b\u0435\u043c\u0435\u043d\u0442\u0438\u0440\u043e\u0432\u0430\u043b \u0444\u0438\u0447\u0443, \u043f\u043e\u0437\u0432\u043e\u043b\u044f\u044e\u0449\u0443\u044e \u043f\u0438\u0441\u0430\u0442\u044c \u0442\u0435\u0441\u0442\u044b \u0432 src\/main\/. \u0417\u0430\u0447\u0435\u043c \u044d\u0442\u043e \u043d\u0430\u0434\u043e \u2014 \u0432\u043e\u043f\u0440\u043e\u0441 \u0434\u0438\u0441\u043a\u0443\u0441\u0441\u0438\u043e\u043d\u043d\u044b\u0439. \u0421\u0430\u043c\u0430 \u043a\u043e\u043d\u0446\u0435\u043f\u0446\u0438\u044f \u043a\u043e\u0434\u0430, \u043a\u043e\u0442\u043e\u0440\u044b\u0439 \u043f\u043e\u043d\u0438\u043c\u0430\u0435\u0442, \u0432 \u043a\u0430\u043a\u043e\u0439 \u0441\u0440\u0435\u0434\u0435 \u0437\u0430\u043f\u0443\u0441\u043a\u0430\u0435\u0442\u0441\u044f, \u0437\u0432\u0443\u0447\u0438\u0442 \u0438\u043d\u0442\u0440\u0438\u0433\u0443\u044e\u0449\u0435. \u0421\u0442\u0430\u0442\u044c\u044f \u0438\u0437 \u0434\u0432\u0443\u0445 \u0447\u0430\u0441\u0442\u0435\u0439: \u0432 \u043f\u0435\u0440\u0432\u043e\u0439 \u0440\u0435\u0430\u043b\u0438\u0437\u0430\u0446\u0438\u044f \u0447\u0435\u0440\u0435\u0437 \u043c\u0430\u043a\u0440\u043e\u0430\u043d\u043d\u043e\u0442\u0430\u0446\u0438\u0438, <a href=\"https:\/\/eed3si9n.com\/ifdef-in-scala-via-pre-typer-processing\/\"><u>\u0432\u043e \u0432\u0442\u043e\u0440\u043e\u0439<\/u><\/a> \u2014 \u0447\u0435\u0440\u0435\u0437 \u043f\u043b\u0430\u0433\u0438\u043d \u043a\u043e\u043c\u043f\u0438\u043b\u044f\u0442\u043e\u0440\u0430.<\/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\u0430\u0441 \u0432 \u043a\u043e\u043c\u043c\u0435\u043d\u0442\u0430\u0440\u0438\u044f\u0445:<\/p>\n<ul>\n<li>\n<p><a href=\"https:\/\/blog.jetbrains.com\/blog\/2023\/10\/16\/ai-graphics-at-jetbrains-story\/\"><u>The Story of AI Graphics at JetBrains<\/u><\/a> \u2014 \u0435\u0441\u043b\u0438 \u0432\u0430\u043c, \u043a\u0430\u043a \u0438 \u0440\u0435\u0434\u0430\u043a\u0446\u0438\u0438 \u0434\u0430\u0439\u0434\u0436\u0435\u0441\u0442\u0430, \u043d\u0440\u0430\u0432\u044f\u0442\u0441\u044f \u0437\u0430\u0441\u0442\u0430\u0432\u043a\u0438 \u043f\u0440\u043e\u0434\u0443\u043a\u0442\u043e\u0432 JetBrains, \u0442\u043e \u043d\u0435 \u043f\u0440\u043e\u043f\u0443\u0441\u0442\u0438\u0442\u0435 \u044d\u0442\u043e\u0442 \u043b\u043e\u043d\u0433\u0440\u0438\u0434. \u0420\u0430\u0441\u0441\u043c\u0430\u0442\u0440\u0438\u0432\u0430\u044e\u0442\u0441\u044f \u0434\u0432\u0435 \u0441\u0435\u0442\u043a\u0438 \u0433\u0435\u043d\u0435\u0440\u0430\u0446\u0438\u0438 \u043a\u0430\u0440\u0442\u0438\u043d Stable Diffusion \u0438 <abbr class=\"habraabbr\" title=\"compositional pattern-producing network\" data-title=\"&lt;p>compositional pattern-producing network&lt;\/p>&#187; data-abbr=&#187;CPPN&#187;>CPPN<\/abbr> \u0438 \u0440\u0430\u0441\u0441\u043a\u0430\u0437\u044b\u0432\u0430\u0435\u0442\u0441\u044f, \u043a\u0430\u043a \u043f\u043e\u0434\u0442\u044e\u043d\u0438\u0432\u0430\u043b\u0438 \u0431\u0430\u0437\u043e\u0432\u044b\u0439 \u0430\u043b\u0433\u043e\u0440\u0438\u0442\u043c \u0434\u043b\u044f \u0441\u0435\u0431\u044f. \u00ab\u041f\u0440\u0438\u0445\u043e\u0434\u0438\u0448\u044c \u043a \u0434\u0438\u0437\u0430\u0439\u043d\u0435\u0440\u0430\u043c JetBrains \u043f\u043e\u0441\u043c\u043e\u0442\u0440\u0435\u0442\u044c, \u043a\u0430\u043a \u043e\u043d\u0438 \u043b\u043e\u0433\u043e \u0440\u0438\u0441\u0443\u044e\u0442, \u0430 \u0442\u0430\u043c \u043d\u0435\u0439\u0440\u043e\u043d\u043a\u0438 \u0432 \u043d\u0430\u0440\u0434\u044b \u0438\u0433\u0440\u0430\u044e\u0442\u00bb (\u0441) \u041a\u0430\u0440\u0438\u043d\u0430<\/p>\n<\/li>\n<li>\n<p><a href=\"https:\/\/scala.epfl.ch\/records\/2023-Q3-activity-report.html\"><u>2023 Q3 Activity Report<\/u><\/a> \u2014 \u043e\u0442\u0447\u0435\u0442 Scala Center \u0437\u0430 Q3. \u041f\u043e\u0434\u0440\u043e\u0431\u043d\u043e \u0438 \u043f\u0440\u043e\u0437\u0440\u0430\u0447\u043d\u043e. \u041e\u043f\u0438\u0441\u0430\u043d\u044b \u0438\u043d\u0442\u0435\u0440\u0435\u0441\u043d\u044b\u0435 \u0442\u0435\u043c\u044b \u043f\u0440\u043e \u043f\u0435\u0440\u0435\u0434\u0430\u0447\u0443 sbt \u043e\u0442 Yugene Yokota, sbt-\u043f\u043b\u0430\u0433\u0438\u043d \u043f\u043e \u0430\u0432\u0442\u043e\u043c\u0438\u0433\u0440\u0430\u0446\u0438\u0438 \u043d\u0430 Scala 3, \u0430 \u0435\u0449\u0435 \u043f\u0440\u043e \u043f\u043e\u043f\u044b\u0442\u043a\u0438 \u0441\u0434\u0435\u043b\u0430\u0442\u044c \u043f\u0440\u043e\u0446\u0435\u0441\u0441 \u043a\u043e\u043d\u0442\u0440\u0438\u0431\u044c\u044e\u0442\u0430 \u0432 \u043a\u043e\u043c\u043f\u0438\u043b\u044f\u0442\u043e\u0440 \u0431\u043e\u043b\u0435\u0435 \u043f\u043e\u043d\u044f\u0442\u043d\u044b\u043c.<\/p>\n<\/li>\n<li>\n<p><a href=\"https:\/\/scala-lang.org\/blog\/2023\/09\/25\/work-in-progress-scala-3-specification.html\"><u>Work-in-Progress Scala 3 Specification<\/u><\/a> \u2014 \u043f\u0440\u043e\u0434\u043e\u043b\u0436\u0430\u044e\u0442 \u0434\u0435\u043b\u0430\u0442\u044c \u0434\u043e\u043a\u0443\u043c\u0435\u043d\u0442\u0430\u0446\u0438\u044e \u0431\u043e\u043b\u0435\u0435 user-friendly \u0434\u043b\u044f \u043d\u043e\u0432\u0438\u0447\u043a\u043e\u0432 \u0438 \u043d\u0435 \u0442\u043e\u043b\u044c\u043a\u043e, \u0430 \u0438\u043c\u0435\u043d\u043d\u043e \u0434\u043e\u043f\u0438\u043b\u0438\u0432\u0430\u044e\u0442 \u043f\u043e\u043b\u043d\u043e\u0446\u0435\u043d\u043d\u0443\u044e \u0441\u043f\u0435\u0446\u0438\u0444\u0438\u043a\u0430\u0446\u0438\u044e \u0432\u0441\u0435\u0445 \u0444\u0438\u0447 \u0432 Scala 3.<\/p>\n<\/li>\n<li>\n<p><a href=\"https:\/\/scala-lang.org\/blog\/2023\/10\/17\/feedback-wanted-error-messages.html\"><u>Tell us which errors bug you the most<\/u><\/a> \u2014 \u0443\u043d\u0438\u043a\u0430\u043b\u044c\u043d\u044b\u0439 \u0448\u0430\u043d\u0441 \u043f\u043e\u0434\u0441\u0432\u0435\u0442\u0438\u0442\u044c, \u043a\u0430\u043a\u0438\u0435 \u043e\u0448\u0438\u0431\u043a\u0438 \u0432\u0430\u0441 \u0431\u0435\u0441\u044f\u0442 \u0432 Scala 3.<\/p>\n<\/li>\n<\/ul>\n<ul>\n<li>\n<p><a href=\"https:\/\/softwaremill.com\/scale-your-software-like-a-tech-native\/\"><u>Scale your software like a tech native.<\/u><\/a><\/p>\n<\/li>\n<\/ul>\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>\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<\/ul>\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>\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\/770964\/\"> https:\/\/habr.com\/ru\/articles\/770964\/<\/a><br \/><\/br><\/br><\/p>\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-358938","post","type-post","status-publish","format-standard","hentry"],"_links":{"self":[{"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=\/wp\/v2\/posts\/358938","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=358938"}],"version-history":[{"count":0,"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=\/wp\/v2\/posts\/358938\/revisions"}],"wp:attachment":[{"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=358938"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=358938"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=358938"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}