#75 - Илья Ильиных - Голэнг как убица Джавы, и Вим
В 75 выпуске подкаста Javaswag поговорили Ильей Ильиных о том почему Голэнг лучше Джавы, и как Вим делает из вас лучшего разразботчика
00:00 Переход от Java к Go
06:13 Проблемы с Optional и его использование
11:20 Использование Optional в Java
18:30 Важность форматирования кода
23:42 Проблемы и решения в команде
31:05 Переход на Vim и его связь с GoLang
36:30 Проблемы с Gradle и тестами
44:51 Проекты и архитектура микросервисов
51:03 Сравнение Go и Java
56:13 Погружение в Go и его особенности
01:02:17 Инструменты и туллинг в Go
01:10:36 Мутационное тестирование и его важность
01:16:09 Сравнение тестирования в Java и Go
01:24:44 Принципы написания устойчивых тестов
01:31:32 Тестирование как черный ящик
01:37:13 Интерфейсы в Go и Java
01:43:09 Обработка ошибок в Go и Java
01:48:18 Теория монады и её применение в Java
01:53:35 Проблемы написания больших проектов на Go
01:58:54 Новые возможности Go и использование генериков
02:04:50 Итераторы в Go и Lua
02:13:26 Эффективные методы работы с кодом
02:19:12 Непопулярные мнения о потоках в Java и Kotlin
02:24:34 Проблемы и решения в Java и Kotlin
Гость Илья из @kydavoiti
Ссылки: https://github.com/ilyasyoy
Ссылки на подкаст:
Сайт - https://javaswag.github.io/
Телеграм - https://t.me/javaswag
Youtube - https://www.youtube.com/@javaswag
Linkedin - https://www.linkedin.com/in/volyihin/
X - https://x.com/javaswagpodcast
--------
2:34:50
#74 - Дерар Бакр - риалтайм системы на JVM стэке
В 74 выпуске подкаста Javaswag поговорили с Дераром о реалтайм атрибуции в рекламной сети построенной на JVM стэке
00:00 Начало
05:46 Преимущества и недостатки платформы JVM
11:56 Размышления о будущем Java
17:12 Что такое AppFlyer?
22:20 Обработка больших данных в AppFlyer
28:16 Архитектура обработки данных и Kafka
36:40 Clojure
42:49 Эффективность и выразительность кода на Clojure
49:17 Java и Clojure
55:24 Проблемы экосистемы Clojure
01:02:40 Знание основ Java для Clojure-разработчиков
01:11:19 Масштабирование и партиции в Kafka
01:16:24 Подсчет удалений приложений
01:22:57 Инструменты для масштабирования и обработки данных
01:30:09 Минимальные знания для разработчиков многопоточных приложений
01:39:31 Блокирующий и неблокирующий ввод-вывод
01:45:49 Сложности работы с данными и идентификаторами
01:52:55 Опыт работы в крупных компаниях и корпоративной среде
01:59:26 Менторинг
02:05:46 Роль софт-скилов в карьере инженера
02:11:20 Анонимные отзывы
02:18:11 AI
02:24:22 Непопулярное мнение о потоках в Java
02:32:33 Асинхронность и производительность в современных системах
Гость https://www.linkedin.com/in/derarbakr/
Ссылки:
Optimizing 25PB Storage https://docs.google.com/presentation/d/1H8Kw3lBAw_HqK_4ZTWFT-a1EuVwNgB4j/edit
Ссылки на подкаст:
Сайт - https://javaswag.github.io/
Телеграм - https://t.me/javaswag
Youtube - https://www.youtube.com/@javaswag
Linkedin - https://www.linkedin.com/in/volyihin/
X - https://x.com/javaswagpodcast
--------
2:38:27
#73 - Сева Брекелов - автоматизация, видеостриминг и AI для Miro
В 73 выпуске подкаста Javaswag поговорили с Севой Брекеловым о автоматизация тестирования, платформе видеостриминга и AI для Miro
00:00 Начало
12:07 Путь к автоматизации тестирования
25:22 Переход от тестирования к программированию
32:43 Работа в Google и Nike
39:11 Управление заказами и функциональные возможности
42:26 Тестирование и проблемы с микросервисами
45:15 Внедрение тест-контейнеров в процесс разработки
48:06 Apache Camel
55:35 Работа контрактором и синдром самозванца
01:05:26 PMM
01:08:10 Создание видеостриминговой платформы, WebRTC
01:32:07 Генерация синтетических данных для банков
01:35:21 Miro и AI
01:51:22 Инфраструктура
01:53:45 Роль принципала
01:57:33 Непопулярные мнения о Spring Boot
02:02:36 Непопулярное мнение
Гость https://www.linkedin.com/in/brekelov/
Ссылки:
Гитхаб Севы - https://github.com/volekerb/volekerb
Engineer Readings канал - https://t.me/engineerreadings
ICE Protocol - https://datatracker.ietf.org/doc/html/rfc5245
Плейлист шоу “Ошибка Выжившего” - https://www.youtube.com/playlist?list=PLsVTVVvrKX9ulEqi0KeI-NYXSNCO4o1x0
Miro AI - https://miro.com/ai/
Ссылки на подкаст:
Сайт - https://javaswag.github.io/
Телеграм - https://t.me/javaswag
Youtube - https://www.youtube.com/@javaswag
Linkedin - https://www.linkedin.com/in/volyihin/
X - https://x.com/javaswagpodcast
--------
2:08:36
#72 - Александр Бармин - эволюция Спринга и архитектура Необанка
В 72 выпуске подкаста Javaswag поговорили с Александром Барминым о Спринге и архитектуре Необанка
00:00 Начало
05:34 Значение доменной области в разработке
17:28 IBM FileNet и Java EE
22:45 Проблемы и эволюция Java EE
32:50 Spring и Spring Boot
48:10 Миграция между версиями Spring
56:05 Гибкость и сложности Spring Boot
01:01:02 Адаптация Spring к современным трендам
01:04:50 Проблемы зависимости от Spring
01:07:10 Конкуренция и эволюция Spring
01:14:49 Kotlin и Spring: синергия технологий
01:15:44 Эволюция TransferWise в Neobank
01:16:36 Архитектура Wise: микросервисы и AWS
01:19:21 Kubernetes и проблемы распределенных систем
01:24:55 Консистентность и механизмы реконсиляции
01:29:08 Управление микросервисами и версиями
01:33:20 Автоматизация обновления зависимостей
01:37:07 CI/CD и миграции баз данных
01:41:17 Деплой
01:46:49 Непопулярное мнение о языках программирования
01:50:00 Критика Spring Boot и его магии
Гость https://www.linkedin.com/in/abarmin/
Ссылки:
Канал Александра на YouTube - https://www.youtube.com/@ABarmin
Канал Java & Spring Weekly в Telegram - https://t.me/java_weekly
Wise Tech Stack - https://medium.com/wise-engineering/wise-tech-stack-2022-edition-a6ac089a382f
Spring Cloud с Борисовым - https://youtu.be/4tSyz_v9w7Q
Ссылки на подкаст:
Сайт- https://javaswag.github.io/
Телеграм - https://t.me/javaswag
Youtube - https://www.youtube.com/@javaswag
Linkedin - https://www.linkedin.com/in/volyihin/
X - https://x.com/javaswagpodcast
--------
1:54:03
#71 - Алексей Жидков - эргономичный подход и декомпозиция архитектуры
В 71 выпуске подкаста Javaswag поговорили с Алексеем Жидковым об эргономичном подходе для разработки архитектуры проекта
00:00 Начало
12:06 Работа консультанта
17:38 Эргономичный подход и его принципы
26:44 Практика применения принципов разработки
30:55 Трудности внедрения DDD на практике
37:15 Популярность DDD и его реальная эффективность
39:33 TDD и его место в эргономичном подходе
41:00 Тестирование как основа разработки
43:55 Проблемы с моками в тестировании
48:50 Архитектурные подходы и JPA
51:01 Функциональная архитектура и ее влияние на разработку
55:36 Проблемы с ORM и Hibernate
01:00:03 Эргономичность и альтернативы ORM
01:01:53 Неизменяемая модель данных
01:05:58 Эргономичный подход в разработке
01:08:32 Обсуждение стека технологий и его эволюция
01:11:21 Эргономичный подход в разработке проектов
01:17:14 Проблемы объектно-ориентированного программирования
01:20:56 Декомпозиция системы и создание API
01:22:38 Тестирование и разработка по TDD
01:27:24 Экономика эргономичной архитектуры
01:30:59 Элементы эргономичного подхода
01:40:15 Проблемы многопоточности
01:42:58 Непопулярное мнение
Гость https://t.me/ergonomic_code
Ссылки:
Сайт Алексея https://azhidkov.pro/
Многоликий принцип единственности ответственности мой разбор формулировок и интерпретаций Single Responsibility Principle, которые даёт сам Анкл Боб.
FizzBuzz Enterprise Edition пример доведения Open-Closed Principle до абсурда
SOLID Deconstruction Kevlin Henney c 28:23 докладчик говорит о том, что Liskov Substituion Principle является нонсенсом для его соблюдения, вы не можете переобределять методы только добавлять новые, про которые программа-клиент ничего не знает
Domain-Driven Design: Tackling Complexity in the Heart of Software та самая книга про DDD
Принципы юнит-тестирования самая крутая на сегодняшний день книга по тестированию бакендов
Сайт Владимира Хорикова
РЕПЕТИЦИЯ Структурный дизайн. Древний секрет простого и быстрого кода. репетиция моего доклада на Joker 24
РЕПЕТИЦИЯ Функциональная архитектура и Spring Data JDBC. 4 года в проде, полёт отличный репетиция моего второго доклада на Joker 24, который в итоге стал Lightening Talk-ом
Why is Java making so many things immutable? пост в блоге Оракла, где автор пишет - чуваки, не парьтесь, GC заточен на быстрое создание объектов
Trainer Advisor реальный проект по Эргономичному подходу
Диаграмма эффектов диаграмма, которую я использую для декопозиции ядра/домена/модели (сущностей и интеграций) на модули
Алексей Жидков — Рациональный подход к декомпозиции систем на модули или микросервисы мой доклад на JPoint 23 с алгоримтом декомпозиции диаграммы эффектов
Lean Architecture: for Agile Software Development
The Transformation Priority Premise, Code That Fits in Your Head как выходить из тупика, когда в продовом коде захардкожен OK 200 и тест зелёный
Как я превратил легаси-проект в конфетку за полгода. Том 1 мой пост о том, как я переделал проект по Эргономичному подходу и ускорил работу команды в три раза
Метрика Cognitive complexity или простой способ измерить сложность кода лучшая альтеранитва цикломатической сложности
Code Complexity плагин для IDEA, который рисует когнитивную сложность прямо в редакторе
Alan Kay at OOPSLA 1997 The computer revolution hasnt happened yet Алан Кей говорит, что не имел ввиду C++, когда придумывал термин ООП
Dr. Alan Kay on the Meaning of “Object-Oriented Programming” Алан Кей говорит, что имел ввиду под ООП
Ссылки на подкаст:
Сайт- https://javaswag.github.io/
Телеграм - https://t.me/javaswag
Youtube - https://www.youtube.com/@javaswag
Linkedin - https://www.linkedin.com/in/volyihin/
X - https://x.com/javaswagpodcast