Saltar al contenido

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

12 de septiembre de 2025 · 2 h 13 min

Notas del episodio

Подробно обсудили - что добавилось в новой версии 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 los episodios de Go Get Podcast

Ajustes

Visualización

Idioma

Determina qué emisoras ves primero en la página de inicio.

Historial

Las emisoras y episodios escuchados recientemente y tus últimas búsquedas solo se guardan en este navegador.

Avisos

Un breve aviso cuando un pódcast que sigues tiene un episodio nuevo. Puedes desactivar pódcast concretos con la campana de su página.

Cuenta

Guarda tus favoritos: en la app y en la web.

Atajos de teclado

/
Abrir búsqueda
Espacio
Reproducir o pausar
← →
En el reproductor: 15 s atrás, 30 s adelante (episodios) · en una fila: siguiente tarjeta
↑ ↓
En una fila: destino dentro de la tarjeta
Inicio / Fin
En una fila: primera o última tarjeta
Esc
Cerrar ventana o menú
?
Este resumen
Reproduciendo ahora

Ir a la emisora

A continuación

    Añade episodios con «A continuación»: sonarán después del episodio actual.