Как стать автором
Обновить
4.33

Scala *

Мультипарадигмальный язык программирования

Сначала показывать
Порог рейтинга
Уровень сложности

Scala Digest. Выпуск 30

Уровень сложностиПростой
Время на прочтение4 мин
Количество просмотров702

Привет, Хабр! Мы — Настя, Эвелина и Миша — бэкенд-разработчики Т-Банка, пишем код на Scala и горим желанием его популяризировать. Мы собираем и агрегируем новости из разных источников, включая Scala Times, блог Petr Zapletal и канал Scala Nishtyaki, добавляем дополнительные новости и собственные комментарии. Мотивацию мы черпаем из желания развиваться и делиться полученными знаниями.

Приветствуем любую обратную связь! (づ ◕‿◕ )づ

Читать тридцатый выпуск

Новости

Scala Digest. Выпуск 28

Уровень сложностиПростой
Время на прочтение7 мин
Количество просмотров1.1K

Привет, Хабр! Мы — Настя, Эвелина и Миша — бэкенд-разработчики Т-Банка, пишем код на Scala и горим желанием его популяризировать. Мы собираем и агрегируем новости из разных источников, включая Scala Times, блог Petr Zapletal и канал Scala Nishtyaki, добавляем дополнительные новости и собственные комментарии. Мотивацию мы черпаем из желания развиваться и делиться полученными знаниями. 

Приветствуем любую обратную связь! (づ ◕‿◕ )づ

Читать двадцать восьмой выпуск

Классические абстракции используемые в ФП

Уровень сложностиСредний
Время на прочтение12 мин
Количество просмотров2.4K

Это продолжение статьи про имплиситы и тайпклассы в Scala (если вы не знакомы с ними, то предлагаю начать с предыдущей статьи). А в этой статье рассмотрим классические примеры тайпклассов и их свойства и научимся писать максимально обобщенный код на Scala

Читать статью

Scala Digest. Выпуск 27

Уровень сложностиПростой
Время на прочтение6 мин
Количество просмотров1.3K

Привет, Хабр! Мы — Настя, Эвелина и Миша — бэкенд-разработчики Т-Банка, пишем код на Scala и горим желанием его популяризировать. Мы собираем и агрегируем новости из разных источников, включая Scala Times, блог Petr Zapletal и канал Scala Nishtyaki, добавляем дополнительные новости и собственные комментарии.

Читать двадцать седьмой выпуск

Scala/Chisel против SystemVerilog: генерируем сложные цифровые схемы

Уровень сложностиСредний
Время на прочтение16 мин
Количество просмотров7.4K

В наши дни общепризнанный стандарт для RTL-описаний — это язык SystemVerilog, но популярность сейчас набирает его альтернатива, Chisel. Далее я расскажу подробней об этом языке, его преимуществах, недостатках и рисках, связанных с переходом на Chisel со стандартного стека. Отдельно остановлюсь на функциональном программировании — возможности Chisel, которой нет в SystemVerilog, — и на дополнительных возможностях Chisel, улучшающих механизм переиспользования модулей. А также о том, почему код на Chisel менее подвержен ошибкам и всегда работает. Ну, почти всегда.

Читать далее

Scala Digest. Выпуск 26

Уровень сложностиПростой
Время на прочтение6 мин
Количество просмотров924

Привет, Хабр! Мы — Настя, Эвелина и Миша — бэкенд-разработчики Т-Банка, пишем код на Scala и горим желанием его популяризировать. Мы собираем и агрегируем новости из разных источников, включая Scala Times, блог Petr Zapletal и канал Scala Nishtyaki, добавляем дополнительные новости и собственные комментарии. Мотивацию мы черпаем из желания развиваться и делиться полученными знаниями.

Приветствуем любую обратную связь! (づ ◕‿◕ )づ

Читать двадцать шестой выпуск

Кредо программиста (в приложении к стилю кодирования)

Уровень сложностиПростой
Время на прочтение32 мин
Количество просмотров5.4K

Однажды меня попросили подготовить рекомендации по программированию на Scala для сотрудников нашей компании. В поисках лучших рецептов приходилось заглядывать в самые пыльные уголки Интернета, и в одном из них, в ветхом проржавелом сундуке я заметил старинный конверт. Просто из любопытства решил заглянуть туда, благо конверт был уже вскрыт. Истлевшие страницы, поблекшие чернила, но содержание настолько меня заворожило, что я просто не мог не поделиться со всеми!

К сожалению, не удалось установить ни автора, ни адресата. Местами текст совершенно невозможно было прочитать, так что пришлось додумывать самому. Но даже несмотря на потери, письмо всё ещё достойно Вашего внимания.

Приятного чтения!

Scala Digest. Выпуск 25

Уровень сложностиПростой
Время на прочтение6 мин
Количество просмотров1.1K

