Date | Title | Description |
06.12.2024 | The Intricacies of Recursive Types in Programming | In the realm of programming, recursive types are akin to the roots of a tree, reaching deep into the soil of logic and mathematics. They provide a foundation for constructing complex data structures and algorithms. This article explores the... |
05.12.2024 | Рекурсивные типы. Часть 3/5. Свободные контейнеры | Пример свободного контейнера.
Содержание третьей части:
Свободный контейнер
Более свободный контейнер
Батуты
Ко-свободный контейнер
Промежуточный итогДругие части обзора
Часть 1. Рекурсия.
Часть 2. Неподвижные точки конструкторов типов.
Час... |
05.12.2024 | Рекурсивные типы. Часть 2/5. Неподвижные точки конструкторов типов | Поиск неподвижной точки функции.
Содержание второй части:
Откуда есть пошли типы рекурсивные
Неподвижные точки конструкторов типов
Начальная F-алгебра
Наибольшая неподвижная точка
Классы типов неподвижных точек
Промежуточный итогДругие част... |
03.12.2024 | The Pulse of Scala: Innovations and Insights from the Community | In the ever-evolving landscape of programming languages, Scala stands out like a lighthouse in a storm. It’s a beacon for developers seeking functional programming paradigms and object-oriented principles. The Scala community is vibrant, bu... |
02.12.2024 | Scala Digest. Выпуск 23 | Привет, Хабр! Мы — Настя и Эвелина — бэкенд-разработчики Т-Банка, пишем код на Scala и горим желанием его популяризировать. Мы собираем и агрегируем новости из разных источников, включая Scala Times, блог Petr Zapletal и канал Scala Nishtya... |
13.09.2024 | Oracle's Cloud AI Cluster: A Game Changer in Computing Power | In the world of technology, giants often clash. Oracle has just thrown down the gauntlet with its announcement of a colossal cloud AI cluster. This isn't just any cluster; it's a behemoth, boasting a staggering 131,072 Nvidia B200 GPUs. The... |
11.09.2024 | Жизнь, смерть и ̶р̶о̶б̶о̶т̶ы̶ управление ресурсами в Scala | Вы когда-нибудь задумывались о том, как выделяется память для переменных, и в какой конкретно момент она очищается? Как сборщик мусора «решает», что переменная уже не нужна и можно ли как-то повлиять на его решение?
В новой статье директор ... |
13.04.2024 | Обобщённые типы. Часть 1/3. Полиморфные типы высокого рода | Теория типов способна дать ответы даже на очень сложные вопросы. Осталось только научится правильно формулировать вопросы.
В предыдущей статье раскрывались некоторые базовые понятия теории типов. В этот раз мы рассмотрим обобщённые типы (ge... |
13.04.2024 | Обобщённые типы. Часть 2/3. Классы типов и контейнеры | Скалисты-призыватели, случайно сфотографированные во время работы. Призыв (summon) неявных значений по типу – один из важных инструментов работы с классами типов в Scala 3.
Это вторая часть обзора обобщённых типов, в которой мы расскажем о ... |
13.04.2024 | Обобщённые типы. Часть 3/3. Применение контейнерных типов | Контейнерные типы являются замечательным строительным материалом для проектов любого масштаба!
В последней третьей части обзора продемонстрировано, как на основе обобщённых типов-контейнеров реализуются различные ФП-техники “чистого” постро... |
01.04.2024 | Scala Digest. Выпуск 15 | Привет, Хабр! Мы — Рома, Настя и Карина — бэкенд-разработчики Тинькофф, пишем код на Scala и горим желанием его популяризировать. Мы собираем и агрегируем новости из разных источников, включая Scala Times, блог Petr Zapletal и канал Scala N... |
14.03.2024 | Имплиситы и тайпклассы в Scala | Статья, в большей степени, будет интересна для начинающих скалистов и по сути является немного переработанным конспектом лекции. А еще стоит отметить, что все примеры кода написаны на Scala 2.
Ссылка на оригиналПлан у нас такой
Implicit con... |
27.02.2024 | Зачем в Scala трамплины и как их использовать | В этой статье директор департамента разработки российской компании «Криптонит» и «скалист» Алексей Шуксто рассказывает о специфической технике функционального программирования, которая называется «трамплин» (trampoline).
Если кратко, то «тр... |
14.12.2023 | Внедрение зависимостей с использованием монады Cats-effect Resource | Монада Cats-effect Resource предоставляет отличную монадическую абстракцию над паттерном try-with-resource. Например, она позволяет управлять жизненным циклом зависимостей, включая закрытие/финализацию ресурса, когда он больше не нужен (зак... |
07.06.2023 | Накапливайте ошибки в Scala с помощью typelevel cats | Когда дело доходит до обработки ошибок, основной стратегией является прекращение всех вычислений после обнаружения первой погрешности. Обычно это достигается за счет использования исключений. Хотя этот подход работает в большинстве случаев,... |
01.06.2023 | Scala Digest. Выпуск 5 | Привет, Хабр! Мы — Рома, Настя и Карина — бэкенд-разработчики Тинькофф, пишем код на Scala и горим желанием его популяризировать.
Мы собираем и агрегируем новости из разных источников, включая Scala Times, блог Petr Zapletal и канал Scala N... |
18.05.2023 | Особенности сред исполнения различных систем эффектов в Scala | Привет! Меня зовут Никита Калинский, я разработчик в Тинькофф Бизнесе. Сейчас я занимаюсь продуктом под названием «Лента операций». Физлица в желтом приложении могут отслеживать все свои операции, и мы делаем такой же инструмент для предпри... |
02.05.2023 | Scala Digest. Выпуск 4 | Привет, Хабр! Мы — Рома, Настя и Карина — бэкенд-разработчики Тинькофф, пишем код на Scala и горим желанием его популяризировать.
Мы собираем новости из разных источников, включая Scala Times, блог Petr Zapletal и канал Scala Nishtyaki, доб... |
07.04.2023 | Наиболее распространённые мифы о Scala: сеанс с разоблачением | В этом посте развенчивается ряд очень существенных мифов о языке Scala, которые, как нам известно, циркулируют в блогосфере. Для каждого развенчанного мифа мы представим альтернативную точку зрения, подкреплённую данными из надёжных источни... |
03.04.2023 | Scala Digest. Выпуск 3 | Привет, Хабр! Мы — Рома, Настя и Карина — бэкенд-разработчики Тинькофф, пишем код на Scala и стараемся его популяризировать.
Мы собрали свежий выпуск новостей из разных источников, включая Scala Times, блог Petr Zapletal и канал Scala Nisht... |
02.03.2023 | Точность — вежливость Scala’лазов: разбираем уточняющие типы данных и практику их применения | Привет, Хабр! Я ведущий инженер по обработке данных в компании «Криптонит» и пишу на Scala. В этой статье хочу поделиться своим опытом и рассказать о паре лайфхаков, которые помогут избежать распространённых ошибок.
Ни один программист не з... |
26.02.2023 | Пишем простой чат с консольным интерфейсом используя трубно-ориентированное программирование с котами | Если в процессе изучения gRPC хотите попрактиковаться с Bidirectional Streaming (двунаправленная потоковая передача данных), c запросами в рамках одного соединения, инициированием событий со стороны сервера, то создание простого чата может ... |
22.02.2023 | Неявные параметры. Когда их следует использовать? Часть 1 | Имплиситы (implicits) – одна из наиболее вызывающих опасения фич языка программирования Scala, и на то есть веские причины!
Во-первых, понятие имплиcитов довольно специфично для Scala. Ни один другой основной язык программирования не имеет ... |
14.11.2022 | Функциональный поиск событий с помощью cats-effect | Достижение максимальной выразительности и абстракции домена при сохранении точности протокола актора с помощью библиотеки endless4s Scala.
Код, описывающий бизнес-логику, несомненно, является самым ценным активом в системе программного обес... |
03.11.2022 | Умные конструкторы для кейс-классов | В число огромных преимуществ использования Scala входит безопасность типов. Если мы четко и внимательно относимся к используемым нами типам, компилятор способен направить нас в правильном направлении и указать, где мы можем ошибиться.
Сущес... |
01.07.2022 | Потоковая обработка на go1.18 | В версии 1.18 языка Go появились генерики, дающие возможность писать обобщенный код, то есть код, не зависящий от конкретного типа данных. Например можно написать код, обрабатывающий потоки данных - применить к ним одну и ту же функцию, отф... |
22.05.2022 | Потоковая обработка данных в go | При использовании языка Go чувствуется нехватка хорошей библиотеки для работы с потоками данных. Имеющиеся библиотеки в основном написаны во времена до дженериков и имеют не очень удобный интерфейс.
С выходом Go 1.18 появилась возможность р... |
15.03.2022 | Умные конструкторы для case классов | Одним из наибольших преимуществ использования Scala является его типобезопасность. Если подходить к выбору типов в нашем коде осознанно и с разумной степенью осторожности, то компилятор может помочь нам найти более правильное решение или же... |
15.11.2021 | «Выстрелить и забыть» в Cats Effect | Последнее время меня часто спрашивают о паттерне "fire-and-forget": как его применить в Cats Effect и какие потенциальные проблемы могут возникнуть. Поэтому я решил написать небольшой пост. Надеюсь, вам понравится!
Подробнее о Cat... |
29.08.2019 | «Студент правильно сделает, если возьмётся за изучение Scala». Руководитель Scala-разработки Evolution Gaming — о редком языке программирования... | Партнёрский материал
Павел Корзун 29 августа 2019, 08:11 «Студент правильно сделает, если возьмётся за изучение Scala». Руководитель Scala-разработки Evolution Gaming — о редком языке программирования
Оставить комментарий... |
- | Инвариантный функтор в Scala Cats | Сегодня поговорим о еще одном функторе — инвариантном (Invariant Functor). Уже было несколько постов о ковариантных функторах (называемых просто "функторами") и контравариантных функторах. Если концепция ковариантных и контравариа... |