Scala-сообщество Вертикалей
338 subscribers
45 photos
1 video
26 links
Профессиональное сообщество разработчиков на Scala от команды Яндекс Вертикалей (auto.ru, Яндекс Недвижимость, Яндекс Аренда, Яндекс Путешествия).

Делимся с вами своими наблюдениями, экспертной оценкой, авторскими статьями и полезным контентом.
Download Telegram
Как добавить новую функциональность в Apache Spark, не форкая его

Когда YTsaurus опубликовали в опенсорс, появились новые требования к SPYT — проекту, который помогает интегрировать платформу с Apache Spark.

Одно из требований — отказ от форкнутой версии Spark. Но как быть, если наши модификации уже просочились в самую глубь и мы не хотим от них отказываться?

Александр Токарев из Яндекс Инфраструктуры на F[Scala] 2024 поделился, как команда разработала способ для патчинга Apache Spark в рантайме.

Смотреть:

📱 на Youtube
📱 в ВК Видео

Все записи можно найти в плейлисте F[Scala] 2024 в ВК Видео и на Youtube.

@scala_verticals
Please open Telegram to view this post
VIEW IN TELEGRAM
Поставка http-интеграций через библиотеки

Если вы работали в компании с несколькими продуктами, то знаете, как порой сложно интегрировать сторонние сервисы.

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

В Т-Банке реализовали подход, чтобы просто подключать библиотеку и вызывать метод. А нам об этом рассказал Иван Лягаев на F[Scala] 2024.

Посмотреть можно:

📱 на Youtube
📱 в ВК Видео

Все записи можно найти в плейлисте F[Scala] 2024 в ВК Видео и на Youtube.

А у вас были подобные кейсы? Пишите в комментариях. Там же можно задать вопросы спикеру, а мы попросим его ответить 🤝

@scala_verticals
Please open Telegram to view this post
VIEW IN TELEGRAM
Обновление scalamock с 5.2.0 до 6.0.0

Привет! Это Женя Веретенников, я отвечаю за devtools для скалистов. Мы недавно обновили scalamock в нашем монорепозитории и сделали шажок к Scala 3 :)

Для тех, кто ещё не обновлялся — рассказываем про важный нюанс обновления.

В новой версии инстанс MockFactory обязан быть инстансом TestSuite. То есть нужно подмешивать MockFactory в класс теста, а не куда-либо ещё.

Например, такая конструкция больше не компилируется:


trait Mocking extends MockFactory {
val myMock = mock[MyService]
}

class MyServiceSpec extends AnyWordSpec {
"MyService" should {
"do something" in new Mocking { /* ... */ }
}
}


Эту конструкцию использовали, чтобы создавать отдельные моки под каждый тест.

Изменение API сделано не просто так. Чтобы scalamock проверял в конце теста, вызваны ли моки, как ожидалось, нужно подмешивать MockFactory именно в класс теста. Например, этот тест не падает, несмотря на очевидное отсутствие вызова f(42):


class NoMockFactorySpec extends AnyWordSpecLike {

trait Service {
def f(x: Int): String
}

"blabla" should {
"blabla" in new MockFactory {
val service = mock[Service]
(service.f _).expects(42).returning("42")
}
}
}


На версии scalamock 6.0.0 этот код не компилируется.

Корректно создать по моку на каждый тест можно с помощью OneInstancePerTest. Избавляться от fixture-трейтов типа Mocking, как в первом примере, необязательно. Достаточно завернуть его внутрь класса с тестом:



class MyServiceSpec extends AnyWordSpec with MockFactory with OneInstancePerTest {

trait Mocking {
val myMock = mock[MyService]
}

"MyService" should {
"do something" in new Mocking { /* ... */ }
}
}


В процессе обновления библиотеки мы заметили, что несколько тестов из-за этой проблемы уже давно были зелёными, но по факту сломанными, так как неверно проверяли моки. Часть тестов удалось пофиксить, на часть пришлось навесить @Ignore

Возможно, такие сломанные тесты найдутся при обновлении и у вас.

@scala_verticals
Всем привет! Это Женя Веретенников (@evis_dev). Я отвечаю за devtools для скалистов Вертикалей, а еще веду этот канал.

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

Еще в этом канале публикуются анонсы профильных мероприятий. Например, F[Scala] — крупнейшей конференции по Scala и функциональному программированию от Яндекс Вертикалей.

