16+
Podkast haqida
Пишем код, за который не стыдно. Разбираем базу, даем рекомендации и встречаемся с умными людьми
Janrlar va teglar
В этом выпуске мы пошли дальше разговоров о DDD и сделали то, чего обычно не хватает большинству обсуждений — взяли реальную идею и начали моделировать её руками. Вместе с Евгением Лукьяновым, архитектором и практиком DDD, мы в прямом эфире провели сессию Event Storming и разобрали живую предметку: сервис для контент-креаторов в Telegram — от регистрации пользователя до рекомендаций, трендов и сложных границ ответственности системы.
Мы не готовились заранее, не полировали пример и не знали «правильного ответа». По ходу дела всплывают реальные вопросы: где заканчивается MVP и начинается переусложнение, какие события действительно важны, что считать инвариантами, где система должна быть «тупой», а где — умной, и почему изменение состояния — главный источник боли в любой системе.
Разговор постепенно уходит глубже: от бизнес-ценности и воронки активации — к агрегатам, событиям, автоматическим правилам, внешним системам и границам контекстов. Мы обсуждаем серые зоны вроде парсинга Telegram, влияние ограничений платформы на модель домена, роль ИИ в рекомендациях и почему «сначала написать код» почти всегда приводит к иллюзии понимания предметки.
Полезные ссылки:
https://t.me/stringconcat
https://www.youtube.com/@UCJ2Tig1kywPjqjNh0mb54Ug
Подписывайтесь на канал «Организованное программирование» в Telegram: https://ttttt.me/orgprog
– Список подкаст-платформ (Apple Podcast, Google Podcast, Spotify, Яндекс.Музыка и другие): https://podcast.ru/1734325321
– Смотреть в ВК Видео: https://vkvideo.ru/video-224967259_456239228
Telegram-канал Организованного Программирования: https://t.me/orgprog
Хекслет Клуб в Telegram https://t.me/HexletClubBot
Юниты против интеграционных тестов — вечный спор, который кажется простым только до первого реального проекта. В этом выпуске у нас в гостях Александр Макаровов — core-разработчик PHP-фреймворка Yii. Мы разобрали, почему формальные определения тестов почти не работают в живых системах и где на практике проходит граница между «юнитом», «модулем» и «интеграцией».
Мы поговорили о тестировании прикладных веб-приложений и библиотек, сравнили Active Record и Data Mapper, разобрали, когда тесты обязаны ходить в базу, а когда моки — вынужденное зло. Посмотрели реальные репозитории активно развивающихся проектов написанных на Laravel и Rails, фреймворки и коммерческие проекты, и увидели, как на самом деле пишутся тесты в продакшене, а не в книжках. Обсудили фикстуры, транзакции, rollback’и, SQLite in-memory, UUID, миграции, тесты контроллеров, сервисов и джобов.
Полезные ссылки:
https://t.me/samdark_blog
Подписывайтесь на канал «Организованное программирование» в Telegram: https://ttttt.me/orgprog
– Список подкаст-платформ (Apple Podcast, Google Podcast, Spotify, Яндекс.Музыка и другие): https://podcast.ru/1734325321
– Смотреть в ВК Видео: https://vkvideo.ru/video-224967259_456239227
Telegram-канал Организованного Программирования: https://t.me/orgprog
Хекслет Клуб в Telegram https://t.me/HexletClubBot
#кириллмокевнин #александрмакаров #интеграционныетесты #программирование #php #backend #разработка #it #подкаст
Дебаты: юнит тесты против интеграционных с Александром Макаровым
(00:00) - этом видео: (00:00) - — Добро пожаловать в подкаст: почему третий релиз фреймворка ждали годами — и при чём тут тесты? (02:13) - — О чём сегодня будет спор: юнит-тесты против интеграционных — кто победит? (07:37) - — Юнит-тесты на практике: функция, класс или публичный API (11:14) - — Почему формального определения не существует: юнит-тесты, которые не юнит-тесты (15:05) - — Внутренний интерфейс — трогать или нет: почему тесты не должны лезть в кишки системы (26:18) - — Архитектура vs гигиена: что действительно важно в прикладных проектах (37:15) - — Рефакторинг без боли: какие тесты действительно помогают менять код (47:53) - — Работа с базой данных: транзакции, откаты и скорость тестов (59:49) - — Плюсы и минусы высокоуровневых тестов (01:08:11) - — Open-source vs коммерция: почему одинаковые подходы не работают (01:25:45) - — Все типы тестов в реальном проекте (01:42:55) - — Docker и файловая система: неочевидные проблемы масштабирования (01:54:10) - — Сила декларативного подхода: почему CI/CD — идеальная среда для AI (02:01:20) - — Заключение: почему истина всегда где-то посередине ★ Support this podcast ★В этом выпуске — экспериментальный формат и разговор без сценария. В гостях сразу двое инженеров с более, чем двадцатилетним опытом - Пётр Зайцев и Алексей Рыбак. Мы вспоминаем, как выглядел вход в IT в 2000-х: первые работы «по знакомству», собеседования в квартирах и ресторанах, задачи про шнуры, найм по мотивации и жизнь без курсов, грейдов и HR-пайплайнов.
Большой блок посвящён найму и софтскилам. Обсуждаем, действительно ли раньше на них «не смотрели», где проходит граница между прямотой и токсичностью, как меняются ожидания в больших и мультикультурных командах, почему интервью часто проверяют не знания, а этику и способность работать с конфликтами, и как размер компании меняет правила игры.
Во второй части говорим о технологиях и хайпах, которые мы пережили: паттерны, ORM, MongoDB, микросервисы, serverless и TypeScript. Отдельно разбираем, почему именно nginx и memcache стали настоящими сдвигами и реально изменили индустрию, а большая часть «революций» оказалась просто модой. В конце — трезвый разговор про AI: где он ускоряет инженеров, а где создаёт больше шума, чем ценности.
Если откликнулось — поставьте лайк, напишите в комментариях свой опыт и скажите, стоит ли делать такие разговоры регулярными.
Полезные ссылки:
https://youtube.com/@AlexeyRybak
Подписывайтесь на канал «Организованное программирование» в Telegram: https://ttttt.me/orgprog
– Список подкаст-платформ (Apple Podcast, Google Podcast, Spotify, Яндекс.Музыка и другие): https://podcast.ru/1734325321
– Смотреть в ВК Видео: https://vkvideo.ru/video-224967259_456239225
Telegram-канал Организованного Программирования: https://t.me/orgprog
Хекслет Клуб в Telegram https://t.me/HexletClubBot
Функциональное программирование давно перестало быть экзотикой, но вокруг него всё ещё много мифов, крайностей и непонимания. В этом выпуске мы говорим с Сашей Вершиловым — инженером, который уже почти 15 лет пишет на Haskell и при этом остаётся максимально прагматичным.
Мы разбираем, почему Haskell до сих пор стоит особняком: как он вырос из академической среды, почему ленивые вычисления и сильная система типов стали источником десятков идей для mainstream-языков, и как generics, type inference, immutability, pattern matching, пайплайны и «чистый код» перекочевали в Java, JavaScript, TypeScript, Go и другие экосистемы. Говорим о том, почему сегодня функциональщины вокруг нас больше, чем кажется — просто она стала «невидимой».
Отдельный фокус — практика и мышление инженера. Почему functional core / imperative shell не «ломается», а неправильно применяется. Как Haskell меняет способ думать о данных, алгоритмах и архитектуре. Где он действительно помогает стать сильнее как разработчику, а где начинается оверхед, экосистемные риски и необходимость знать кишки рантайма. Этот выпуск — не про «писать всё на Haskell», а про влияние, инструменты мышления и честный разговор о том, чему функциональное программирование научило индустрию и зачем мидлам и сеньерам в этом вообще разбираться.
Полезные ссылки:
Twitter - https://x.com/qnikst
Подписывайтесь на канал «Организованное программирование» в Telegram: https://ttttt.me/orgprog
– Список подкаст-платформ (Apple Podcast, Google Podcast, Spotify, Яндекс.Музыка и другие): https://podcast.ru/1734325321
– Смотреть в ВК Видео: https://vkvideo.ru/video-224967259_456239224
Telegram-канал Организованного Программирования: https://t.me/orgprog
Хекслет Клуб в Telegram https://t.me/HexletClubBot
#функциональноепрограммирование #haskell #fp #программирование #чистыйкод #языкипрограммирования
Зачем изучать Haskell в 2025 году? | Александр Вершилов #68
(00:00) - Введение. Зачем вообще говорить о Haskell? (00:48) - Как Haskell стал культовым языком — история, полная парадоксов (01:59) - Ленивость, чистота и мощь типов — что делает Haskell особенным (09:41) - Haskell сегодня: жив или мертв? Обсуждаем текущее развитие (14:13) - Битва языков: кто круче Haskell или…? (22:02) - Как Java «украла» дженерики у Haskell (27:05) - Когда FP не приживается — главные проблемы интеграции (33:46) - Как FP меняет мышление программиста (40:09) - Почему без FP не было бы современного программирования (44:37) - Что нужно знать перед началом с Haskell? (53:32) - Почему порядок вычислений — это важно (01:04:56) - Функции в Haskell: краткий гайд (01:16:34) - Чем Haskell выигрывает у других в работе с функциями (01:25:32) - Как оптимизируются пайплайны в Haskell (01:33:22) - Алгоритмы через матчинг: магия Haskell (01:42:57) - Почему рекурсия в Haskell — это нормально (01:49:28) - Как определить функцию в Haskell (01:56:02) - Чем рискует компания, выбрав Haskell (02:00:16) - Заключение. Кому и когда стоит использовать Haskell ★ Support this podcast ★В этом выпуске мы разбираем следующую главу «Чистого кода» Роберта Мартина про модульные тесты и 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 ★