Size: a a a

2019 November 02
xpinjection
О, только недавно я опубликовал пост про то, что многие IT компании не умею эффективно тратить деньги, а тут отличные примеры в Twitter нашлись в качестве дополнения. Прямо классические «дорого платить другим, сделаем все сами». В итоге ни хрена не работает и денег в разы больше потрачено. :)
источник
2019 November 04
xpinjection
1-2 ноября я выступал на конференции Devoxx Ukraine 2019 (бывшая JavaDay Ukraine до покупки франшизы). Организаторы опробовали новую экспериментальную площадку - цех Тетрапак в промзоне на Подоле. Это позволило получить больше пространства для участников и спонсоров, а также организовать доклады в 7 параллельных потоков. На моей памяти, это первая конференция в Украине с таким количеством потоков и докладов.

Все выступления были на английском, поэтому я оставил в программе только один из двух принятых докладов. Второй был бы сложен как для меня в плане исполнения на английском, так и для аудитории в плане понимания. Несмотря на узкую тему доклада «Ride the database in JUnit tests with Database Rider», его поставили на главную сцену и собралось порядочно людей. Я рассказал о своём опыте использования и участия в разработке крутой библиотеки для написания тестов, затрагивающих БД - Database Rider.

Видео доклада ещё нет, но уже доступны слайды и примеры кода. Для этого доклада я постарался сделать слайды самодостаточными, чтобы они позволяли даже без видео хорошо изучить материалы. Их можно найти в ссылках к посту.

Доклад про SAGA паттерн прозвучит на конференции XP Days Ukraine уже через несколько недель, 22-23 ноября. Там же я буду делиться поучительными историями и советами на тему использования Kubernetes. Приходите послушать!

#конференции #java #доклад #kubernetes #инфраструктура
источник
2019 November 05
xpinjection
В одном из каналов встретил интересную ссылку на репозиторий со сборником вопросов для DevOps/SRE собеседования. И тут неоднозначно как-то получается. С одной стороны, очень полезная штука для понимания своих слабых мест и их подтягивания. А с другой стороны, появится больше людей, тупо заучивающих ответы без адекватного понимания. В общем, используйте ответственно. :)

#devops #sre #собеседование #инфраструктура
источник
2019 November 06
xpinjection
Пока мы суетимся с финальными стадиями подготовки конференции XP Days Ukraine, полным ходом идёт подача докладов на нашу конференцию по автоматизации тестирования Selenium Camp 2020. В этом году будет ещё меньше Slenium/WebDriver и больше фокуса на приближение автоматизации к разработке. Вот примерный список тем, выбранных программным комитетом:

– web automation WITH or WITHOUT WebDriver/Selenium;
– test automation scaling (cloud, tools, experience reports);
– microservices testing (infrastructure, contracts, approaches);
– test tooling (smart reporting, AI, smart tests execution);
– mobile testing (practical aspects);
– test automation infrastructure (when, where and how to run tests);
– machine learning and test automation (suggestions, chat bots, models);
– metrics and monitoring;
– test data management and generation;
– code quality in test automation (real stories);
– hardware/robots/IoT (experience reports).

Если у вас есть интересный опыт, которым вы готовы поделиться с сообществом, то не стесняйтесь и подавайте доклад на сайте конференции. А мы поможем вам с подготовкой и репетициями, чтобы доклад получился классным и полезным.

#конференции #доклады #автоматизация #тестирование
источник
2019 November 07
xpinjection
​​Давненько я не писал обзоров прочитанных книг. Это совершенно не значит, что я не читал. Просто книги большие, да и времени было не особо много. Очередной прочитанной книгой стала популярная работа Харири Sapiens (краткая история человечества).

