Pular para o conteúdo

Ep. 17: Go v1.25 — Обсуждаем важные изменения

12 de setembro de 2025 · 2 h 13 min

Notas do episódio

Подробно обсудили - что добавилось в новой версии 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 Финал, благодарности и итоги

Todos os episódios de Go Get Podcast

Configurações

Exibição

Idioma

Define quais estações você vê primeiro na página inicial.

Histórico

As rádios e episódios ouvidos recentemente e suas últimas buscas ficam só neste navegador.

Avisos

Um aviso rápido quando um podcast que você segue tem um episódio novo. Desative podcasts individuais pelo sino na página deles.

Conta

Salve favoritos – no app e no site.

Atalhos de teclado

/
Abrir busca
Espaço
Reproduzir ou pausar
← →
No player: voltar 15 s, avançar 30 s (episódios) · na fileira: próximo bloco
↑ ↓
Na fileira: alvo dentro do bloco
Home / End
Na fileira: primeiro ou último bloco
Esc
Fechar janela ou menu
?
Esta visão geral
Tocando agora

Ir para a estação

A seguir

    Adicione episódios com “A seguir” – eles tocam depois do episódio atual.