Home
Categories
EXPLORE
True Crime
Comedy
Society & Culture
Business
Sports
TV & Film
Technology
About Us
Contact Us
Copyright
© 2024 PodJoint
00:00 / 00:00
Sign in

or

Don't have an account?
Sign up
Forgot password
https://is1-ssl.mzstatic.com/image/thumb/Podcasts126/v4/a0/05/22/a005220b-5302-5e55-617b-a096737b13db/mza_1293788574288135539.jpg/600x600bb.jpg
Go Get Podcast
Go Get Podcast
18 episodes
2 weeks ago
Обсуждаем язык Go и всё, что с ним связано - изменения в языке, новости, интересные статьи, проекты и др.
Show more...
Technology
RSS
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 и всё, что с ним связано - изменения в языке, новости, интересные статьи, проекты и др.
Show more...
Technology
Episodes (18/18)
Go Get Podcast
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 mistake 11:41 Реальные кейсы: $100k loss и падение Google Cloud 14:52 Взгляд на проблему с экономической точки зрения 17:13 Nil как валидное значение указателя 20:05 История указателей: от ассемблера до высокоуровневых языков 25:04 Создатели Go: Rob Pike, Russ Cox, Ken Thompson 27: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 safety 51:07 Ограничения null safety: Spring, рефлексия, interop 53:00 Safe enough vs абсолютная безопасность 55:38 Итоги по nil pointer 59:00 Тема #2: Захват переменных — классический баг с циклами 01:02:28 Обратная совместимость: почему сложно что-то менять 01:05:23 Революция в тулинге языков программирования 01:07:51 Final в Java/Kotlin и почему этого нет в Go 01:13:11 Захват переменных в C++: явный синтаксис 01:16:01 Когда нужна запись в захваченные переменные 01:19:27 Каналы в Go: гарантии и практические сложности 01:25:21 Роль линтеров — go vet, staticcheck, golangci-lint 01:26:07 Тулинг: data-flow анализ, детектор гонок 01:29:21 Почему линтеры простые: философия дизайна 01:31:57 Тема #3: Слайсы — самая болезненная тема 01:32:23 Загадка про 8 слайсов и capacity 01:37:36 Проблемы дизайна слайсов в Go и почему так 01:40:15 Как работает append и реаллокация 01:47:03 Почему append возвращает значение? 01:56:52 Эволюция через тулинг: x/tools/modernize и автопочинка 02:00:17 Data races при конкурентном append 02: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 Заключение
Show more...
2 weeks ago
2 hours 40 minutes

Go Get Podcast
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.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 Финал, благодарности и итоги
Show more...
2 months ago
2 hours 12 minutes

Go Get Podcast
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 Бэкграунд Арсения и его путь в JetBrains 05:31 Про лабораторию JetBrains на Матмехе 08:05 Лаборатория языковых инструментов: проекты и идеи 10:45 Магистратура JetBrains в ИТМО — жесткая нагрузка 16:22 Почему выбрал GoLand? 19:34 Первые впечатления от Go: escape-анализ, GC, горутины 24:30 Претензии Арсения к Go: проблема захвата переменных по ссылке 29:28 Претензии №2: проблема nil-safety в Go 33:28 Как происходят переходы между командами в JetBrains 37:20 Про переход в команду IDEA или Kotlin — идеальный Dogfooding 39:12 Dogfooding в команде GoLand: пет-проекты на Go (2D игра на Ebitengine) 43:42 Встречи с командой gopls / Go Team 43:55 Что такое gopls? LSP для Go 47:08 GoLand не использует gopls — собственный LSP 52:15 Состав команды GoLand: ~10 разработчиков и другие должности 53:58 Общий пул задач и свобода выбора 1:00:30 Процесс код-ревью 1:01:50 Роль QA: как устроено тестирование? 1:12:02 Поддержка новых версий Go и type inference 1:17:22 Инструменты разработки: TeamCity, Space 1:22:05 Как репортить баги через YouTrack 1:31:58 Вопросы производительности IDE 1: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, Cursor 2:33:39 Уникальность JetBrains — свои языковые движки vs LSP 2:37:04 Обращение к сообществу: репортите баги! 2:39:04 Планы на следующий выпуск и завершение
Show more...
2 months ago
2 hours 42 minutes

Go Get Podcast
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
Show more...
4 months ago
2 hours 22 minutes

Go Get Podcast
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 как лекарство от выгорания
Show more...
5 months ago
2 hours 52 minutes