Книга понравилась прямо очень. Во-первых, нет никаких предвзятых и однозначных выводов на тему исторических событий. Практически в каждой временной точке автор показывает факты и предлагает различные интерпретации, объясняя логически почему одни более вероятны, а другие менее. Во-вторых, в книге нет толерантности и автор свободно говорит про религии, политику, экономику, преступления против окружающей среды и геноциды. А это важно для объективного рассмотрения истории.

Практически во всем у меня были такие же взгляды на историю человечества, но книга помогла лучше систематизировать и дополнила картину интересными фактами. Особенно понравились части про смешение религий и причины научной революции в Европе (но не в Азии).

Когда читал, подумал, что было бы очень здорово в подобном формате изучать историю в школах. В детстве история рассматривалась сквозь призму советской идеологии и вместо интересных размышлений о фундаментальных вещах нас заставляли зубрить параграфы учебника. А самое главное, учить историю не ради козыряния фактами, а ради размышлений, дискуссий, выводов и извлечения уроков из неё.

Книгу прямо настоятельно рекомендую. Другие книги автора читать пока не собираюсь, потому что слышал много негативных отзывов, а тематика политики и предсказания будущего мне не так близки.

#книги #рецензия #books
источник
2019 November 09
xpinjection
На этой неделе проходила одна из самых больших и насыщенных community-driven международных Java конференций - Devoxx Belgium. Там всегда целый парад интересных докладов и мастер-классов как на тему Java, так и на смежные темы. Поэтому настоятельно рекомендую взглянуть на опубликованные видео и составить себе образовательный план на ближайшее время. Ссылка ⬇️.

#конференции #видео #материалы #java
источник
2019 November 11
xpinjection
Близится к завершению конференционный сезон 2019 и уже начинается ранняя подготовка к сезону 2020. Декабрь и январь обычно «месяцы тишины», поэтому у меня никаких мероприятий не запланировано. А вот февраль будет очень активным.

15 февраля во Львове состоится конференция JavaDay Lviv 2020. Это отличная региональная конференция с классной командой организаторов и душевной атмосферой. С большой долей вероятности я буду среди докладчиков. Blind birds билеты разлетелись очень быстро, сейчас уже этап ранней регистрации.

14-15 февраля (да, да, в тот самый день) в Минске пройдёт конференция DelEx 2020. Она посвящена интересному миксу DevOps и автоматизации тестирования. Среди докладчиков каждый год собирается много моих хороших знакомых. Ну и для меня это всегда очередная возможность посетить родной город. В этом году не факт что получится. :(

22-23 февраля мы в Киеве соберём тусовку любителей автоматизированного тестирования на конференцию Selenium Camp 2020. Приём докладов идёт во всю, а за первые несколько недель с момента открытия регистрации половина билетов уже раскуплена. Я собираюсь готовить пару новых докладов. Будет круто!

29 февраля в Киеве пройдёт конференция Simplicity Day: Agile Magic. Организаторы обещают собрать много интересных спикеров и обсудить трендовые темы из мира Agile. Сейчас завершается ранний этап регистрации и грядёт подорожание билетов с 12 ноября. Там я тоже буду в качестве докладчика.

Как видите, в феврале скучать не придётся и можно посетить много интересных и полезных мероприятий.

#конференции #анонс
источник
2019 November 13
xpinjection
Сегодня случилось прямо очень важное событие в мире Kubernetes - вышел долгожданный релиз Helm 3. В новой версии убрали небезопасный Tiller и сделали архитектуру клиентской вместо клиент-серверной. Это значит, что больше людей смогут использовать Helm полноценно в продакшен окружениях. Также в новом релизе добавили много новых возможностей.

Все инфраструктурные каналы радостно трубят о релизе. Давайте порадуемся и мы. 🍾🎂🎉

#инфраструктура #kubernetes #helm
источник
2019 November 14
xpinjection
Я являюсь большим поклонником эффективных решений в IT и за его пределами. Поэтому всегда приятно видеть как подобные решения работают на практике вживую. Сегодня хочу рассказать как раз про такой кейс.

У одного из моих клиентов (тут могла бы быть ваша реклама ;)) на территории офиса организована большая кухня, где готовят завтраки, обеды и ужины. Чтобы лучше понимать масштаб, в офисе работает несколько тысяч сотрудников. Каждый сотрудник на карточку получает стандартный бюджет, который может потратить на еду. Все что свыше бюджета можно оплатить деньгами.

