All content for Go Get Podcast is the property of Go Get Podcast and is served directly from their servers
with no modification, redirects, or rehosting. The podcast is not affiliated with or endorsed by Podjoint in any way.
Обсуждаем язык Go и всё, что с ним связано - изменения в языке, новости, интересные статьи, проекты и др.
Подробно обсудили - что добавилось в новой версии Go 1.25, зачем всё это нужно, как с этим работать.
Go 1.25 Release Notes: https://tip.golang.org/doc/go1.25
У подкаста есть видео-версия: https://www.youtube.com/@gogetpodcast
Состав:
- Николай Тузов
- Глеб Яльчик
- Дмтрий Матрёничев, ведёт ТГ-канал по Go: https://t.me/go_update
👾 Мой Телеграм-Канал с анонсами подкастов, роликов и др.: https://t.me/ntuzov
🗣️ Наш чат - Gopher Club: https://t.me/+RfalcB42UspmMDdi
Все гости наших выпусков там присутствуют.
Тайминги:
00:00 Вступление
01:05 Представление Димы
01:55 Представление Глеба и распределение ролей
02:33 План: идём сверху вниз по Go 1.25
03:16 GOMAXPROCS: новое динамическое поведение, риски и зачем это нужно
06:40 В каких случаях GOMAXPROCS может поменяться динамически?
08:32 uber/automaxprocs vs. новая логика Go
10:55 Почему избыток тредов это плохо?
14:22 setDefaultGOMAXPROCS: когда полезно
16:03 Новый Garbage Collector — Green Tea: идея и мотивация
19:14 Контекст: Что такое NUMA и при чём CERN и масштабирование?
21:10 Ликбез: трёхцветный GC и дороговизна скана
26:44 Практическая польза нового GC и ограничения
27:16 Как измерять эффект нового GC: trace scavenger
31:02 Уберит ли арены памяти?
36:57 Trace Flight Recorder: зачем и как использовать
42:00 Изменения в panic и VMA names на Linux
43:19 Фикс NeoPointer bug в компиляторе
53:56 DWARF v5: быстрее компиляция, компактнее бинарь
54:48 Faster slices: ускорения и когда заметно
58:38 Где читать про решение escape-анализатора
01:05:06 FuncAlign: выравнивание функций и latency
01:08:12 Про кэш-линии и микропроценты
01:11:21 Новый testing/synctest: управляемое время
01:15:52 Устойчиво заблокированная горутина — что это значит?
01:20:40 В каких кейсах пригодится synctest?
01:22:40 Почему моки плохо дружат с реальной средой
01:28:45 Новая версия encoding/json: drop-in и токенизатор
01:31:07 Бенчмарки: декод быстрее, меньше аллокаций
01:35:13 Кастомные маршалёры/анмаршалёры на дженериках
01:37:35 Минусы: магия и порядок регистрации
01:43:25 sync.WaitGroup.Go: сахарная обёртка
01:44:12 Библиотека lo: можно ли тащить огромные библиотеки ради пары строчек?
01:47:30 testing: Writer() и атрибуты
01:48:37 reflect: меньше аллокаций и финализаторы
01:50:39 io/fs root: защита от обходов
01:53:41 Про контейнеры и пространство атаки
01:54:45 Встроенная CSRF-защита в net/http
01:56:00 go test -work: тесты в рабочей директории
01:56:21 go.mod ignore: игнорирование каталогов
01:58:27 Библиотека lo: почему нельзя тащить огромные библиотеки ради пары строчек?
02:05:19 Supply-chain атаки и обновления
02:09:45 Финал, благодарности и итоги
Go Get Podcast
Обсуждаем язык Go и всё, что с ним связано - изменения в языке, новости, интересные статьи, проекты и др.