Этот момент наконец настал — мы запускаем собственное сообщество Scala-разработки, чтобы делиться с вами своим экспертным мнением, анонсами мероприятий, публикациями, видео и многим другим.
Оставайтесь к канале и зовите друзей, будет интересно! :)
➡️ Ссылка на канал: https://t.me/scala_verticals
Оставайтесь к канале и зовите друзей, будет интересно! :)
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥7❤3🥰3
Иерархия в PostgreSQL. Doobie vs Skunk
Выступление на Scala-митап 2024
Сева Никитин и Алексей Литковец
Приглашенные эксперты
Покажем три подхода к работе с иерархическими данными в реляционных БД. Расскажем про интересную библиотеку для работы с PostgreSQL в Scala — Skunk. Cравним возможности Doobie и Skunk и посмотрим, как Skunk может помочь с хранением иерархий и работой с каналами PostgreSQL.
#youtube
#scalaMeetup2024
Please open Telegram to view this post
VIEW IN TELEGRAM
👍6🔥2❤1
Как в Scala переложить JSON: паттерн «codec»
Выступление на Scala-митап 2024
Михаил Чугунков
Яндекс Вертикали
В Scala программисты регулярно используют тайпклассы Encoder/Decoder для (де)сериализации своих ADT. В докладе вы увидите подробный обзор этого паттерна и узнаете, при чём здесь функторы. Кроме этого, будет затронута тема вывода инстансов тайпклассов для ADT.
#youtube
#scalaMeetup2024
Please open Telegram to view this post
VIEW IN TELEGRAM
👍7🔥2❤1
Инциденты с авторизацией: уменьшаем радиус поражения
Выступление на Scala-митап 2024
Андрей Борунов
Яндекс Вертикали
Узнаем, какие проблемы случались с подсистемой авторизации пользователей Авто.ру, написанной на Scala. Как мы их диагностировали и чинили, и какие меры предприняли, чтобы исключить катастрофическое влияние на работу сервиса в целом.
Полезные плейлисты:
— Scala-митап 2024
— конференция [F] Scala 2023
#youtube
#scalaMeetup2024
Please open Telegram to view this post
VIEW IN TELEGRAM
👍7🔥3❤1
Привет! Это Женя Веретенников, отвечаю за devtools для скалистов в Яндекс Вертикалях.
У нас монорепа на 4 миллиона LOC Scala-кода. Она работает на Bazel с кешированием результатов сборки, чтобы разработчики не ждали компиляцию и тестирование кода, который они не трогали. Долгое время у нас болело, что чужие тесты всё равно иногда запускаются на CI. После дебага выяснилось, что виноваты Scala-макросы (кто бы мог подумать).
При повторной компиляции кода с макросом, генерирующим sealed-иерархию, порядок перечисления наследников в байткоде может отличаться от предыдущей компиляции. Такое поведение мы обнаружили в библиотеках chimney и play-json.
То есть компиляция кода с использованием макросов из этих библиотек работала не идемпотентно и ломала кеширование сборок. Аналогичное поведение мы нашли и в одном макросе для ZLayer.
Наша команда очень удивилась и сделала эти макросы детерминированными:
◾️ https://github.com/scalalandio/chimney/pull/543
◾️ https://github.com/playframework/play-json/pull/1047
◾️https://github.com/zio/zio/pull/8914
Используете кеширование сборок и эти библиотеки? Обновитесь до последних версий — возможно, наша команда ускорила и ваш CI своим вкладом в OpenSource-сообщество 😏
📍 Подробнее на Хабре
@scala_verticals
Мы решили возобновить ведение этого канала и начать делиться полезным контентом для всего Scala-коммьюнити.
У нас монорепа на 4 миллиона LOC Scala-кода. Она работает на Bazel с кешированием результатов сборки, чтобы разработчики не ждали компиляцию и тестирование кода, который они не трогали. Долгое время у нас болело, что чужие тесты всё равно иногда запускаются на CI. После дебага выяснилось, что виноваты Scala-макросы (кто бы мог подумать).
При повторной компиляции кода с макросом, генерирующим sealed-иерархию, порядок перечисления наследников в байткоде может отличаться от предыдущей компиляции. Такое поведение мы обнаружили в библиотеках chimney и play-json.
То есть компиляция кода с использованием макросов из этих библиотек работала не идемпотентно и ломала кеширование сборок. Аналогичное поведение мы нашли и в одном макросе для ZLayer.
Наша команда очень удивилась и сделала эти макросы детерминированными:
◾️ https://github.com/scalalandio/chimney/pull/543
◾️ https://github.com/playframework/play-json/pull/1047
◾️https://github.com/zio/zio/pull/8914
Используете кеширование сборок и эти библиотеки? Обновитесь до последних версий — возможно, наша команда ускорила и ваш CI своим вкладом в OpenSource-сообщество 😏
@scala_verticals
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥38👍9❤7👨💻1
Релиз библиотеки в опенсорс
Сегодня вспоминаем F[Scala] 2023 — большую конференцию по Scala и функциональному программированию, которую мы делали в прошлом году, чтобы собрать крупнейшее сообщество Scala-инженеров и поделиться опытом.
Дима Каряев рассказал про нашу библиотеку alien — она предоставляет Typesafe DSL для доступа к Java foreign memory API.
Посмотреть запись его доклада можно
📱 на YouTube
📱 в VK Видео
А совсем недавно мы её заопенсорсили: https://github.com/YandexClassifieds/alien-memory
Пробуйте, пользуйтесь и делитесь впечатлениями 😉
Сегодня вспоминаем F[Scala] 2023 — большую конференцию по Scala и функциональному программированию, которую мы делали в прошлом году, чтобы собрать крупнейшее сообщество Scala-инженеров и поделиться опытом.
Дима Каряев рассказал про нашу библиотеку alien — она предоставляет Typesafe DSL для доступа к Java foreign memory API.
Посмотреть запись его доклада можно
А совсем недавно мы её заопенсорсили: https://github.com/YandexClassifieds/alien-memory
Пробуйте, пользуйтесь и делитесь впечатлениями 😉
Please open Telegram to view this post
VIEW IN TELEGRAM
👍9🔥7❤3
Protobuf в движении: как и почему мы используем его в наших сервисах на Scala
Продолжаем ностальгировать в преддверии F[Scala] 2024.
Привет! Меня зовут Никита Горлин, в Вертикалях я руковожу группой разработки общих компонент. В прошлом году на конференции F[Scala] я рассказывал про наш опыт использования protobuf.
Мы обсудили сам формат, детали работы protobuf descriptor-ов, а так же увидели, как они могут быть использованы динамически на примере системы автоматически развертываемых типизированных хранилищ.
Делюсь с вами записью, смотрите:
📱 на Youtube
📱 в VK Видео
Рассказывайте в комментариях, как вам доклад? Что бы хотели услышать на конференции в этом году?
@scala_verticals
Продолжаем ностальгировать в преддверии F[Scala] 2024.
Привет! Меня зовут Никита Горлин, в Вертикалях я руковожу группой разработки общих компонент. В прошлом году на конференции F[Scala] я рассказывал про наш опыт использования protobuf.
Мы обсудили сам формат, детали работы protobuf descriptor-ов, а так же увидели, как они могут быть использованы динамически на примере системы автоматически развертываемых типизированных хранилищ.
Делюсь с вами записью, смотрите:
Рассказывайте в комментариях, как вам доклад? Что бы хотели услышать на конференции в этом году?
@scala_verticals
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥12👏5👍4❤1🥰1
Scala-разработчики в Вертикалях развиваются не только в программировании, но и в архитектурных и лидерских компетенциях. Одно из направлений роста — роль техлида проекта, жизненно важная роль для проектной деятельности в Авто.ру.
Кирилл Ершов, наш разработчик из команды UGC-сервисов Авто.ру, выступил на Delivery Meetup SPB с докладом «Техлид на проекте: как разработчик спасает продукт в урагане технических процессов». Митап прошёл 20-го сентября, а сегодня выложили запись.
📱 ВК Видео
📱 YouTube
Доклад отличный: роль и процесс показаны не от лица руководителя, а от лица разработчика, который во всём этом участвует. Кириллу респект за качественное выступление, доклад однозначно рекомендую к просмотру.
@scala_verticals
Кирилл Ершов, наш разработчик из команды UGC-сервисов Авто.ру, выступил на Delivery Meetup SPB с докладом «Техлид на проекте: как разработчик спасает продукт в урагане технических процессов». Митап прошёл 20-го сентября, а сегодня выложили запись.
Доклад отличный: роль и процесс показаны не от лица руководителя, а от лица разработчика, который во всём этом участвует. Кириллу респект за качественное выступление, доклад однозначно рекомендую к просмотру.
@scala_verticals
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥8👍3👏2🤝1
Media is too big
VIEW IN TELEGRAM
Яндекс Вертикали — это сервисы Авто.ру, Аренда, Недвижимость, Путешествия. Их ежедневная аудитория превышает пять миллионов человек, а моментальная нагрузка составляет десятки тысяч RPS.
У нас есть буткемп, чтобы вы могли познакомиться со всеми командами и выбрать подходящую:
▪️Поиск Авто.ру: делаем инфраструктуру для работы с поисковыми системами. Задачи на стыке бэкенда и MLops.
▪️Модерация: инструменты для анализа качества объявлений и антифрод-решения.
▪️Devtools: делаем инструменты для scala-разработки и упрощаем работу нашим скалистам
▪️Монетизация Авто.ру: все, что покупается на Авто.ру, проходит через нас
▪️Отчёты: знаем историю владения каждой машины и делимся ею с пользователями
▪️Поисковая платформа: для Авто.ру, Бортжурнала, Недвижимости
Наш стек:
▫️ Пишем на Scala преимущественно с ZIO
▫️ Используем Docker для контейнеризации, применяем PostgreSQL, MySQL, Kafka, Redis, ClickHouse, YDB, Logbroker, YT
▫️ Простое развёртывание через Telegram-бота во внутреннее облако, удобные интерфейсы для работы с логами и трейсами
Подробнее про команды, этапы собеседований и полезные материалы рассказали здесь.
Как откликнуться?
👉По ссылке
👉или написать в лс @natfeliz
Please open Telegram to view this post
VIEW IN TELEGRAM
👍4❤2🔥2👎1👏1
⚡ Приглашаем на конференцию F[Scala] 2024
30 ноября пройдёт ежегодная крупнейшая конференция по Scala и функциональному программированию от Яндекс Вертикалей (Авто.ру, Яндекс Недвижимость, Аренда и Путешествия)
Собираем практикующих Scala-разработчиков и энтузиастов функционального подхода
▪️7 хардкорных докладов про Scala, ФП и JVM, типизацию и разработку бэкенда
▪️Спикеры из Авто.ру, общих сервисов Яндекс Вертикалей, Яндекс Инфраструктуры, Т-банка, BIOCAD, Ecom.Tech
▪️Круглый стол в формате открытого диалога
▪️Нетворкинг и афтепати
📍Москва, БЦ «Морозов», зал «Экстрополис»
Для тех, кто не сможет прийти — будет онлайн-трансляция.
Посмотреть программу и зарегистрироваться можно здесь
Увидимся на конференции 🔥
#fscala2024
30 ноября пройдёт ежегодная крупнейшая конференция по Scala и функциональному программированию от Яндекс Вертикалей (Авто.ру, Яндекс Недвижимость, Аренда и Путешествия)
Собираем практикующих Scala-разработчиков и энтузиастов функционального подхода
▪️7 хардкорных докладов про Scala, ФП и JVM, типизацию и разработку бэкенда
▪️Спикеры из Авто.ру, общих сервисов Яндекс Вертикалей, Яндекс Инфраструктуры, Т-банка, BIOCAD, Ecom.Tech
▪️Круглый стол в формате открытого диалога
▪️Нетворкинг и афтепати
📍Москва, БЦ «Морозов», зал «Экстрополис»
Для тех, кто не сможет прийти — будет онлайн-трансляция.
Посмотреть программу и зарегистрироваться можно здесь
Увидимся на конференции 🔥
#fscala2024
🔥22👍6❤5👏1