Начнём с завтрака. Это нереально удобно. У разных людей утро начинается в разное время. Кто-то везёт детей в школу или садик, кто-то пробирается по пробкам в офис, а кто-то начинает утро с спортзала. И вопрос выделения времени на завтрак стоит очень остро. Если завтракать дома, то нужно раньше вставать и потом возможно дольше добираться до работы. Также для многих проблематично готовить разнообразные завтраки. Тут проблема решена в корне. Это быстро, удобно и экономит кучу времени.

Второе преимущество в налаживании социальных связей. Исторически мы делаем это за приемом пищи и данная традиция по-прежнему живее всех живых: ужин с друзьями или семьей, банкеты и корпоративы, свадьбы и т.д. Тут у сотрудников есть возможность за приемом пищи пообщаться с коллегами как на рабочие так и на отвлеченные темы или же заняться самообразованием, посмотрев видео доклада или почитав книгу, не тратя время на логистику.

Многие задерживаются на работе до вечера по разным причинам и возможность адекватно поужинать помогает оставаться продуктивным и не иметь попутно проблем со здоровьем. Также, для экономии времени можно взять ужин с собой, если не хочется готовить дома. И это снова очень эффективно.

К сожалению, очень мало компаний реализует данную модель у себя. Надеюсь, ситуация начнёт меняться в будущем. Всем эффективности!

#эффективность #офис
источник
2019 November 15
xpinjection
Вчера совершенно случайно познакомился с ребятами из команды JetBrains, которые отвечают за написание плагинов к IntelliJ IDEA. Посмотрел на практических примерах как можно расширять IDE и делать ее более удобной для своего контекста использования.

Общий посыл - если вам болит или хочется избавиться от рутины с помощью автоматизации, то это отличный мотиватор глянуть в сторону плагинов. В качестве примеров поддержка одного из современных Java фреймворков Micronaut и валидация CSS/XPath локаторов для современной автоматизации тестирования веб-приложений (ссылки можно найти ниже). По второму мы обсудили идеи для более продвинутых проверок, что может сделать жизнь автоматизаторов сильно приятнее и проще. Примеры вроде простые, но явно на практике все не так просто для внешних людей, незнакомых с внутренним фреймворком. Недаром плагин для поддержки Spring занимает 230К строк. :)

Я даже вспомнил свой любимый плагин для тестов под названием TestDox, которым я пользовался много лет до того как он перестал поддерживаться. Надо таки найти время и реанимировать его. :)

#IDE #эффективность #Java
источник
2019 November 16
xpinjection
Меня часто спрашивают о том, что должен уметь делать современный архитектор и какими качествами обладать. Ведь совершенно понятно, что технологии постоянно меняются и это явно не основной критерий в долгосрочной перспективе для классного архитектора. Я вчера в самолете  посмотрел отличное видео на эту тему от одного из лучших экспертов и спикеров в IT. Рекомендую глянуть и вам.

#конференции #архитектура
источник
2019 November 18
xpinjection
Забавно у нас в индустрии все устроено. С одной стороны, практически все разработчики ругают большие легаси энтерпрайзы и не хотели бы там работать. А с другой стороны, именно за счёт этих самых энтерпрайзов у нас появляются новые поколения технологий и инструментов для разработки, которые разработчики с радостью применяют в своих проектах/продуктах/командах.

Приведу пару примеров. Pivotal толкает вперёд локомотив Spring Boot и Spring Cloud, чтобы продавать большим энтерпрайзам Pivotal Cloud Foundry (PCF). Из маленьких компаний или стартапов никто в здравом уме не купит PCF, а для больших энтерпрайзов он выглядит привлекательной платформой.