Привет, Хабр! Мы — Настя, Эвелина и Миша — бэкенд-разработчики Т-Банка, пишем код на Scala и горим желанием его популяризировать. Мы собираем и агрегируем новости из разных источников, включая Scala Times, блог Petr Zapletal и канал Scala Nishtyaki, добавляем дополнительные новости и собственные комментарии. Мотивацию черпаем из желания развиваться и делиться полученными знаниями. Приветствуем любую обратную связь! (づ ◕‿◕ )づ

Читать двадцать пятый выпуск

Документация приложения — дело рук самого приложения

Уровень сложностиСредний
Время на прочтение12 мин
Количество просмотров4.1K

Знакомо ли вам чувство, когда на поддержке есть сервис, о принципах работы которого знает буквально пара человек? В таких условиях очередная задача по миграции с одного решения на другое эквивалентна по-дурацки спродюсированному квесту из ролевой игры: ищем документацию, просматриваем глазами код, вызваниваем тех немногих, кто посвящен в таинства организации компонента системы.

В какой-то момент порог негодования в нашей команде достиг критической отметки. Количество сервисов на поддержке приближалось к двум десяткам. Сами же сервисы не развивались, а просто существовали как есть. Более того, никакой общей доменной области, никаких актуальных описаний архитектуры. 

Мы решили навести порядок и разметить сервисы для понимания их архитектурных компонентов. После обсуждения взяли прицел на автоматизируемый процесс описания системы, а не на ручную поддержку документации. Добро пожаловать под кат — рассказываю о нашем пути, а в конце делюсь ссылкой на библиотеку.

Читать далее

Scala Digest. Выпуск 24

Уровень сложностиПростой
Время на прочтение8 мин
Количество просмотров1.5K

Привет, Хабр! Мы — Настя и Эвелина — приветствуем свежую кровь в нашей небольшой, но уютной команде! Миша присоединился к нам месяц назад с горящими глазами и желанием раскопать и вывести на свет каждую драгоценную унцию информации и новостей из Scala-мира.

Мы рады видеть нового бойца в наших рядах и уверены, что сможем делать дайджест еще лучше. А вы можете поделиться собственными материалами — мы опубликуем их и скажем вам спасибо (づ ◕‿◕ )づ

Читать двадцать четвертый выпуск

Ox: Императивный подход к параллельной потоковой обработке данных

Уровень сложностиСложный
Время на прочтение8 мин
Количество просмотров974

Ox, библиотека Scala для безопасного параллелизма и отказоустойчивости в императивном стиле (direct‑style) на JVM, получила новую реализацию параллельной потоковой обработки данных. Она позволяет определять конвейеры обработки данных с помощью функционального API, императивного API или сразу обоих вариантов одновременно.

Потоковая обработка данных в Ox была и раньше: предыдущая реализация была основана исключительно на каналах. Хоть она и работала, но все‑таки имела свои недостатки: каждый этап преобразования вводил асинхронную границу. В некоторых ситуациях это может быть неэффективно: если вы оперируете всего лишь несколькими неблокирующими и не требующими больших затрат CPU этапами, такими как .filter, .mapStateful или .interleave, асинхронные границы просто не нужны. Следовательно, такой подход приводил к избыточному параллелизму.

Читать далее

Рекурсивные типы. Часть 1/5. Рекурсия

Уровень сложностиСредний
Время на прочтение15 мин
Количество просмотров4.7K

Слово «рекурсия» происходит от латинского «recursio» – «круговорот, возврат». Применительно к вычислениям этот термин относится к алгоритмам, повторяющих какие-либо действия. Этот обзор посвящён типам, которые обслуживают рекурсивные алгоритмы.

Это вводная часть и собственно про типы здесь будет мало что сказано. Содержание:

Вычислимые функции
Циклы и рекурсия
Cтек и хвостовая рекурсия
Ссылки вперёд
Y-комбинатор в λ-исчислении
Реализация комбинатора неподвижной точки

Читать далее

Scala Digest. Выпуск 23

Уровень сложностиПростой
Время на прочтение5 мин
Количество просмотров919

Привет, Хабр! Мы — Настя и Эвелина — бэкенд-разработчики Т-Банка, пишем код на Scala и горим желанием его популяризировать. Мы собираем и агрегируем новости из разных источников, включая Scala Times, блог Petr Zapletal и канал Scala Nishtyaki, добавляем дополнительные новости и собственные комментарии. Мотивацию черпаем из желания развиваться и делиться полученными знаниями. Приветствуем любую обратную связь! (づ ◕‿◕ )づ

Читать двадцать третий выпуск

Ближайшие события

Scala Digest. Выпуск 22

Уровень сложностиПростой
Время на прочтение4 мин
Количество просмотров1.6K

