Discoverjavaswag
javaswag

javaswag

Author: twitter.com/volyx

Subscribed: 105Played: 5,416
Share

Description

Подкаст о разработке на Java. Все то, о чем вы боялись спросить в кулуарах.
98 Episodes
Reverse
В 96-м выпуске подкаста Javaswag поговорили с Егором Пишим, Java-разработчиком из команды PVS-Studio. Обсудили, как войти в Java через моды и серверы Minecraft, почему мир кубов живет на Netty и Gradle, как грамотно организовать мультимодульные проекты с помощью build-logic и type-safe accessor’ов, а также заглянули под капот разработки статических анализаторов кода (от поиска багов и Taint-анализа до соответствия ГОСТам). Гость Егор Пиший — Java-разработчик в PVS-Studio. Темы выпуска (Таймкоды) 00:00 — Интро 00:48 — Как войти в Java через свой Minecraft-сервер 02:06 — Архитектура Minecraft под капотом: деобфускация байт-кода, Bukkit/Paper API и миксины 07:09 — Производительность и многопоточность в Minecraft: 50 мс на тик, Netty и проект Folia 14:07 — Почему экосистема Minecraft выбирает сборку через Gradle 16:15 — Maven против Gradle 18:56 — Проект Shop и вебинары по Gradle 21:30 — Эволюция плагинов в проекте 25:19 — Type-safe accessors и Version Catalogs 32:30 — Плагины application и java-library: в чем разница между api и implementation 41:09 — Новый статический анализатор в PVS-Studio 45:30 — Как работает анализатор кода 51:38 — Интеграция в SourceCraft и ГОСТы безопасности 54:57 — Непопулярное мнение 56:22 — Пет-проект гостя: java-file-api (альтернатива JavaPoet) Ссылки Курс «Современный Gradle для Java-разработчика» java-file-api — пет-проект Егора, альтернатива JavaPoet
В 95 выпуске подкаста Javaswag поговорили с Максимом Сенокосовым о фреймворке Quarkus, переходе на него со Scala, оркестрации с помощью Quarkus Flow, Project Leyden, оптимизациях Jackson и о том, существует ли настоящий Developer Joy в энтерпрайз-мире. 00:00 Начало 00:25 Как Макс познакомился с Quarkus: миграция со Scala 02:08 Spring vs Quarkus в Cloud Native 04:52 Developer Joy: почему в эпоху Java EE о радости разработчика никто не думал 05:44 Интерес выходцев из Java EE 07:35 Kubernetes-native 09:22 Quarkus — платформа для «скучного» среднего стека 11:20 Hibernate, аугментация байт-кода в build-time и Quarkus Panache 14:05 Декларативные HTTP-клиенты на интерфейсах 15:31 Боль с нестандартными протоколами 17:09 Онбординг новых разработчиков 19:19 Quarkus Flow: 26:48 Project Leyden 32:43 Контейнеризация c Google Jib 35:08 Драма вокруг Jackson 45:32 Помогает ли AI писать на Quarkus так же хорошо, как на Spring? 48:50 Непопулярное мнение: корень всех бед с Hibernate — бизнес-логика в JPA-сущностях Гость: Максим Сенокосов — техлид и разработчик Упомянутые ссылки и материалы: Quarkus Доклад Гийома Смета (Guillaume Smet): «Project Leyden: How Leyden brought a new perspective» Спецификация CNCF Serverless Workflow LangChain4j & SmallRye Выпуск #94 с Николаем Ишипиковым про Camunda и Kotlin DSL Ссылки на подкаст: Сайт — https://javaswag.github.io/ Телеграм — https://t.me/javaswag Youtube — https://www.youtube.com/@javaswag X (Twitter) — https://x.com/javaswagpodcast
В 94-м выпуске подкаста Javaswag поговорили с Николаем Шипяковым, Java-разработчиком, который провел всю свою карьеру в финтехе и суровом энтерпрайзе. В этом эпизоде мы проследили эволюцию энтерпрайз-решений: от тяжеловесных вендорских платформ вроде IBM WebSphere и IBM BPM, где бизнес-логика «рисовалась кубиками», до современных подходов со Spring, Kotlin и Camunda. Николай поделился историей о том, как на хакатоне зародилась идея создать собственный Kotlin DSL для описания бизнес-правил, который успешно заменил неповоротливые решения и прослужил долгие годы. Мы также разобрали архитектурные кейсы, обсудили, как подружить синхронные REST-вызовы с асинхронными процессами в Camunda при помощи Kafka и Kotlin Flow. В завершение выпуска поговорили о выборе оркестраторов (Camunda 7, 8, Temporal), внутренней кухне организации ИТ-конференций и обсудили непопулярное мнение о том, почему gRPC зачастую переоценен в энтерпрайзе. Шоуноты 00:00:22 Приветствие 00:01:43 с .NET на Java и первый крупный проект для Альфа-Банка 00:04:43 Каким был энтерпрайз в десятых годах 00:09:04 Переход в Тинькофф (Т-Банк) в 2015 году: 00:16:53 Смена технологического стека: отказ от решений IBM в пользу оркестратора Camunda в связке со Spring и Kotlin 00:23:33 Что такое Camunda простыми словами: почему этот инструмент удобно использовать как надежную стейт-машину для сложных распределенных транзакций 00:27:11 Идея с хакатона: создание кастомного Kotlin DSL для удобного описания бизнес-правил (вместо визуальных редакторов для бизнеса), который стал успешным внутренним продуктом 00:33:01 Преимущества подхода “Contract/Code First”: тестирование, контроль версий в Git и трейсинг процессов, написанных на Kotlin DSL 00:47:40 Внутренняя мобильность в Т-Банке: почему разработчику полезно менять проекты и как найти команду сильных сеньоров внутри одной компании 00:53:42 Разбор архитектурного кейса: как объединить асинхронный процесс Camunda и синхронный REST-контроллер с использованием топиков Kafka и Kotlin Flow 01:01:17 Очереди в энтерпрайзе: в каких случаях стоит использовать Kafka, а когда для обработки задач подойдет PostgreSQL 01:05:46 О важности observability (наблюдаемости): история инцидента со 100% загрузкой CPU в базе данных из-за отвалившейся репликации PostgreSQL 01:09:02 Переход в стартап и проблема выбора: почему старушка Camunda 7 до сих пор актуальнее, чем Temporal или платная Camunda 8 с закрытой архитектурой 01:20:18 Организация собственной технической Java-конференции от компании: сбор программы, уникальные доклады и почему платные билеты улучшают отношение аудитории 01:32:18 Непопулярные мнения от гостя: почему группа Ария без Кипелова звучит отлично, и почему технология gRPC часто применяется в энтерпрайзе не по делу 01:39:23 О важности софт-скиллов 📚 Упоминания в выпуске Гость https://ru.linkedin.com/in/nikolay-shipyakov-692a48b1
В этом выпуске к нам пришел Паша Финкенштейн — Developer Advocate в BellSoft, человек с нестандартным бэкграундом и огромной энергией. Мы поговорили о том, как политолог и психолог стал экспертом по Java, обсудили менеджерские и архитектурные фейлы, вспомнили забытое искусство правильного дебага и прошлись с критикой по Ktor, Kotlin Multiplatform и современному вектору развития JetBrains. 00:00:41 Знакомство с гостем. Паша Финкенштейн: Developer Advocate, фанат настолок и 3D-печати. 00:02:19 Шок-контент: политология, «Майн кампф» и диплом по психологии в бизнесе. Как Паша жил без профильного ИТ-образования. 00:06:34 Старт в ИТ через боль и техподдержку. Первые строчки кода и необычные курсы по Java без заумной теории. 00:09:01 Вторичный мониторинг АЭС в Сибири, хардкорный Eclipse RCP и мертвые технологии: GWT, Wicked, TeaVM. 00:18:12 Внезапное тимлидство и классические менеджерские ошибки (олимпиадные задачки на собесах — не надо так!). 00:25:00 Утерянное искусство дебага. Почему ставить 20 обычных брейкпоинтов — это плохо, и как правильно использовать логпоинты и условные остановки. 00:30:42 ДомКлик и продукт без багов в проде (почти). Разбираем эпичную архитектурную ошибку с parallelStream, HikariCP и Kubernetes health-чеками. 00:40:41 Опыт перехода в новую компанию сразу всей командой: вин-вин для всех или скрытые риски? 00:46:47 Суровый менеджерский взгляд на переписывание кода, рефакторинг и внедрение новых языков (например, Zig) ради перформанса. 00:51:12 Почему Паша ненавидит овертаймы, ночные онколы и как жестко разделять работу и личные pet-проекты. 00:58:15 Как управлять 40+ людьми на позиции CTO в Home Credit Bank и почему этот опыт заставил вернуться поближе к коду. 01:03:03 Lamoda. Data Engineering, старт DevRel-карьеры и легендарный “Speaker’s Club” Жени Голевой (формат 5-минутных докладов без слайдов). 01:07:17 Секреты успешных докладов на примере турне “Kotlin: 2 года в продакшене, ни единого разрыва”. 01:14:42 Три главные книги разработчика от Паши (спойлер: Java Concurrency in Practice нужно перечитывать каждый год). 01:17:10 Попадание в Big Data Tools от JetBrains через вопросы к спикеру после доклада. 01:22:49 Как сломать языковой барьер, начать думать и шутить на английском (экстремальный метод из Египта). 01:31:30 Непопулярное мнение №1: Ktor — не для Enterprise (нет DI, типизации рутов), а тулинг Kotlin Multiplatform (KMP) — это главный заградительный барьер технологии. 01:39:56 Непопулярное мнение №2: Пессимистичный прогноз будущего JetBrains. Отставание в AI (Claude обходит AI Assistant), медленный Fleet, закрытие Space и параллели с Borland. IDE Zed как альтернатива. 01:47:32 Философия подписок: почему IntelliJ IDEA Community и Ultimate — это правильный подход к монетизации. 01:50:22 Текущие задачи в BellSoft: переписывание документации с помощью ИИ и помощь в создании контента. 01:53:10 Почему Claude не заменит программистов. Код-ревью и архитектура — то, в чем LLM всё ещё сильно ошибаются (разбираем проблему N+1 в jOOQ, написанную ИИ). 📚 Упоминания в выпуске Предыдущие выпуски: Выпуск #55 про GWT и J2CL, Выпуск #57 с Алексеем Андреевым про TeaVM, Выпуск с Дмитрием Чуйко. Книги: Java Concurrency in Practice (Brian Goetz) Designing Data-Intensive Applications (Martin Kleppmann) Enterprise Integration Patterns (Gregor Hohpe, Bobby Woolf) Инструменты и фреймворки: Eclipse RCP, GWT, J2CL, TeaVM, OSGi, HikariCP, jOOQ, Spring, Ktor, Kotlin Multiplatform, Flutter, Zed Editor, Claude (Opus). Гость https://www.linkedin.com/in/asm0dey/
В этом выпуске мы погружаемся в мир функционального программирования вместе с Никитой Волковым, архитектором и разработчиком на Haskell и Rust. Обсуждаем, почему «чистота» функций — это не ограничение, а суперсила, как монады помогают нам в повседневной Java-разработке и почему будущее за строгими контрактами и DSL. Во второй части выпуска Никита рассказывает о своем проекте pGenie — инструменте для работы с PostgreSQL, который предлагает альтернативный взгляд на интеграцию с базами данных, делая SQL «источником истины». 00:00:00 Начало 00:02:01 Эволюция мышления: путь от PHP и Scala к Haskell и Rust. 00:07:37 Java 8 vs Haskell. Истинная чистота и детерминизм 00:15:03 Функциональщина, монады, функторы и концепция Optional 00:27:59 Property-based testing 00:36:51 Как FlatMap и монада STM управляют недетерминированным внешним миром 01:01:34 Проект pGenie. Почему Рич Хикки критиковал ORM и в чем боль синхронизации контрактов 01:13:29 Философия OpenAPI для баз данных. Взгляд на БД как на изолированный микросервис со статической структурой запросов 01:38:06 Workflow разработки с pGenie: генерация типизированного Java-кода и защита схемы от даунтайма через файловые сигнатуры 01:50:56 Тренды Open Source в эпоху ИИ: драма вокруг генерации кода, ИИ-слоп и борьба с агентами через «пасхалки» в коммитах 01:59:51 Совет стартаперам и Рубрика «Непопулярное мнение»: почему ИИ убьет динамические языки программирования Гость: Никита Волков https://github.com/nikita-volkov Проект: pGenie на GitHub Книга: «Learn You a Haskell for Great Good! https://learnyouahaskell.github.io/chapters.html “Консалтинг Никиты” https://codemine.io
loading
Comments