RedHat развивает новое поколение платформы для Java разработки Quarkus, фактически начиная новую эру быстрых и экономных микросервисов, а также активно вкладывается в развитие Kubernetes, knative и других инструментов. А все для того, чтобы лучше продавать энтерпрайзам свой OpenShift и другие расширения для мира Kubernetes. То есть, все эти инновации снова оплачиваются из кармана больших энтерпрайзов.

Вот такая вот интересная история получается...
источник
xpinjection
​​По мотивам посещения конференции PM Day. Оказывается еще очень много людей забивают себе голову KPI, хоть и не могут внятно объяснить зачем. :)
источник
2019 November 19
xpinjection
В современной разработке статические анализаторы давно вышли за пределы стилистических проверок. Сейчас с их помощью можно находить множество потенциальных дефектов, а также проблем в области безопасности и производительности. Вот всего несколько областей применения для примера:

- анализ дефектов и анти-паттернов в Java с SonarQube, FindBugs, PMD;
- нахождение в git репозитории всех сохранённых ключей, паролей и других секретов;
- валидация описания инфраструктурных компонентов;
- анализ правильности настройки и использования отдельных фреймворков;
- нахождение потенциальных уязвимостей в коде и Docker образах...

Большая часть команд пользуется лишь малой частью доступных инструментов. Я планирую сделать доклад на эту тему в феврале с обзором решений и преимуществ их использования на практике. А пока вот вам небольшой пример улучшения использования Hibernate с помощью Hypersistence Optimizer.
источник
2019 November 20
xpinjection
BLACK FRIDAY!

Что-то рано начался Black Friday в этом году и все каналы начинают наполняться новостями о супер-скидках. Мы решили не отставать и тоже поучаствовать в аттракционе халявы. Поэтому только сегодня будет действовать специальный промокод с 25% скидки на нашу конференцию XP Days Ukraine 2019. Если вы до сих пор ещё не купили билет и тянули до последнего, то это ваш шанс купить билет с большой скидкой и присоединиться к участникам крутой технической конференции. Для этого у вас есть ровно один день, чтобы зарегистрироваться и оплатить свой билет. Интересно? Записывайте промокод: HAPPY_BLKFRD_19.
источник
2019 November 21
xpinjection
Service mesh находится на пике хайпа и только ленивый ничего не слышал о нем. Тем не менее, мало кто может толком объяснить кому и зачем он нужен, когда стоит применять, а когда лучше избегать. Я наконец встретил статью на данную тему, которой не стыдно поделиться с широкой аудиторией.

Краткие выводы:

- service mesh очень помогает принести в универсальном виде набор полезных паттернов для микросервисов на разных языках и платформах;
- не нужно полагаться на реализацию от бизнес команд разработки, уменьшается сложность самих микросервисов;
- больше всего это нужно платформенной команде, чтобы унифицировать окружение и упростить поддержку;
- нужно быть очень аккуратным в применении, потому что толпа дополнительных контейнеров и повсеместные прокси могут много на что негативно повлиять;
- реализаций становится все больше, лидеры Linkerd и Istio активно исправляют свои недостатки;
- номинально, мы переходим в эру распределённого монолита со всеми вытекающими проблемами...

Настоятельно рекомендую к прочтению!

#инфраструктура #kubernetes #service_mesh
источник
2019 November 24
xpinjection
Если вы хотели узнать что-то из мира Kubernetes, то все возможные и невозможные темы обсуждались на конференции KubeCon в Сан-Диего. Уже доступны видеозаписи докладов. Наслаждайтесь! Всего 320 видео... :)
источник
2019 November 26
xpinjection
На конференции PM Day Kyiv попал на доклад Славы Панкратова про эффективность командной работы. Суть доклада сводилась к тому, что эффективность работы команды вовсе нелинейная от количества людей. Основные потери возникают из-за того, что:

- людям нужно научиться работать друг с другом и в процессе притирки они показывают далекую от 100% производительность (те самые фазы forming и storming);
- больше времени начинает уходить на коммуникации, договоренности, распределение знаний и принятие решений;
- на тимлида ложатся новые менеджерские задачи (в формуле Славы до 20% на человека).

С последней проблемой часто сталкиваются компании, которые ожидают от тимлида топовой производительности по сравнению с другими разработчиками (ведь "еще вчера так и было", когда тимлид работал сам). При этом, ожидания не изменяются по мере роста команды. В результате, тимлид либо выгорает (если пытается усидеть на двух стульях) либо начинает в одном из направлений проседать.

На практике не все так печально, если подойти к построению команды более осмысленно:

- помимо лида в команде для баланса должны быть люди разного уровня, включая синьоров, которые могут взять на себя менторство над менее опытными коллегами;
- децентрализация управления в команде помогает выделить зоны ответственности и подобрать подходящий уровень делегирования для членов команды;
- многие вопросы из области people management можно вынести на HR или общего people manager в рамках всей компании;
- отказ от микроменеджмента позволяет тимлиду не вдаваться на 100% в большинство задач и экономить время;
- автоматизация процессов и правильно настроенные инженерные практики могут также снизить нагрузку на тимлида.

Поэтому вполне реалистично иметь команду в 5-7 человек, в которой натурально выросший из разработчиков тимлид по-прежнему будет тратить 50-70% времени на технические задачи. Но линейно от размера команды производительность расти все равно не будет по другим указанным выше причинам.
источник
2019 November 27
xpinjection
На прошедшей конференции XP Days Ukraine 2019 я выступал с двумя новыми докладами.

Первый был посвящен эффективному использованию Kubernetes на практике. Я постарался собрать все проблемы, с которыми сталкивался в разных командах за последние пару лет, а также советы и рекомендации. Мне изначально казалось, что они очень очевидные, поэтому в название доклада я добавил "... от Капитана Очевидность". Доклад очень многим понравился и теперь есть полезный чеклист, к которому можно обратиться в любой момент времени.

Второй доклад был посвящен распределенным бизнес транзакциям в мире микросервисов. Я не делал его слишком техническим, как собирался делать на JEEConf, потому что не все участники конференции из Java мира. Зато получилось лучше и глубже рассмотреть саму проблематику, а также надавать советов по избеганию сложности и рассмотреть различные инструменты для реализации шаблона Saga.

Слайды можно найти ниже, видео пока доступно только участникам конференции, но скоро опубликуем его в открытом доступе.
источник
2019 December 02
xpinjection
Как я уже писал в канале, разгорается нешуточная война за энтерпрайз клиентов среди микросервисных платформ в мире Java. Тут тебе и классический Spring Boot от Pivotal, который начали сравнивать с EJB 2.0, и Quarkus от RedHat, и “полукровки” Micronaut, Vert.x...

И если раньше подобная война проявлялась скорее в докладах на конференциях и разных сравнительных статьях типа “hello world” в разных ипостасях, то теперь в ход пошли козыри в виде отчетов о миграции с одной платформы на другую. Как пример, недавно вышла статья от Vodafone Греции, в которой они красочно рассказывают о миграции с злобного и прожорливого Spring Boot на быстрый и экономный Quarkus.

В статье многое не вяжется, особенно с учётом усилий разработчиков на миграцию. Ведь на заявленной нагрузке отрабатывать вложенные средства придётся очень долго. И это без учета того, что команда Spring Boot также активно взялась за оптимизации так называемого footprint. Тем не менее, это вызов и такие вызовы должны привести к обострению конкурентной борьбы. А значит, нас с вами ждёт множество интересных событий в 2020 году... :)

#java #микросервисы
источник