Привет, Хабр! Мы — Настя и Эвелина — бэкенд-разработчики Т-Банка, пишем код на Scala и горим желанием его популяризировать. Мы собираем и агрегируем новости из разных источников, включая Scala Times, блог Petr Zapletal и канал Scala Nishtyaki, добавляем дополнительные новости и собственные комментарии. Мотивацию мы черпаем из желания развиваться и делиться полученными знаниями. Приветствуем любую обратную связь! (づ ◕‿◕ )づ

Теперь вы можете поделиться собственными материалами!

Читать двадцать второй выпуск

Scala Digest. Выпуск 21

Уровень сложностиПростой
Время на прочтение5 мин
Количество просмотров815

Привет, Хабр! Мы — @Ivoya, @Melkaya_150cm, @tcarina и @EvieLynn — бэкенд-разработчики Т-Банка, пишем код на Scala и горим желанием его популяризировать. Мы собираем и агрегируем новости из разных источников, включая Scala Times, блог Petr Zapletal и канал Scala Nishtyaki, добавляем дополнительные новости и собственные комментарии. Мотивацию мы черпаем из желания развиваться и делиться полученными знаниями. Приветствуем любую обратную связь! (づ ◕‿◕ )づ 

Теперь вы можете поделиться собственными материалами!

Читать двадцать первый выпуск

Spark Essentials: Руководство по настройке и запуску проектов Spark с помощью Scala и sbt

Время на прочтение18 мин
Количество просмотров2.4K

В этой статье представлено подробное руководство по инициализации проекта Spark с помощью Scala Build Tool (SBT). Это руководство охватывает все этапы процесса, включая создание проектов, управление зависимостями, локальное тестирование, компиляцию и развертывание проекта Spark на кластере.

Это руководство было тщательно продумано, чтобы помочь новичкам, так что даже те, кто только начинает изучать Spark, смогут легко ему следовать. Более того, эта статья послужит ценным пособием для тех, кто хочет создавать, тестировать и развертывать пакетные задания Spark в среде JVM.

Цель этой статьи — предоставить вам подробное руководство по инициализации проекта Spark, в котором будут подробно рассмотрены все ключевые идеи. В руководстве будет рассмотрен пошаговый процесс создания проектов с помощью Scala Build Tool (SBT), а также продемонстрировано управление зависимостями, локальное тестирование, компиляция и развертывание проекта Spark на кластере.

Читать далее

Scala Digest. Выпуск 20

Уровень сложностиПростой
Время на прочтение6 мин
Количество просмотров1.4K

Привет, Хабр! Мы — Рома, Настя, Карина и Эвелина — бэкенд-разработчики Т-Банка, пишем код на Scala и горим желанием его популяризировать. Мы собираем и агрегируем новости из разных источников, включая Scala Times, блог Petr Zapletal и канал Scala Nishtyaki, добавляем дополнительные новости и собственные комментарии. Мотивацию мы черпаем из желания развиваться и делиться полученными знаниями. Приветствуем любую обратную связь! (づ ◕‿◕ )づ 

Теперь вы можете поделиться собственными материалами!

Читать двадцатый выпуск

Scala Digest. Выпуск 19

Уровень сложностиПростой
Время на прочтение7 мин
Количество просмотров1.1K

Привет, Хабр! Мы — Рома, Настя, Карина и Эвелина— бэкенд-разработчики Т-Банка, пишем код на Scala и горим желанием его популяризировать. Мы собираем и агрегируем новости из разных источников, включая Scala Times, блог Petr Zapletal и канал Scala Nishtyaki, добавляем впечатления и комментарии. Свою мотивацию мы черпаем из желания развиваться и делиться полученными знаниями. 

Приветствуем любую обратную связь! (づ ◕‿◕ )づ Теперь вы можете поделиться собственными материалами!

Читать девятнадцатый выпуск

Plane-based геометрическая алгебра для описания движения тел

Уровень сложностиСложный
Время на прочтение20 мин
Количество просмотров6.4K

Этот текст логически состоит из трёх частей. Сначала кратко расскажу про геометрическую алгебру с точки зрения математики. Потом расскажу как можно взять одну конкретную алгебру и использовать её для описания вращения и перемещения тел. И вишенка на торте - покажу, как будут выражаться физические сущности типа силы и момента, импульса, момента инерции и уравнений движения тел.

Читать далее

Scala Digest. Выпуск 16

Уровень сложностиПростой
Время на прочтение7 мин
Количество просмотров1.9K

Привет, Хабр! Мы — Рома, Настя и Карина — бэкенд-разработчики Тинькофф, пишем код на Scala и горим желанием его популяризировать.
Мы собираем и агрегируем новости из разных источников, включая Scala Times, блог Petr Zapletal и канал Scala Nishtyaki, добавляем дополнительные новости и собственные комментарии. Свою мотивацию мы черпаем из желания развиваться и делиться полученными знаниями. Приветствуем любую обратную связь! (づ ◕‿◕ )づ

Теперь вы можете поделиться собственными материалами!

Читать шестнадцатый выпуск
1
23 ...