Go Get Podcast
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 2024 11:50 Как не пропустить следующий эфир и новости подкаста 12:17 Представление Романа 16:11 Обсуждение джуна в роли тимлида 23:42 Работа и развитие Романа как разработчика 27:53 Про зарплаты и первый опыт работы 30:01 Как Роман попал в WildBerries 35:28 Как стать сеньором и что это значит? 49:55 Почему решил уйти из WildBerries 59: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 Заключение
Show more...
1 year ago
2 hours 7 minutes

Go Get Podcast
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 Заключение
Show more...
1 year ago
1 hour 59 minutes

Go Get Podcast
Ep. 11: кто такой системный архитектор?
Вместе с опытным системным архитектором из LaTech Алексеем Скоробогатым обсуждаем - кто такой системный архитектор, чем он занимается, зачем он нужен, как дорасти до этой позиции, и стоит ли. Состав: - Николай Тузов - Алексей Скоробогаый - системный архитектор в LaTech Тайминги: 00:00 Вступление 02:39 Как Лёша попал в IT 05:04 Университет - насколько он важен? 07:47 Работа в маленькой студии 11:47 Фэйлы - почему их не нужно бояться 16:28 Lamoda - начало карьеры в большой компании и переезд в Москву 19:45 Первые фэйлы 23:49 Переход с PHP на Go 32: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 Заключение
Show more...
2 years ago
2 hours 5 minutes

Go Get Podcast
Ep. 10: Новый релиз Go v1.21 - обсуждаем важные изменения
Новый релиз выдался очень интересным, добавился ряд крутых фич. Подробно обсуждаем - что добавилось, зачем оно нужно, как с этим работать и др. Состав: Николай Тузов Глеб Яльчик - тех. директор компании Gaijin Дмтрий Матрёничев - Talos OS Developer, ведёт отличный ТГ-канал по Go: https://t.me/go_update Мой Телеграм-Канал с анонсами подкастов, роликов и др.: https://t.me/ntuzov Наш чат - Gopher Club: https://t.me/+RfalcB42UspmMDdi Все гости наших выпусков там присутствуют. ----- Go 1.21 Release Notes: https://tip.golang.org/doc/go1.21 Примеры, связанные с изменениями поведения переменной цикла: https://github.com/golang/go/wiki/LoopvarExperiment Тайм-коды 00:00 Вступление 02:18 Улучшенная обратная и восходящая совместимость 08:20 Изменений вывода stack trace 15:17 Изменение работы с циклами - Loopvar Experiment 19:03 Версия компилятора и его поведение на основе go.mod 22:28 Почему собседования станут немного проще 23:50 Новый пакет - slices 27:23 Про итераторы в Go 28:21 Почему убрали keys / values для map 30:47 Интересные функции нового пакета slices 31:45 builtin функции min / max 32:50 Связь новых функций с типом Float 36:07 Зачем нужна функция clear для слайсов? 39:33 sort.Ints() vs slices.Sort() 44:02 Новый пакет maps и его функции 46:27 Почему min / max принимают произвольное количество аргументов? 49:59 Улучшение пакета context 01:02:08 slog - новый пакет для логирования 01:08:09 Profile-guide optimization - оптимизация компилятора 01:13:34 Связь новых фич с финтехом 01:16:30 go build превращается в GCC с кучей конфигураций? 01:18:03 Новый пакет - cmp 01:20:16 Зачем чистить мапу в финтехе? :) 01:22:43 Связь новых фич с Machine Learning и статистикой 01:23:30 ОФФТОП - Отсюда и до конца выпуска / Go умирает? Умирают ли другие языки? 01:30:29 Про язык V 01:33:44 Важность ядра языка 01:34:50 Важность идеи языка 01:35:20 Идеи различных языков 01:40:41 Go и Rust 01:47:03 СОВСЕМ ОФФТОП - про игры и Baldurs Gate 01:49:38 Про SteamDeck 01:53:25 Заключение
Show more...
2 years ago
1 hour 56 minutes

