Pull to refresh
184.48

От и Go: доклады для гоферов про инструменты для фаззинга, kuber-кластер на Go и не только

Reading time3 min
Views2.1K

Бывает, что перед инженерами встает выбор: найти подходящее решение для задачи или написать свое. И часто разработчики предпочитают второй вариант.

Большинство докладов в этой подборке — инструкции по созданию кастомных решений, которые инженеры и разработчики из YADRO, Avito Tech, Ozon Fintech и других технологических компаний уже опробовали на собственных продуктах. Если вашей команде не хватает инструмента для фаззинга или обработки ошибок на Go — можете сделать их по примерам, которые представили инженеры в выступлениях и презентациях.

При чем здесь кот? Внимательно изучите подборку, чтобы узнать.
При чем здесь кот? Внимательно изучите подборку, чтобы узнать.

Внедряем фаззинг: какой инструмент вам подойдет 

Рассказал: Иван Золотников, инженер в YADRO

Коротко о сути доклада: Фаззинг — процесс тестирования, в ходе которого инженер подает в функцию заранее «мусорные» данные и смотрит, как она себя ведет и какие ответы выдает. Иван проверил четыре способа реализации фаззинга компонент на Go в проектах YADRO и пришел к выводу, что ничего лучше кастомного инструмента пока не найти. Какое решение он применил, узнаете из доклада. 

Зачем смотреть: Убедиться, что фаззинг нужен почти всем, и выбрать подходящее для вас решение.

Презентация →

Создаем замену buf: сеанс реверс-инжиниринга

Рассказали: Эдгар Сипки, разработчик в Ozon Fintech, и Василий Близнецов, разработчик в Positive Technologies

Коротко о сути доклада: Традиционный тулсет для proto устарел: он не обновлялся с момента выхода и использует конфигурацию «старой школы», а у buf есть ряд проблем. Авторы доклада расскажут, как с помощью открытого API buf они создали собственный проект, ставший заменой устаревшему решению.

Зачем смотреть: Убедиться, что нерешаемых задач нет, а также протестировать решение, которое представляют авторы, и оставить фидбек для ребят.

Презентация →

Доступно о паттернах, умных обработчиках и красивой синхронизации в Go

Рассказал: Олег Козырев, старший инженер в AvitoTech

Коротко о сути доклада: Чтобы не писать один и тот же код много раз для разных решений, Олег советует применять паттерны. Тому, как их использовать грамотно и эффективно, и посвящен доклад. Олег расскажет о FanIn, Fan-Out и Pipeline и покажет примеры их применения в коде. 

Зачем смотреть: Научиться использовать паттерны, если еще не умеете, и посмотреть красочную презентацию с котом Олега. 

Презентация →

Учим сервис сообщать понятно об ошибке пользователям, программистам и машинам

Рассказал: Александр Лырчиков, разработчик в команде систем хранения данных в YADRO 

Коротко о сути доклада: Чтобы сообщить пользователю об ошибке, нужно отталкиваться от логики, по которой он пользуется сервисом. В случае с СХД TATLIN.UNIFIED просто показать ему баннер с ошибкой или HTTP-кодом было недостаточно информативно — клиент должен понять, что делать дальше. Тогда команда Александра протестировала несколько инструментов для обработки ошибок и пришла к решению написать собственный. 

Зачем смотреть: Узнать, как реализовать инструмент для обработки ошибок на Go с удобным интерфейсом и понятными пользователю месседжами.

Презентация →

Пишем свой mini-k8s на Go с helm-шаблонизатором

Рассказал: Станислав Иванкевич, старший программист в команде разработки DataMasters в VK Tech

Коротко о сути доклада: Команде Станислава нужно было разработать сервис, который поможет автоматизировать создание и установку приложения на пользовательский kuber-кластер. Для этого они взяли типичные комплексные задачи в облаке и разбили их на набор атомарных шагов. Для каждого шага сделали свой манифест в helm-стиле, а для каждого манифеста — собственный обработчик. И получили набор маленьких блоков, из которых можно составлять большие приложения.

Зачем смотреть: На примерах с кодом разобраться, как команда решала задачу, и узнать об ошибках в создании mini-k8s, чтобы не допустить их в собственном проекте.

Презентация →

Снижаем нагрузку на Garbage Collector и ускоряем работу с памятью, используя sync.Pool

Рассказал: Александр Иванов, тимлид в команде телекома в YADRO 

Коротко о сути доклада: Александр заметил, что в ускоряемом приложении раз в 10 минут происходят пиковые вычислительные нагрузки, которые влияют на потребление памяти. Решил протестировать несколько способов снижения нагрузки на Garbage Collector: chanpool, memory arena и sync.Pool. В итоге выбрали последний, но в докладе Александр рассказывает о плюсах и минусах каждого решения.

Зачем смотреть: Выбрать удобный способ оптимизации памяти.

Презентация →

Что еще почитать о Go-разработке:

Tags:
Hubs:
+7
Comments0

Articles

Information

Website
yadro.com
Registered
Founded
Employees
1,001–5,000 employees
Location
Россия