У подкаста есть видео-версия (opens new window)
Подробно обсудили - что добавилось в новой версии Go 1.25, зачем всё это нужно, как с этим работать.
Go 1.25 Release Notes: https://tip.golang.org/doc/go1.25 (opens new window)
Состав:
- Николай Тузов (opens new window) — ведущий выпуска
- Глеб Яльчик
- Дмитрий Матрёничев, ведёт ТГ-канал по Go (opens new window)
👾 Мой Телеграм-Канал (opens new window) в котором я публикую анонсы выпусков, собираю ваш фидбэк, пишу гайды по Go и не только.
🗣️ Наш чат - Gopher Club (opens new window) - здесь присутствуют гости из всех выпусков.
# Где ещё можно послушать
- Mave (opens new window) - тут также есть список экзотических платформ, на которых можно послушать подкаст
- Apple Podcasts (opens new window) (ITunes)
- Яндекс Музыка (opens new window)
# Тайминги
- 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-анализатора
- 1:05:06 FuncAlign: выравнивание функций и latency
- 1:08:12 Про кэш-линии и микропроценты
- 1:11:21 Новый testing/synctest: управляемое время
- 1:15:52 Устойчиво заблокированная горутина — что это значит?
- 1:20:40 В каких кейсах пригодится synctest?
- 1:22:40 Почему моки плохо дружат с реальной средой
- 1:28:45 Новая версия encoding/json: drop-in и токенизатор
- 1:31:07 Бенчмарки: декод быстрее, меньше аллокаций
- 1:35:13 Кастомные маршалёры/анмаршалёры на дженериках
- 1:37:35 Минусы: магия и порядок регистрации
- 1:43:25 sync.WaitGroup.Go: сахарная обёртка
- 1:44:12 Библиотека lo: можно ли тащить огромные библиотеки ради пары строчек?
- 1:47:30 testing: Writer() и атрибуты
- 1:48:37 reflect: меньше аллокаций и финализаторы
- 1:50:39 io/fs root: защита от обходов
- 1:53:41 Про контейнеры и пространство атаки
- 1:54:45 Встроенная CSRF-защита в net/http
- 1:56:00 go test -work: тесты в рабочей директории
- 1:56:21 go.mod ignore: игнорирование каталогов
- 1:58:27 Библиотека lo: почему нельзя тащить огромные библиотеки ради пары строчек?
- 2:05:19 Supply-chain атаки и обновления
- 2:09:45 Финал, благодарности и итоги