Go Get Podcast
Ep. 9: Скорость разработки и цена ошибки разработчика
Обсуждаем скорость работы разработчика, цену и вероятность ошибок во время разработки и др. Состав: - Николай Тузов - Глеб Яльчик - тех. директор компании Gaijin - Даниил Подольский - Microavia.com Тайминги: 0:00 Вступление и представление гостей 1:35 Оговорки касательно темы обсуждения 2:24 Даниил про скорость разработки 6:55 Проработка задач 8:58 Быстрое решение задач через "Плана Б" 11:16 Пример решения задачи без её реализации 13:10 Будет ли у Глеба свой YouTube-канал? 14:21 Про планнинг-покер и модель медленного разработчика 15:23 Срыв сроков из-за непонимания всех аспектов задачи 17:33 Зачем нужно планирование и планнинг-покер? 23:01 Важность постановщика задачи и продуктового менеджера 24:28 Личная продуктивность разработчика 26:51 Исследования скорости работы программистов 30:04 Корреляция между скоростью разработки и компанией 33:23 Влияние юнит-тестов на скорость разработки 39:27 Главная ошибка при написании тестов и проблема TDD 44:21 Примеры Fail-тестов 45:08 Про полное покрытие кода тестами 47:18 Почему Линус быстро пишет код, и важен ли такой навык? 53:04 Проблемы с код-ревью в компаниях, оформление мердж-реквестов 54:55 Три типа коммитов: функционал, код-стайл, рефакторинг 1:02:02 Подход к рефакторингу и новой функциональности 1:04:56 Влияние культуры разработки на скорость и качество 1:07:59 Пример: культура разработки в Steam 1:09:51 Пример с Telegram 1:10:44 Почему Star Citizen никогда не выйдет 1:13:58 Технический долг возвращается с процентами 1:15:05 Ускоряет ли кодогенерация разработку? 1:20:08 Насколько ChatGPT и Копайлот ускоряют работу?
Show more...
2 years ago
1 hour 23 minutes

Go Get Podcast
Ep. 8: Pet-проекты для разработчика
Обсуждаем пет-проекты в жизни разработчика: - какие пет-проекты мы делали, для чего и каковы результаты - является ли их наличие/отсутствие плюсом/минусом на собеседовании, что вообще полезного они дают? - как находить идеи и время для пет-проектов? - что НЕ надо в них делать и другое Состав: - Николай Тузов - Александр Бруяко - Avito, senior Go developer (ex: Ozon, техлид Wildberries) - Денис Фетинин - LaTech (Lamoda), senior developer, Go community lead
Show more...
2 years ago
1 hour 20 minutes

Go Get Podcast
Ep. 7: Как развиваться GoLang разработчику?
Говорим о том, как готовиться к собеседованиям, чего от вас будут ожидать, что пригодится на работе, как расти и развиваться в профессии. Состав: - Николай Тузов - Глеб Яльчик - тех. директор компании Gaijin - Даниил Подольский - архитектор софта в Microavia.com - Виталий Левченко - разработчик в Яндекс Практикум Тайм-коды 0:00 Вступление 0:37 Представление участников 2:40 Опросник Даниила 5:09 Примерный план разговора 5:33 Чего хотят от Go разработчика 5:49 Определяемся с грейдами 12:56 Почему мы не говорим, что ожидаем от кандидата? 13:57 Как отличить мидла, зазубрившего ответы 15:12 Ценность алгоритмов на собеседовании 16:32 Люди берут на работу похожих на себя людей 17:00 Алгоритмы можно тоже заучить 18:53 Тестовые задания 19:34 Как быстро человек начнет приносить пользу? 23:50 Три стратегии найма 25:00 Релевантность опыта и предметные области 31:45 Стек Go 32:40 Собеседующие не знают, о чем они спрашивают 34:47 Умение писать код не проверяется 38:10 С чего начать разговор 39:30 Опять ушли в софты 40:26 Архитектура кода - как проверять? 42:40 Архитектура кода - научиться? 46:26 Важно читать о Go 47:17 Человеку должно быть что сказать 48:28 Что проверять в контексте Go? 49:28 select с default’ом 51:30 Нужен ли разработчик, когда есть Copilot / ChatGPT 55:05 Глубина ответа на поверхностный вопрос 57:35 Как правильно учиться? 59:25 Важность постановки цели 1:02:20 Подытоживаем 1:02:54 Односвязный список 1:06:10 Советы от Виталия 1:08:50 Не надо стесняться просить помощи 1:11:00 Вопрос «почему?» важнее вопроса «как?» 1:13:40 Как распутать клубок знаний? 1:16:40 Не стыдно чего то не знать 1:17:00 Что изучать? 1:19:22 Как наращивать личное могущество? 1:27:34 Заключение
Show more...
2 years ago
1 hour 29 minutes