Что ж, настало время поделиться недавним решением одной проблемы :)
Scala-сообщество Вертикалей pinned «Всем привет! Это Женя Веретенников (@evis_dev). Я отвечаю за devtools для скалистов Вертикалей, а еще веду этот канал. Здесь я делюсь кейсами команд Scala-разработчиков Вертикалей: рассказываю о сложностях, с которыми мы столкнулись, и решениях. Кстати, подробнее…»
Please open Telegram to view this post
VIEW IN TELEGRAM
⚡️Встречаемся в Казани и зовём вас в гости

Мы организуем митап по Scala в Казани, где выступят классные спикеры с тремя докладами:

📍Павел Аргентов | Что мы рассказываем про FP программистам на других языках
📍Алексей Литковец и Всеволод Никитин | ZIO Query и современное общество
📍Кирилл Ершов | Перевод гейтвея Auto.ru на GraphQL

Ну и, конечно, не обойдёмся без афтепати 😉

📌Собираемся 27 марта в офисе Яндекса, в БЦ «Сувар Плаза».

Посмотреть программу и зарегистрироваться можно здесь.

А для тех, кто не сможет прийти, мы опубликуем видеозапись с митапа в наших соцсетях.

До встречи на Scala Meetup 🔥
Please open Telegram to view this post
VIEW IN TELEGRAM
📸 Scala-митап в нашем мини-фотоотчёте

Вчера в Казани мы провели Scala-митап — было интересно, уютно и весело! Спасибо всем, кто пришёл, задавал вопросы и делился опытом 💛

Для тех, кто не смог присоединиться, мы скоро выложим записи докладов. Stay tuned 👀

А пока мы ждём профессиональные снимки, делимся нашим мини-фотоотчётом со вчерашнего вечера.
Please open Telegram to view this post
VIEW IN TELEGRAM
Начинаем выкладывать записи докладов со Scala-митапа — смотрите, если пропустили или хотите освежить их в памяти, и делитесь с теми, кому может быть полезно 👀

Первый доклад — Павла Аргентова:
Что мы рассказываем про FP программистам на других языках

Павел поделился размышлениями о том, как рассказывать про функциональное программирование — с примерами и байками.

В выступлении есть ответы на вопросы:
📍 Какие проблемы есть у программ и их программистов?
📍 Что в голове у программиста, как он размышляет?
📍 Как ФП влияет на программистов?

📱 YouTube
📱 VK видео
Please open Telegram to view this post
VIEW IN TELEGRAM
Зачем нужно использовать ZIO Query?

Алексей Литковец и Всеволод Никитин повышают уровень дискуссии в Восточной Европе и обсуждают, для чего стоит использовать ZIO Query и его аналоги.

Особое внимание — на пиар самой библиотеки. ZIO Query часто подают как магическое решение всех проблем с перформансом, но ребята внимательно разобрали эти заявления и показали, где есть перегибы и натяжки.

Смотрите выступление, чтобы узнать о плюсах и минусах библиотек Fetch, ZIO Query и Stich (и о том, какую машину Всеволод купил на Авто.ру).

📱 YouTube
📱 VK видео
Please open Telegram to view this post
VIEW IN TELEGRAM
Как в Авто.ру внедряли GraphQL и что из этого вышло

Кирилл Ершов лаконично и с примерами объясняет, что вообще такое GraphQL, и рассказывает, зачем команда бэкенда Авто.ру решила начать переход на него.

В докладе — архитектура «до» и «после» (точнее, «в процессе»), а также ответы на вопросы:
📍Почему решили переезжать на GraphQL?
📍Как это работает под капотом?
📍Какой прогресс есть на сегодняшний день?
📍Что оказалось сложным?
📍И стало ли после этого действительно удобнее работать?

📱 YouTube
📱 VK видео
Please open Telegram to view this post
VIEW IN TELEGRAM
Forwarded from Evgeny Veretennikov
🚀 Объявляем Call for papers на крупнейшую конференцию по Scala и ФП в России.

F[Scala] 2025 пройдет в ноябре в Москве.

📝 Темы: Scala, ФП, бэкенд-разработка, System Design.

🎤 Чтобы выступить, подавайте заявки через форму.
Дедлайн подачи: 31 июля.
Вернемся с обратной связью к каждому в течение двух недель после подачи.

С подготовкой выступления поможем. Даже если не уверены, о чём рассказать.

По всем вопросам обращайтесь ко мне.

👥 Слушателям: страница для регистрации появится позже, сообщим об этом дополнительно.

🎥 Записи докладов прошлых лет:
— F[Scala] 2023: vk, youtube
— F[Scala] 2024: vk, youtube

🤝 Открыты к партнёрству

Хотите повысить узнаваемость вашей компании среди скалистов?
Пишите мне, и я расскажу о возможностях партнёрства.