16+
Podkast haqida
Пишем код, за который не стыдно. Разбираем базу, даем рекомендации и встречаемся с умными людьми
Janrlar va teglar
В этом выпуске мы разбираем следующую главу «Чистого кода» Роберта Мартина про модульные тесты и TDD.
Глава маленькая, но последствия от неё — огромные. Мы поговорим о том, как Мартин трактует модульные тесты, зачем он навязывает «три закона TDD» и почему вся глава местами напоминает идеологический манифест, а не практическое руководство.
Я покажу, как его подход работает (и не работает) в реальной жизни, где модульные тесты действительно помогают, а где — становятся тормозом для архитектуры, мешают рефакторингу, и даже запирают разработчиков в ловушку реализации.
Обсуждаем:
- Почему TDD ≠ надёжность, и как это связано с деталями реализации
- Как тесты мешают менять код, вместо того чтобы помогать
- Модульные vs. интеграционные тесты: когда что действительно нужно
- Почему идея «удалять модульные тесты после проектирования» — не безумие, а осознанная практика
- Зачем Мартин создаёт тестовый DSL, и почему это часто превращается в god-object в обёртке удобочитаемости
- История про "один assert на тест", роспек, матчеры и почему современные практики давно пошли другим путём
- И самое главное: что из этой главы стоит взять, а что — отбросить без угрызений совести
Это выпуск не только о тестах, но и о том, как теоретические идеи живут (или не выживают) в продакшене, и почему взрослому инженеру важно уметь отделять идеологию от практики
Первая часть разбора: https://youtu.be/-tp2bfP36Hg
Вторая часть разбора: https://youtu.be/KK9XK6BtqBM
Третья часть разбора: https://youtu.be/bfhUhim0V1Y
Подписывайтесь на канал «Организованное программирование» в Telegram: https://ttttt.me/orgprog
– Список подкаст-платформ (Apple Podcast, Google Podcast, Spotify, Яндекс.Музыка и другие): https://podcast.ru/1734325321
– Смотреть в ВК Видео: https://vkvideo.ru/video-224967259_456239222
Telegram-канал Организованного Программирования: https://t.me/orgprog
Хекслет Клуб в Telegram https://t.me/HexletClubBot
Курсы по программированию — начни учиться уже сегодня: https://ru.hexlet.io/courses
#модульныетесты #чистыйкод #программирование #разработка #чистаяархитектура
Как модульные тесты в разы усложняют поддержку проекта | Разбор книги Роберта Мартина #4
(00:00) - – Введение. Почему модульные тесты до сих пор спорный инструмент? (00:36) - – С чего всё начиналось: как тестирование выглядело в 90-х (05:16) - – Что работает в библиотеках, не работает во фреймворках (10:41) - – Тесты = гибкость кода? Разбираем миф (16:58) - – Как модульные тесты мешают рефакторингу (20:53) - – Почему “красивый” тест может быть вредным (26:39) - – Что происходит, когда тест превращается в DSL (31:14) - – Можно ли писать “грязные” тесты? Мартин говорит — да (35:28) - – Больше методов — больше проблем (42:30) - – Как RSpec повлиял на все тестовые фреймворки (46:09) - – Ассерты без боли: так можно было? (50:01) - – Условные конструкции в тестах: враг №1 (55:52) - – Зависимость между тестами (01:00:37) - – Заключение. Почему идеальных тестов не бывает ★ Support this podcast ★Третья часть разбора “Чистого кода” Роберта Мартина.
На этот раз — глава “Обработка ошибок”, где всё снова звучит красиво, но работает не так, как написано.
Разбираю, почему подход “всё через исключения” на практике создаёт больше хаоса, чем порядка. Объясняю, где Мартин путает исключительные ситуации с обычной логикой программы, и как это превращает чистый код в непредсказуемый.
Показываю, почему исключения — не всегда “чисто”, а часто просто удобно спрятанная ошибка. Разбираем примеры с try-catch, коды возврата, идемпотентность и атомарность, говорим о реальных паттернах работы с ошибками в Go, Haskell и TypeScript.
★ Support this podcast ★Spring Boot — один из самых популярных фреймворков в экосистеме Java. Вместе с Валерием Жилой поговорили о том, как он устроен, почему вокруг него столько споров и насколько оправдано его использование сегодня. Разобрали фреймворк с разных сторон — от удобства до производительности. Мы постарались взглянуть на Spring Boot без фанатизма и предвзятости: где он действительно помогает, а где мешает.
В этом выпуске мы обсудили:
- сравнение с FastAPI, NestJS и другими фреймворками;
- когда Spring Boot раскрывает свой потенциал, а когда превращается в обузу;
- производительность и скрытая магия фреймворка;
- особенности Developer Experience;
- порог входа для новичков.
- Инверсия зависимостей, возведенная в абсолют
List of Spring projects: https://spring.io/projects
List of small Spring guides, to learn elements in a very simple way: https://spring.io/guides
Structured from-zero Spring Boot tutorial: https://www.baeldung.com/spring-boot
Spring IO YouTube: https://www.youtube.com/@SpringIOConference
Spring Boot vs Quakrus: https://www.youtube.com/watch?v=mJJpZ70q9M0
Хорошая книга - Spring Start here: https://amzn.to/3JwIeEp
Евгений Борисов, отличные видео на русском про то, как спринг работает под капотом (первые два довольно старые, но с принципы остались те же):
- https://www.youtube.com/watch?v=BmBr5diz8WA
- https://www.youtube.com/watch?v=cou_qomYLNU
- https://www.youtube.com/watch?v=rd6wxPzXQvo
В выпуске мы поговорили с Алексеем Гладковым, создателем канала Mobile Developer, инженером с 13+ годами опыта под Android и iOS.
обсудили как менялась мобилка изнутри: от Java и XML до Kotlin, Compose и серверного UI,
и выяснили, почему эпоха “нативных приложений” уходит, уступая место новым парадигмам.
Обсудили:
— куда дрейфует Android и зачем Китаю своя HarmonyOS;
— почему оффлайн-эпоха закончилась;
— как Flutter, Compose и BDUI меняют саму идею приложения;
— и что ждёт мобильных инженеров, когда всё уже написано.
Полезные ссылки:
https://t.me/alexgladkovblog
https://youtube.com/@mobiledeveloper
Подписывайтесь на канал «Организованное программирование» в Telegram: https://ttttt.me/orgprog
– Список подкаст-платформ (Apple Podcast, Google Podcast, Spotify, Яндекс.Музыка и другие): https://podcast.ru/1734325321
– Смотреть в ВК Видео: https://vkvideo.ru/video-224967259_456239178
Telegram-канал Организованного Программирования: https://t.me/orgprog
Хекслет Клуб в Telegram https://t.me/HexletClubBot
#мобильнаяразработка #android #ios #kotlin #flutter #compose #bdui #разработкаприложений #mobiledeveloper #разработка #программист #карьерапрограммиста #тренды2025 #aiвразработке #подкаст
Как устроена Мобильная разработка сегодня? | Алексей Гладков #64
Вторая часть разбора “Чистого кода” Роберта Мартина. Сегодня на повестке глава "Объекты и структуры данных".
Рассказываю, зачем Мартин предлагает интерфейс ради интерфейса, и почему абстракции, поданные как “чистое решение”, на практике могут только усложнять архитектуру. Показываю, где он подменяет реальные проблемы искусственными, и почему подход “всё спрятать” часто ведёт к оверинжинирингу.
Главный акцент — не на интерфейсах, а на мутабельности и побочных эффектах.
Обсуждаем, как именно они влияют на undo, конкурентность, тестируемость и общее поведение системы.
Если вы всё ещё уверены, что “чистый код” — это универсальная истина, скорее всего, этот разбор сильно скорректирует взгляд на архитектуру.
Подписывайтесь на канал «Организованное программирование» в Telegram: https://ttttt.me/orgprog
– Список подкаст-платформ (Apple Podcast, Google Podcast, Spotify, Яндекс.Музыка и другие): https://podcast.ru/1734325321
– Смотреть в ВК Видео: https://vkvideo.ru/video-224967259_456239179
Telegram-канал Организованного Программирования: https://t.me/orgprog
Хекслет Клуб в Telegram https://t.me/HexletClubBot
Курсы по программированию — начни учиться уже сегодня: https://ru.hexlet.io/courses
Александр Бындю — человек с сильной технической экспертизой, огромным опытом в консалтинге, автор книг и… один из тех, кто в своё время повлиял на мой путь в IT. Мы знакомы уже больше десяти лет, и я давно хотел записать с ним подкаст.
Мы обсудили технический консалтинг: что происходит в реальных проектах, о чём молчат на конференциях, какие факапы чаще всего допускают команды, и почему увольнение CTO — это не всегда трагедия, а иногда — необходимость. Поговорили о токсичных айтишниках, многоуровневом кэше ради кэша, переоценённых микросервисах и том, как код превращается в политическое оружие внутри компании.
Немного философствовали, немного бомбили, но главное — постарались разобраться: как разработчику вырасти, не стать заложником процессов, и почему недостаточно просто «хорошо писать код».
(00:00) - — Введение. Кто такой Александр Бындю и зачем бизнесу технический консалтинг? (00:31) - — Почему бизнес не понимает, что делают айтишники? Сложность IT глазами собственника (10:06) - — Старт бизнеса вслепую: почему у начинающих не получается (22:01) - — Грехи микросервисов: как архитектура убивает проекты (34:55) - — Как семиуровневый кэш похоронил многомиллиардный проект (46:03) - — Код как искусство: парное программирование и живой рефакторинг (50:23) - — Консалтинг — это война: как работать на результат, когда все против тебя (57:30) - — Один термин — семь значений: как запутанная лексика разваливает проекты (01:08:24) - — «Перепишем с нуля» — главная ошибка IT-менеджмента (01:11:40) - — Компетенция + модель = деньги (01:16:12) - — Заменит ли ИИ консультанта? Реальность и будущее в цифрах (01:22:37) - — Почему хейт — это знак, что вы всё делаете правильно (01:24:44) - — Заключение. Почему умение думать — главная суперсила ★ Support this podcast ★В гостях — Андрей Кобец, фронтенд-разработчик, преподаватель и человек с огромным опытом в IT, начавший путь в 2004 году. Мы вспоминаем, как выглядела разработка двадцать лет назад: первые проекты на PHP, устройство на работу «по знакомству», собеседования в Яндекс, жизнь внутри команды Метрики, офлайн-формат работы и зарождение российских соцсетей.
Обсуждаем, как в отсутствие курсов и системных материалов приходилось самостоятельно искать путь в профессию, чем отличались собеседования тех лет, какую роль играли софтскилы в офлайн-командах, как менялись подходы к образованию, и почему функциональное программирование стало для многих настоящим откровением.
Это живой, местами ностальгический разговор о развитии технологий и карьер разработчиков в 2000-х и 2010-х.
За последние годы развитие браузеров происходило настолько высокими темпами, что многие теряются в происходящем. Я решил это исправить. Мы поговорили с Вадимом Макеевым — экспертом по веб-стандартам из Mozilla (ранее работавшим в Opera), и обсудили, как эволюция браузеров изменила работу разработчиков.
В выпуске мы вспомнили, почему Chrome занял рынок, а Firefox потерял позиции, разобрали, как Google проталкивал API под свои сервисы, а Safari оставался «догоняющим», но задавал рамки приватности. Мы обсудили новые возможности: Navigation API, контейнерные запросы и baseline от MDN, показали, как Core Web Vitals стали новой валютой оптимизации, и поговорили о будущем JavaScript с нативной типизацией.
Мы также затронули тему LLM-браузеров и обсудили, как появление ИИ в браузере может изменить разработку и саму философию веба. Этот разговор оказался не только о технологиях, но и о том, как решения корпораций и сообществ напрямую повлияли на повседневную работу инженеров.
(00:00) - Введение. Зачем мы снова говорим о браузерах? (00:49) - Главная тема выпуска: браузеры и их скрытая эволюция (01:47) - От IE6 до Chrome: как войны браузеров изменили фронтенд (07:41) - Почему кнопка синяя только в Safari? Тестирование и стили под микроскопом (10:20) - Intersection Observer: секретное оружие фронтендера или источник головной боли? (15:01) - Корпоративная безопасность vs автообновления — кто победит? (16:23) - Как зарабатывают браузеры: бизнес-модели, о которых вы не знали (22:26) - Сила дефолтов: почему пользователи выбирают браузер «по умолчанию» (29:37) - Браузерная гонка: Chrome больше не лидер? (35:32) - Грядёт перелом: как новые интерфейсы могут изменить браузеры (40:25) - Будущее UX: вкладки сбоку, сплиты и браузер-агенты (46:53) - Apple Intelligence: приватность на уровне устройства (54:01) - Расширения браузеров: удобство или самая большая дыра в безопасности? (57:42) - Почему Safari до сих пор страдает с расширениями (01:06:52) - Стандартизация расширений: браузеры впервые договорились (01:15:32) - Спам в США: как Почта Америки продаёт ваши данные (01:21:56) - Как Google Maps и Photoshop влияют на развитие браузеров (01:29:00) - BaseLine: когда можно без страха использовать новую фичу (01:39:27) - Как анимации убивают производительность и что с этим делать (01:55:41) - Автоматизация оптимизации: мечта или реальность? (01:58:26) - JavaScript будущего: какие изменения перевернут разработку (02:09:28) - Сборщики, которые ломают JS — боль фронтендера (02:21:41) - Lit: быстрый и лёгкий способ писать компоненты (02:27:28) - Заключение. Что дальше ждёт браузеры и фронтенд ★ Support this podcast ★Первое видео в серии разбора чистого кода по Мартину. Говорим о функциях, почему короткие функции могут делать код хуже, одна ответственность слишком субъективное понятие, а многие рекомендации специфичны для Java и вредны для других языков. Говорим о нормальности свитча, полиморфизме, принципе разделения команд и запросов, а так же expression problem.
Подписывайтесь на канал «Организованное программирование» в Telegram: https://ttttt.me/orgprog
– Список подкаст-платформ (Apple Podcast, Google Podcast, Spotify, Яндекс.Музыка и другие): https://podcast.ru/1734325321
– Смотреть в ВК Видео: https://vkvideo.ru/video-224967259_456239172
Telegram-канал Организованного Программирования: https://t.me/orgprog
Хекслет Клуб в Telegram https://t.me/HexletClubBot
Курсы по программированию — начни учиться уже сегодня: https://ru.hexlet.io/courses
Книга "Профессия «Программист»" - https://code-basics.com/ru/book
Вопросы для собеседований - https://github.com/Hexlet/ru-interview-questions
Тестовые задания - https://github.com/Hexlet/ru-test-assignments
Редакторы кода и инструменты для разработчиков — тема, вокруг которой строится целая индустрия. Когда-то переименование переменной казалось подвигом, а сегодня IDE умеют делать десятки сложнейших трансформаций так, чтобы программа оставалась корректной. В выпуске мы говорим с Дмитрием Ивановым, руководителем платформы Sourcecraft в Яндексе, о том, как развивались JetBrains и IntelliJ IDEA, почему в СССР писали компиляторы для Алгола-68, и чем отличается подход «IDE как комбайн» от современной архитектуры LSP.
Обсуждаем истории изнутри JetBrains, появление Kotlin как ответа на невозможность поддерживать Scala, и то, как AI-тулы и LLM-редакторы вроде Cursor меняют правила игры. Затрагиваем вечный спор Vim против IDE, сравниваем глубину анализа кода и ограничения протокола LSP, вспоминаем курьёзные случаи из практики и прогнозируем, что ждёт рынок инструментов разработки к 2026 году
(00:00) - — Введение. Почему программисты застревают на инструментах? Разбираемся вместе с экспертом Sourceft (01:42) - — Компиляторы, байки и великий Терехов: как рождалась школа системного программирования (03:07) - — Алгол-68 — гордость СССР: как советские инженеры обошли весь мир (05:07) - — Истоки JetBrains: что было до IntelliJ IDEA и кто всё это начал? (07:14) - — Почему IntelliJ IDEA стал революцией: тайна рефакторинга (09:49) - — Почему LLM тупит при рефакторинге и что с этим делать? (13:04) - — JetBrains, Huawei, Яндекс: эволюция задач и инструментария в трёх мирах (18:18) - — Почему LSP не спасает: ограничения, с которыми сталкиваются миллионы (20:31) - — Почему стандарты отстают от технологий: уроки Java и Hibernate (24:03) - — История создания Kotlin: JetBrains против скалы и медленной Java (28:20) - — Vim, VS Code или терминал? Почему программисты уходят от монолитов (31:15) - — Сильные и слабые места JetBrains: не всё так идеально (34:18) - — Джун на стероидах: как выглядит идеальный помощник-программист (38:33) - — Кто победит: курсор, Copilot или кастомный стек? (43:19) - — ChatGPT в машине с детьми: когда AI не понимает границ (47:38) - — CodeStudio и кооперация с ИИ: как управлять своей командой ботов (51:46) - — Почему редакторы тормозят: что не так с Java и UI (59:38) - — Метрика улыбки: главный показатель качества редактора (01:03:12) - — Браузерные IDE в корпорациях: когда это удобно и зачем это нужно (01:06:58) - — Кто победит: LLM + IDE или плагины с костылями? (01:09:46) - — Рынок .NET и его особенности: сообщество, тулзы, подходы (01:13:54) - — Почему локальная разработка пока побеждает облако (01:17:21) - — Докфуддинг в JetBrains: почему это важно для качества (01:21:37) - — Подкаст «Деды бухтят»: минутка ностальгии (01:23:30) - — Топовые плагины для IntelliJ: на что стоит обратить внимание (01:25:36) - — Главные претензии к редакторам (01:30:43) - — Зачем вообще нужны инструменты: что они меняют в работе (01:34:29) - — Экзоскелет для программиста: метафора, которая работает (01:39:34) - — Автоматическая генерация сайтов: реальность уже здесь (01:45:56) - — Яндекс и свои технологии: локальные успехи и вызовы (01:48:18) - — Как выбирать языки программирования (01:51:20) - — Заключение. Почему этот разговор стоит переслушать ещё раз ★ Support this podcast ★