Go Get Podcast
Ep. 6: Монорепозиторий VS Мультирепозиторий
Будем обсуждать плюсы и минусы монорепозитория. Это частая тема холиваров, и мы решили внести свой вклад 😊 Состав: - Глеб Яльчик - тех. директор компании Gaijin, - Алексей Акулович - inDriver (ранее Tinkoff, ВКонтакте) Тайминги 00:00:00 Вступление 00:01:26 Что такое монорепозиторий? 00:03:54 Про культуру разработки 00:09:06 Плюсы от Глеба 00:15:38 Удобная работа с общим кодом 00:17:33 Про папку internal 00:20:43 Удобная работа с godoc 00:22:13 Удобная поддержка общего кода 00:23:41 Продуктовые vs платформенные разработчики 00:28:46 Плюсы и минусы от Алексея 00:33:26 Проблема больших файлов 00:34:38 Brach development vs trunc development 00:37:43 CI/CD для монорепы 00:43:52 Проблема очень больших репозиториев 00:46:43 Атомарные коммиты 00:57:06 Итоги: плюсы монорепозитория 00:57:46 Минусы: связность кода 01:02:49 Другие минусы монорепы 01:03:13 Проблема больших файлов 01:06:29 Когда стоит использовать монорепу? 01:09:03 Ещё про CI/CD 01:12:24 Заключение
Show more...
3 years ago
1 hour 12 minutes

Go Get Podcast
Ep. 5: Чистый код в Go - правила хорошего тона для разработчика
Обсуждаем вопросы, связанные с написанием хорошего кода в Go: нужен ли он? Насколько важен? Экономит ли "грязный код" время? Как научиться писать хороший код? И др. Тайминги: 00:00:27 Вступление 00:00:53 Представление участников 00:03:10 Что такое "Чистый Код"? 00:10:17 Вопрос от Данниила - какова причина появления "грязного кода"? 00:11:26 Можно ли сразу писать хороший код? 00:17:13 Отнимает ли чистый код больше времени? 00:20:45 Ответы на вопрос Даниила 00:21:51 Откуда всё же берётся грязный код? 00:22:09 Грязный код: Причина №1 - плохая задача 00:24:33 Грязный код: Причина №2 - микроархитектура 00:28:14 Умение сформулировать свои мысли и требования к коду 00:32:01 Обучаемость людей 00:33:27 Гипотетическая книга "Чистая Микроархитектура" 00:35:59 SOLID для Go 00:37:05 Дискуссии при написании гайдлайнов 00:42:12 Монорепозиторий - хорошо или плохо? 00:44:44 Почему чистый код пишется дольше? 00:49:00 Зависимость качества кода от постановки задачи 00:51:29 Роберт Мартин про скорость написания чистого кода 00:52:36 Соблюдает ли стандартная библиотека Go чистый код? 01:02:19 Можно ли использовать панику в коде? 01:06:17 Можно ли использовать данные, если ошибка не нулевая? 01:11:47 Нужно ли проверять на nil ссылочные типы? 01:17:40 Где добавлять контекст к ошибке - внутри функции или снаружи? 01:20:45 Передача логгера через контекст 01:31:44 Чем плохи глобальные переменные 01:38:24 Когда стоит использовать кастомные (пользовательские) типы? 01:41:58 Можно ли переборщить с кастомными типами? 01:43:11 Польза от Code Review, как способ научиться писать хорощий код 01:50:27 Важность правильного оформления Pull Request'ов 01:52:56 Заключение
Show more...
3 years ago
1 hour 53 minutes

Go Get Podcast
Ep 4: Собеседование Go-разработчика глазами нанимателя
Обсудили вопросы, которые не дают покоя многим разработчикам:     - Берут ли на работу новичков?   - Зачем на собеседованиях нужны алгоритмы и live-coding?   - Достаточно ли скинуть ссылку на pet-project на GitHub'е?   - Играет ли роль высшее образование?   - Играет ли роль возраст?     и др. Опросник Даниила Подольского: https://habr.com/ru/company/oleg-bunin/blog/521582/ Наш чат - Gopher Club: https://t.me/+RfalcB42UspmMDdi Здесь присутствуют гости из всех выпусков. Мой Телеграм-Канал с анонсами подкастов, роликов и др.: https://t.me/ntuzov Тайминги 00:00:00 Вступление 00:05:02 Как выглядит структура собеседования участников 00:28:51 Как побороть страх перед собеседованием? 00:38:03 Есть ли безработица среди программистов? 00:43:12 Возьмут ли человека, который часто меняет работу? 00:45:47 Зарплатные вилки и ожидания от кандидата 01:05:10 Алгоритмы и live-coding - зачем они на собеседованиях? 01:24:19 Охотно ли берут людей с опытом DevOps, Embed, из других языков 01:39:09 Важно ли образование? 01:42:39 Важен ли возраст? 01:52:16 Нужны ли отдельные секции и этапы собеседований? 01:58:19 Оформление резюьме 02:03:47 Возвращение в разработку после долгого перерыва 02:05:50 Аутсортс-компании, есть ли особенности? 02:07:16 Собеседование сеньоров 02:09:26 Как быть разработчику без опыта работы? 02:11:18 И конкретно - Go-разработчику без опыта? 02:13:32 Есть ли вакансии для Go-разработчиков без опыта? 02:15:34 Заключение
Show more...
3 years ago
2 hours 16 minutes

