Доклады

Инструменты и фреймворки (1)

ML-инструменты на Go: что использовать?

API
GO
ML
Расширение кругозора
Анна Бурматнова

Независимый эксперт

Мир машинного обучения быстро развивается, предлагая множество новых инструментов и возможностей. Однако большинство из них ориентированы на другие языки программирования. А что же современные библиотеки предлагают для Go-разработчиков?

Давайте узнаем!

Доклад принят в программу конференции

Язык и стандартная библиотека (2)

На картах значится! Открываем Швейцарию в Go

GO
Расширение кругозора

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

Что это за новый гость в нашем ламповом языке? Почему он собирается выселить старые добрые мапы и как устроен механизм взаимодействия с новой реализацией хеш-таблиц в Golang? При чем тут Rust? Об этом и немного о другом мы с вами поговорим на этом докладе.

Доклад принят в программу конференции

Garbage Collector: от появления до современных алгоритмов

Бэкенд / другое
GO
Михаил Люц

OZON Fintech

Доклад охватывает основные аспекты работы garbage collector (GC) в современных языках программирования. Мы начнем с причин появления GC, рассмотрим первые языки и реализацию GC, а также проблемы, с которыми столкнулись разработчики.
Далее обсудим эволюцию алгоритмов GC — от первых шагов до современных решений, связанных с многозадачностью. Мы также рассмотрим основные виды GC, их историю и влияние на производительность.
Особое внимание будет уделено алгоритму GC в Go с его особенностями, а также сравнению с другими языками. В заключение рассмотрим языки без GC и обсудим плюсы и минусы таких решений.

Доклад принят в программу конференции

Расширяем горизонты (2)

Особенности и ловушки модели памяти в Go: Пути к корректной синхронизации и ошибки в некорректной

GO

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

В докладе расскажу про memory model Go, сравню её с другими языками программирования, затрону теорию линеаризации и расскажу про барьеры памяти.

На практике разберу нетривиальные примеры корректной и некорректной синхронизации

Доклад принят в программу конференции

Эмулируем NES на Go

Эмуляция ретро-консолей представляет необычную нишу на пересечении реверс-инжиниринга, низкоуровневого программирования и игровой индустрии. Создание эмулятора — это не просто возможность оживить старые игры, это куча эмоций, и возможность получить глубокое представление о компьютерной архитектуре максимально практическим способом. В докладе, я расскажу о своем опыте работы над эмулятором консоли NES (известной у нас как Денди). Мы исследуем архитектуру легендарной консоли 90-х и разберём фундаментальные принципы эмуляции: от интерпретации машинного кода процессора MOS 6502 до графического пайплайна и вывода изображения на экран, и даже затронем реализацию сетевого мультиплеера с компенсацией задержек.

Доклад принят в программу конференции