Go Get Podcast

Go Get Podcast

Обсуждаем язык Go и всё, что с ним связано - изменения в языке, новости, интересные статьи, проекты и др.

  1. Ep. 18: Тёмные стороны Go — с разработчиком GoLand  | GoGetPodcast №18

    11月9日

    Ep. 18: Тёмные стороны Go — с разработчиком GoLand | GoGetPodcast №18

    Обсуждаем проблемные места Go с Арсением Тереховым — разработчиком из команды GoLand в JetBrains. Арсений смотрит на Go с необычного угла: он из мира Kotlin, но при этом погружён в Go глубже многих гоферов благодаря работе над GoLand. Что обсуждаем: — Nil safety в Go: почему это проблема и как с ней жить — Слайсы: append выглядит иммутабельно, но мутирует данные — Замыкания и горутины: классические баги с захватом переменных — Shadowing переменных: визуально не отличить, но приводит к багам — Data races при чтении слайсов Выпуск вышел при поддержке AvitoTech 💙 Статья про обработку ошибок в Go: https://clc.to/U7_U_w Telegram AvitoTech: https://clc.to/-HtbVg Митапы: https://clc.to/vbUbyg Состав: - Николай Тузов - Арсений Терехов — JetBrains, GoLand Team - Глеб Яльчик - Дмтрий Матрёничев 👾 Мой Телеграм-Канал с анонсами, гайдами и др.: https://t.me/ntuzov Тайминги: 00:00 Вступление00:27 Предыстория: вопросы от Арсения02:00 Хорошая новость: новые выпуски теперь будут выходить регулярно03:24 Gophercon West — как это было: 25 часов перелёта и визовый лайфхак06:00 Футболки с конференций и брендинг08:40 Тема #1: Nil safety — старт обсуждения09:57 История: Тони Хоар, Algol и billion dollar mistake11:41 Реальные кейсы: $100k loss и падение Google Cloud14:52 Взгляд на проблему с экономической точки зрения17:13 Nil как валидное значение указателя20:05 История указателей: от ассемблера до высокоуровневых языков25:04 Создатели Go: Rob Pike, Russ Cox, Ken Thompson27:45 Дизайн языка — в чём идея?29:33 Go пофиксил проблемы C/C++?32:03 Философия Go: проверенные решения, а не новации36:23 Семантика указателей в Go: nil-receiver как валидное состояние39:11 Возможен nil safety с учётом рефлексии?42:14 Привет бабушке!42:44 Безопасен ли Go без unsafe/reflect?48:34 Kotlin vs Java: где действительно есть null safety51:07 Ограничения null safety: Spring, рефлексия, interop53:00 Safe enough vs абсолютная безопасность55:38 Итоги по nil pointer59:00 Тема #2: Захват переменных — классический баг с циклами01:02:28 Обратная совместимость: почему сложно что-то менять01:05:23 Революция в тулинге языков программирования01:07:51 Final в Java/Kotlin и почему этого нет в Go01:13:11 Захват переменных в C++: явный синтаксис01:16:01 Когда нужна запись в захваченные переменные01:19:27 Каналы в Go: гарантии и практические сложности01:25:21 Роль линтеров — go vet, staticcheck, golangci-lint01:26:07 Тулинг: data-flow анализ, детектор гонок01:29:21 Почему линтеры простые: философия дизайна01:31:57 Тема #3: Слайсы — самая болезненная тема01:32:23 Загадка про 8 слайсов и capacity01:37:36 Проблемы дизайна слайсов в Go и почему так01:40:15 Как работает append и реаллокация01:47:03 Почему append возвращает значение?01:56:52 Эволюция через тулинг: x/tools/modernize и автопочинка02:00:17 Data races при конкурентном append02:03:53 Тема #4: Shadowing переменных02:09:54 Удобство vs однозначность кода02:13:11 Философия дизайна языков и их эволюция02:17:00 Выводы02:22:03 Каждый новый язык лучше?02:29:07 Относительность решений в программировании02:33:59 Теорема Гёделя о неполноте02:34:53 Аналогия с Nintendo: простота как фича02:36:33 Аналогия с физикой: разные модели для разных масштабов02:37:25 Заключение

    2 小時 40 分鐘
  2. Ep. 17: Go v1.25 — Обсуждаем важные изменения

    9月12日

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

    Подробно обсудили - что добавилось в новой версии 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.2503:16 GOMAXPROCS: новое динамическое поведение, риски и зачем это нужно06:40 В каких случаях GOMAXPROCS может поменяться динамически?08:32 uber/automaxprocs vs. новая логика Go10:55 Почему избыток тредов это плохо?14:22 setDefaultGOMAXPROCS: когда полезно16:03 Новый Garbage Collector — Green Tea: идея и мотивация19:14 Контекст: Что такое NUMA и при чём CERN и масштабирование?21:10 Ликбез: трёхцветный GC и дороговизна скана26:44 Практическая польза нового GC и ограничения27:16 Как измерять эффект нового GC: trace scavenger31:02 Уберит ли арены памяти?36:57 Trace Flight Recorder: зачем и как использовать42:00 Изменения в panic и VMA names на Linux43:19 Фикс NeoPointer bug в компиляторе53:56 DWARF v5: быстрее компиляция, компактнее бинарь54:48 Faster slices: ускорения и когда заметно58:38 Где читать про решение escape-анализатора01:05:06 FuncAlign: выравнивание функций и latency01: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/http01:56:00 go test -work: тесты в рабочей директории01:56:21 go.mod ignore: игнорирование каталогов01:58:27 Библиотека lo: почему нельзя тащить огромные библиотеки ради пары строчек?02:05:19 Supply-chain атаки и обновления02:09:45 Финал, благодарности и итоги

    2 小時 13 分鐘
  3. Ep. 16: Как делают GoLand: закулисье JetBrains

    9月8日

    Ep. 16: Как делают GoLand: закулисье JetBrains

    Поговорили с Арсением Тереховым — разработчиком из команды GoLand. Обсудили следующие темы: - Про Арсения и его путь в JetBrains: как попал в разработку, а потом в JB, почему именно GoLand, какой был бэкграунд до этого - Про команду и работу: как устроена команда GoLand, типичный рабочий день, процессы разработки, код-ревью - Самое интересное - про два мира Java/Kotlin и Go: каково это писать инструмент для Go на другом языке, насколько глубоко нужно знать Go - Техническая часть: как устроена работа с Go кодом внутри IDE, взаимодействие с командой с gopls - Про другие IDE: VSCode, Zed Состав: - Николай Тузов - Арсений Терехов — JetBrains, GoLand Team - Ильдар Карымов: https://www.youtube.com/@deferpanic Мой Телеграм-Канал с анонсами подкастов, роликов и др.: https://t.me/ntuzov Наш чат - Gopher Club: https://t.me/+RfalcB42UspmMDdi Все гости наших выпусков там присутствуют. Тайминги: 00:00 Вступление и план выпуска00:25 Представление Арсения01:34 Представление Ильдара02:45 Бэкграунд Арсения и его путь в JetBrains05:31 Про лабораторию JetBrains на Матмехе08:05 Лаборатория языковых инструментов: проекты и идеи10:45 Магистратура JetBrains в ИТМО — жесткая нагрузка16:22 Почему выбрал GoLand?19:34 Первые впечатления от Go: escape-анализ, GC, горутины24:30 Претензии Арсения к Go: проблема захвата переменных по ссылке29:28 Претензии №2: проблема nil-safety в Go33:28 Как происходят переходы между командами в JetBrains37:20 Про переход в команду IDEA или Kotlin — идеальный Dogfooding39:12 Dogfooding в команде GoLand: пет-проекты на Go (2D игра на Ebitengine)43:42 Встречи с командой gopls / Go Team43:55 Что такое gopls? LSP для Go47:08 GoLand не использует gopls — собственный LSP52:15 Состав команды GoLand: ~10 разработчиков и другие должности53:58 Общий пул задач и свобода выбора1:00:30 Процесс код-ревью1:01:50 Роль QA: как устроено тестирование?1:12:02 Поддержка новых версий Go и type inference1:17:22 Инструменты разработки: TeamCity, Space1:22:05 Как репортить баги через YouTrack1:31:58 Вопросы производительности IDE1:36:39 Совмещение Kotlin и Go в разработке1:42:09 Архитектура: IntelliJ Platform + языковые плагины1:48:45 GoLand vs IDEA + Go plugin - в чем разница?1:53:32 Регулярные встречи с командой gopls / Go Team (продолжение)1:57:10 Nil reference анализ — главная новая фича1:58:54 Глобальный анализ vs локальный (преимущества)2:04:20 Теоретическая неразрешимость задач статанализа2:10:45 Data flow analysis — как это работает2:13:31 Почему пока не поддерживаются поля структур2:20:37 Как иммутабельность упростила бы анализ2:26:45 Обсуждение других IDE: VS Code, Zed, Cursor2:33:39 Уникальность JetBrains — свои языковые движки vs LSP2:37:04 Обращение к сообществу: репортите баги!2:39:04 Планы на следующий выпуск и завершение

    2 小時 42 分鐘
  4. Ep. 15: Развитие AI — Простой AI-агент в 400 строк кода, Предел развития LLM

    7月7日

    Ep. 15: Развитие AI — Простой AI-агент в 400 строк кода, Предел развития LLM

    Обсуждаем AI-инструменты для разработчиков: Claude Code, Cursor, Copilot, новый редактор Zed. Делимся реальным опытом — что работает, что раздражает, где галлюцинации мешают жить. Поговорили про локальные модели, переход разработчиков из OpenAI в Meta за $100 миллионов и общий хайп вокруг AI. Порассуждали о будущем профессии: когда нас уже наконец заменят роботы? Состав: - Николай Тузов - Влад Тен: https://www.youtube.com/@vladtenten - Ильдар Карымов: https://www.youtube.com/@deferpanic Мой Телеграм-Канал с анонсами подкастов, роликов и др.: https://t.me/ntuzov Наш чат - Gopher Club: https://t.me/+RfalcB42UspmMDdi Все гости наших выпусков там присутствуют. Тайминги: 00:00 - Вступление и представление участников 02:42 - Какие AI-инструменты использует Ильдар 06:04 - Сравнение ChatGPT и Claude для технических задач 08:35 - Опыт Влада с AI-инструментами и почему он их редко использует 12:52 - Редактор Zed: особенности, дебаггер и сравнение с другими IDE 18:02 - Агентный режим в Zed: плюсы и минусы 26:24 - Простой AI-агент в 400 строк кода: разбор статьи Thorsten Ball 30:42 - Обсуждение терминалов и shell: iTerm, Warp, Fish, Starship 37:44 - Чего не хватает у агента из статьи Thorsten Ball? 43:37 - Проблемы окна контекста и как их решать 48:51 - Локальные модели: DeepSeek и опыт запуска на личном железе 52:44 - RAG и MCP серверы: что это и зачем нужно 56:35 - Реклама в Windows, смартфонах и телевизорах — современные подходы к монетизации 59:28 - Apple Intelligence и локальные модели от Apple 1:01:11 - Gemini CLI и сравнение с Claude Code 1:02:19 - Какой язык LLM понимают лучше: Go / JS / Python 1:06:36 - Переход ключевых разработчиков из Claude Code в Cursor 1:07:59 - Meta переманивает сотрудников OpenAI за $100 млн 1:14:21 - Внутренние конфликты в OpenAI и отношения с Microsoft 1:16:20 - Пузырь AI-стартапов 1:33:36 - Статья Apple "Illusion of Thinking" о том, думают ли LLM 1:42:57 - Эксперимент с Ebiten: может ли LLM писать код для узкой ниши 1:46:51 - Будущее профессии программиста: заменят ли нас AI? 1:56:28 - Ошибки LLM при написании тестов и работе с legacy-кодом 2:01:03 - Развитие AI: достигнут ли предел обучения на данных? 2:06:27 - Итоги от Ильдара: параллели с другими индустриями: музыка и влияние AI 2:09:22 - Итоги от Влада: всё зависит от вас 2:12:28 - Выводы от Николая: AI дополняет, а не заменяет программиста 2:14:10 - AI — таблетка от выгорания программиста 2:16:09 - Учиться с помощью AI легче 2:17:21 - Важно следить за трендами #gogetpodcast

    2 小時 22 分鐘
  5. Ep. 14: ИИ в руках разработчика: опыт экспертов и прогнозы на будущее

    6月23日

    Ep. 14: ИИ в руках разработчика: опыт экспертов и прогнозы на будущее

    Обсуждаем развитие ИИ-инструментов и сервисов: кто чем пользуется, как именно, для каких задач и т.п. А также обсудили что нас ждёт в будущем, к чему придём и заменят ли разработчиков роботы? Состав: - Глеб Яльчик - Антон Зиновьев - Фёдор Догов Мой Телеграм-Канал с анонсами подкастов, роликов и др.: https://t.me/ntuzov Наш чат - Gopher Club: https://t.me/+RfalcB42UspmMDdi Все гости наших выпусков там присутствуют. Тайминги: 00:00 Вступление и представление гостей 05:43 Эволюция AI инструментов: от GitHub Copilot до агентов 12:17 Что такое Cloud Code и как он работает 18:02 Глеб о Copilot: плюсы и минусы автокомплита 24:07 Проблема галлюцинаций в ChatGPT 27:45 Может ли AI определить автора кода на GitHub? 29:22 Медицина и AI: опасности и возможности 40:31 Фейковые юристы и ChatGPT 42:33 AI как виртуальный собеседник и резиновая уточка 43:51 Практический опыт Федора с Claude Code 53:26 Успешные практические кейсы Николая с Claude Code 1:02:16 Рефакторинг с помощью AI агентов 1:10:22 Лайфхаки использования AI инструментов 1:16:56 Преимущества Claude Code перед Cursor 1:20:16 Как качество кода влияет на работу AI 1:29:15 Gemini и другие модели: сравнение возможностей 1:31:27 Заменят ли AI программистов? 1:44:51 Технологическая сингулярность: миф или реальность? 1:47:29 Достиг ли AI предела своего развития? 1:52:34 История нейросетей: с 1957 года до наших дней 2:16:39 Чем опасен ИИ для человечества? 2:20:52 Легче или сложнее стать программистом сейчас? 2:29:08 AI убивает критическое мышление? 2:34:14 Шторм на рынке труда 2:38:06 Атрофия навыков при использовании AI 2:40:00 Нужно ли читать книги, если есть AI? 2:49:16 Заключение 2:49:42 AI как лекарство от выгорания

    2 小時 52 分鐘
  6. Ep. 13: Потерял работу, завалил 10 собесов, но выжил — история мидл разработчика

    2024/11/11

    Ep. 13: Потерял работу, завалил 10 собесов, но выжил — история мидл разработчика

    Обсудим историю Романа и его тернистый путь разработчика. Он стремился попасть в highload, но за пол года сменил три работы, не прошел испытательный срок в МТС, имел много неудач на собеседованиях, но в итоге смог через это пробиться. Разберём его кейс с крутыми экспертами — какие ошибки он совершал, как ему следовало действовать и т.п. Также мы подробно обсудим вопрос денег — сколько Роман зарабатывал на этих этапах, на что претендовал, и на что ему следовало рассчитывать, по мнению наших гостей. Телеграм-канал Романа: https://t.me/romans_insights Состав: - Николай Тузов - Глеб Яльчик - Даниил Подольский - Виталий Левченко ------ 👾 Мой Телеграм-Канал с анонсами подкастов, роликов и прочих активностей: https://t.me/ntuzov Также я тут пишу текстовые гайды и истории по вашим запросам, делюсь своими мыслями, часто провожу розыгрыши билетов на различные мероприятия и др. 🗣️ Наш чат - Gopher Club: https://t.me/+RfalcB42UspmMDdi Все гости наших выпусков там присутствуют. ------ Тайминги: 00:00 Вступление00:45 Представление Даниила02:06 Представление Виталия03:06 Представление Глеба05:16 Про конференцию HighLoad и GoLang Conf 202411:50 Как не пропустить следующий эфир и новости подкаста12:17 Представление Романа16:11 Обсуждение джуна в роли тимлида23:42 Работа и развитие Романа как разработчика27:53 Про зарплаты и первый опыт работы30:01 Как Роман попал в WildBerries35:28 Как стать сеньором и что это значит?49:55 Почему решил уйти из WildBerries59:03 Старт карьеры в качестве сисадмина1:01:14 Как попал в МТС1:09:26 Опыт работы в МТС1:15:56 Уволили после испытательного срока1:17:59 Анализ причин увольнения1:34:15 Что чувствовал после увольнения1:42:37 Увольнение после ИС - чёрная метка?1:56:38 О текущем проекте и перспективах1:57:11 Про дежурства и алерты2:00:52 Жизнь после увольнения2:04:55 Где можно пообщаться с коллегами2:06:22 Заключение

    2 小時 7 分鐘
  7. Ep. 12: Как попасть в IT — проблемы стажеров и как их решать

    2024/11/04

    Ep. 12: Как попасть в IT — проблемы стажеров и как их решать

    Обсуждаем проблемы стажеров при устройстве на работу: как пройти HR-фильтр, что изучать, как вести себя на собеседовании и др. В гостях у нас Ефим — стажер. Он пришел поделиться своей болью, а другие участники, профессионалы с многолетним опытом найма, помогут ему и ответят на вопросы. Состав: - Николай Тузов — ведущий выпуска - Ефим Дмитриев — стажер из Новосибирска - Даниил Подольский — глава программного комитета GoLang Conf 2024, работает в компании Ядро и много нанимает - Виталий Левченко — Также входит в программный комитет GoLang Conf 2024, выступает там с докладом, работает и много нанимает в компании Wildberries - Олег Козырев — GoLang-разработчик, ведёт свой ютуб-канал про разработку И его Телеграм-канал ------ 👾 Мой Телеграм-Канал с анонсами подкастов, роликов и прочих активностей: @ntuzov В этом канале я также пишу текстовые гайды и истории по вашим запросам, делюсь своими мыслями, часто провожу розыгрыши билетов на различные мероприятия и др. 🗣️ Наш чат - Gopher Club Все гости наших выпусков там присутствуют. ------ Тайминги:     00:00 Интро    01:49 Начало    04:22 Представление Олега    06:42 Представление Виталия    08:23 Представление Даниила    10:35 Представление Ефима    16:05 Чем Ефим лучше других?    18:36 Нужно ли читать Таненбаума?      19:42 Олег выдал БАЗУ!      25:05 Что же всё-такие Ефим готов сделать?      29:01 Нужно ли Ефиму в Айти?      34:20 Олег снова выдаёт БАЗУ!      37:35 Как ходить по собеседованиям?      41:12 Как пройти HR-фильтр?      45:53 Эмоциональная база от Олега      52:09 Как же попасть на собеседование, преодолев HR-фильтр?      01:00:50 Про стэк Ефима      01:03:57 Важно ли знать алгоритмы и структуры данных?      01:08:10 Связные списки - отличная тема на собеседовании      01:14:01 Можно ли "взламывать" систему найма?      01:17:01 Итоги от Виталия      01:21:55 Про недостаток свободного времени у стажеров      01:25:03 Итоги от Даниила      01:28:06 Итоги от Олега (База?)      01:31:26 Вопросы из чата      01:32:32 Про накрутку опыта в резюме и умение продавать себя      01:36:54 Про менторинг и прогресс на работе      01:39:49 Итоги от Николая      01:43:53 Про вопросы о накрутке опыта      01:46:50 Нужно ходить на митапы и конференции!      01:49:43 Про live-кодинг      01:54:22 Про HighLoad++ и GoLang Conf 2024      01:56:03 Розыгрыш билетов на HighLoad++ на моём канале      01:58:22 Заключение

    1 小時 60 分鐘
  8. 2023/09/08

    Ep. 11: кто такой системный архитектор?

    Вместе с опытным системным архитектором из LaTech Алексеем Скоробогатым обсуждаем - кто такой системный архитектор, чем он занимается, зачем он нужен, как дорасти до этой позиции, и стоит ли. Состав: - Николай Тузов - Алексей Скоробогаый - системный архитектор в LaTech Тайминги: 00:00 Вступление02:39 Как Лёша попал в IT05:04 Университет - насколько он важен?07:47 Работа в маленькой студии11:47 Фэйлы - почему их не нужно бояться16:28 Lamoda - начало карьеры в большой компании и переезд в Москву19:45 Первые фэйлы23:49 Переход с PHP на Go32:57 Основные этапы карьеры Лёши от разработчика до архитектора34:19 Кто такой техлид? Отличие от архитектора43:48 Когда нужен архитектор?49:16 Сколько занимает путь от разработчика до архитектора?55:38 Кто такой архитектор и что было бы без него?01:00:03 Сколько нужно разработчиков на одного архитектора?01:02:51 Каких успехов смог добиться Лёша как архитектор?01:18:18 Как объяснить руководству, что им нужен архитектор?01:32:36 Желающих много, а должность архитектора одна! Есть ли конкуренция?01:37:23 Должен ли архитектор писать код?01:55:16 Должен ли разработчик изучать предметную область?01:58:03 Советы: как дорасти до архитектора?02:02:28 Заключение

    2 小時 5 分鐘

簡介

Обсуждаем язык Go и всё, что с ним связано - изменения в языке, новости, интересные статьи, проекты и др.

你可能也會喜歡