Go Get Podcast
Ep 3: GameDev в Go
Обсудили вопросы, связанные с геймдевом на го: подходит ли Go для геймдева? Какие основные плюсы и минусы? На какие игровые движки стоит обратить внимание? И др. Состав: Николай Тузов Глеб Яльчик - тех. директор компании Gaijin (которая разрабатывает игру WarThunder и др.), специалист по геймдеву. Алексей Акулович - работает в inDriver, ранее работал в Tinkoff, ВКонтакте. Занимается backend-стороной сложных и интересных проектов, увлекается геймдевом на Go в качестве хобби. Искандер Шарипов - программист ВКонтакте, работает над компилятором kphp. В прошлом работал над компилятором Go. В свободное время пишет небольшие игрушки на Go. Тайминги: 00:00:00 Вступление 00:01:03 Приветсвие - Алексей Акулович 00:02:23 Приветсвие - Искандер Шарипов 00:04:34 Почему для геймдева был выбран Go 00:09:32 Что мы понимаем под словом "геймдев" 00:11:55 Подходит ли Go для геймдева? 00:28:50 Ликбез: что такое Garbage Collector (GC) 00:34:15 Движки с подходом "всё есть код" 00:36:16 Собственные игровые движки Алексея и Искандера 00:39:35 ООП в разработке игр 00:46:15 Стоит ли писать свой движок? 00:55:27 Ликбез: что такое ECS 00:58:41 Может ли зарабатывать на геймдеве на Go? 01:04:03 Go + GoDot 01:10:37 Помогает ли геймдев развиваться разработчику? 01:14:43 Какой движок на Go выбрать? 01:18:32 Основные минусы Go в геймдеве 01:20:27 Обёртка над Ebiten от Искандера 01:22:21 Основные плюсы Go в геймдеве 01:30:31 Заключение
Show more...
3 years ago
1 hour 33 minutes

Go Get Podcast
Ep 2: Почему Go плохой? Почему Go хороший?
Обсуждаем статьи: - Кратко: "I want off Mr. Golang's Wild Ride" (https://fasterthanli.me/articles/i-want-off-mr-golangs-wild-ride) - "Как мы себя обманываем, только бы продолжать пользоваться Golang" (https://habr.com/ru/post/676994/) - "What Made GoLang So Popular?" (https://thenewstack.io/what-made-golang-so-popular-the-languages-creators-look-back/) Состав: - Николай Тузов (разработчик в Lamoda, веду образовательный канал на ютубе) - Глеб Яльчик (технический директор Gaijin) - Виталий Левченко (разработчик Яндекса, организатор Go-сообщества в Питере) Тайминги: 00:00 - Вступление 00:54 - Статья 1.1 - "I want off Mr Golangs Wild Ride" 01:25 - Проблема с пермишенами на Windows (Chmod) 04:18 - Сравнение с Rust 11:38 - Статья 1.2 - "Как мы себя обманываем, только бы продолжать пользоваться Golang" 11:45 - Стоит ли выслушивать критику от новичков? Чем она отличается от критики экспертов? 17:36 - Go vs Rust 21:03 - Какие плюсы видит автор в Go 22:05 - Особенности тулчейна Go 22:51 - Система сборки 24:22 - Система именования 25:49 - Проблемы сборщика мусора 28:58 - Go превращается в PHP 21-го века? 29:49 - Go возник случайно? 30:22 - Обработка ошибок 38:45 - Почему Go плохой язык для новичков? 42:43 - Непоследовательность Go 45:20 - Итоги по Rast 47:40 - Статья 2. "What Made GoLang So Popular?" 48:19 - Критерии "популярности" 49:22 - Компилируемость 50:12 - Почему Go любят DevOps'ы? 53:08 - Есть ли у Go конкуренты? 56:47 - Почему Go изначально начал набирать популярность? 58:24 - Причины дальнейшего развития
Show more...
3 years ago
1 hour 9 minutes

Go Get Podcast
Ep 1: Обсуждаем дженерики
Дженерики вот-вот появятся в Go, их релиз запланирован в версии 1.18. В связи с этим, данная тема очень актуальна и вызывает множество дискуссий в сообществе. Состав: - Николай Тузов (разработчик в Lamoda, веду образовательный канал на ютубе) - Глеб Яльчик (технический директор Gaijin) - Дмитрий Матреничев (разработчик в Lamoda)
Show more...
3 years ago
1 hour 17 minutes

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