Обложка канала

xpinjection

Авторский канал @xpinjection - опытный Java Tech Lead, Delivery Manager и консультант с 15+ лет опыта в IT. Я пишу о Java, распределённых системах, Agile, процессах разработки, инженерных практиках, QA, конференциях, инфраструктуре и многом другом...

  • xpinjection

    Практически все знают, что 3 ключевых компонента Observability - это метрики, логи и трейсы. К сожалению, далеко не у всех эти 3 компонента связаны между собой в единую цепочку для эффективного исследования инцидентов и поиска ошибок. А это критически важно для распределенных систем, например, на базе микросервисов. Чтобы увидеть как должны быть связаны компоненты Observability и какие возможности это дает разработчикам и инженерам поддержки, можно посмотреть легкий доклад с конференции Spring I/O. Подобную связку можно построить как на коммерческих так и на open source инструментах. Бонусом в докладе покрывается тема современного подхода к Observability в мире Spring Boot (и не только) с помощью Micrometer. Приятного просмотра! https://youtube.com/watch?v=fh3VbrPvAjg&feature=sharec
    Observability of Your Application by Marcin Grzejszczak & Tommy Ludwig @ Spring I/O 2023

    Spring I/O 2023 - Barcelona, 18-19 May Slides: https://docs.google.com/presentation/d/1osp1WQilAmnSZtZ_ZSL2rSRLM5BTjKrVH-ge-VcW_Qs/edit#slide=id.g253640fe83_0_202 GitHub repo: https://github.com/jonatan-ivanov/teahouse Imagine that you’re receiving a support ticket that your application is not working. You read the attached stack trace and now it’s time to solve the mystery. What did the user do that led to the throwing of this exception? Is it possible to find all the logs from all the applications that correspond to this user’s business operation? What if the user is complaining that the system is slow? How can you decide which concrete operation is the culprit? Is there any way to visualize the latency? Let’s answer these questions by taking a deep dive into application observability using distributed tracing, metrics, and correlated logs with Spring, VMware Aria Operations for Applications (formerly Tanzu Observability by Wavefront), OpenZipkin, OpenTelemetry, and more!

    YouTube
  • xpinjection

    Похоже, ситуация на рынке труда в IT становится все более печальной. :( Глобальные сокращения наймов крупных компаний, инвестиционный кризис и война оказали очень негативное влияние. За последний месяц я провел 6 индивидуальных карьерных консультаций. Раньше такие запросы поступали редко, рынок принадлежал кандидатам. Если так пойдет, можно будет отдельное направление выделять. А как обстоят дела у вас в компании с наймом? Повлияла ли ситуация на рынке на ваши планы по смене работы?
  • xpinjection

    Тема development platforms и платформенных команд уже давно активно обсуждается в сообществе. К сожалению, во многих компаниях (особенно энтерпрайз организациях) она вырождается в оторванную от реальности инфраструктурную команду, которая пилит платформу по своему видению на модных технологиях. Development platform - это полноценный внутренний продукт с множеством пользователей из команд разработки. Поэтому нужно позаботиться о многих аспектах: - вовлечение пользователей в дизайн платформы; - создание удобной contribution модели; - прозрачные дизайн принципы и описанные стандарты; - сбор детальной информации об использовании платформы; - налаживание цепочек обратной связи; - качественная документация; - продуманные инженерные практики в области качества и Continuous Delivery… Рекомендую посмотреть отличный доклад с практическим отчетом о построении платформы акселераторов для 120+ команд. Вот для чего на самом деле должны выделяться платформенные команды. :) https://youtube.com/watch?v=7ji6DQ6COx0&feature=sharec
    Building Spring Boot based modular libraries for 120 teams our findings by Jacek & Fabio

    Spring I/O 2023 - Barcelona, 18-19 May Speakers: Jacek Kaczmarek / Fabio Pezzoni Slides: https://2023.springio.net/docs/slides/building-spring-boot-based-modular-libraries-for-120-teams-our-findings-springio23.pdf Modular libraries developed collaboratively with the Ocado Technology developer community to help build unified, coherent, safe, and scalable microservices are currently used by more than 120 teams and 400 production applications (and growing). As the team who has overall ownership of the libraries we would like to share our experience of building such software, including topics like: -Why they exist and how we avoided building “a framework on top of Spring Boot”, so that developers still feel that they write Spring apps, not “vendor” apps -Design practices like: what makes a good module, how we balance architecture characteristics, how we structure @Conditions etc. -Engineering practices and routines: releasing 200+ times a year, making upgrades to new Spring releases easier for users by taking “small steps” (Renovate automation practice sharing, Full CD etc.) -Community building including how we balance contribution, communication and engagement/user-happiness while retaining ownership by the custodian team -Leveraging platform engineering knowledge and creating an expert network (including appsecs, application & library engineers, cloud teams) -Active lifecycle of modules including data-driven decisions (detailed feature usage metrics), alternative plans of introduction/removal of features,supportive mechanisms (validators, runtime advisories) and good collaborative upgrade guides.

    YouTube
  • Реклама

  • xpinjection

    ChatGPT-4 становится все удобнее и покрывает больше рабочих сценариев. Летом добавили следующие улучшения: 1. Увеличили лимит до 50 сообщений за 3 часа. Для обычного режима работы этого должно хватать с головой. 2. Добавили новый режим code interpreter, который умеет работать с загружаемыми файлами. Он позволит решать разные математические задачи и обрабатывать данные с помощью на лету создаваемого Python кода. И наконец, работа с картинками! 3. Появились кастомные инструкции, которые заполняются в профиле и действуют автоматически для всех ваших сессий. Решение несколько кривоватое, потому что обычно у людей несколько контекстов и было бы куда удобнее выбирать подходящий из списка. Но хороший первый шаг в сторону упрощения формирования правильного контекста для ваших запросов. Детали можно найти в официальных релиз ноутах: help.openai.com/en/arti…se-notes
    ChatGPT — Release Notes | OpenAI Help Center

    The latest update for ChatGPT

    Openai
  • xpinjection

    У меня наконец появилось чуток свободного времени и я взялся за подготовку полноценного практического тренинга по использованию ChatGPT для Java разработчиков. До этого у меня был поверхностный воркшоп на 1.5-2 часа, который я много раз проводил для своих клиентов. Но в рамках него понятное дело не было глубокого разбора всех примеров и никакой домашки для участников. В полноценном тренинге хочется это исправить. И тут хочу обратиться к вам за помощью и собрать раннюю обратную связь. Что было бы особенно ценно для вас в таком тренинге? Какие моменты хотелось бы осветить более детально? Напишите пожалуйста в комментариях. Это поможет мне в подготовке качественного материала. Запуск первой группы планирую во второй половине августа. Публичный воркшоп возможно проведу в конце июля со сбором донатов на ЗСУ.
  • xpinjection

    #реклама Запал та знання українських айтівців ведуть нас до Перемоги 💪 Приєднуйся і ти до спільноти справжніх профі! Підписуйся на канал щоб не пропустити найцікавіші публікації від нового українського медіа для айтівців — ProIT! Переходь на сайт та дізнавайся: - унікальні практики та інсайти від українських IT-фахівців; - ексклюзивні інтерв’ю з топовими підприємцями та керівниками IT-компаній; - навчальні матеріали джунам та how-to-do статті досвідченим спеціалістам; - новини зі світу IT, докладні огляди інструментів та підходів; усе найцікавіше про рідну айтішечку. 😏 Жодного хайпу. Тільки корисні матеріали та актуальні новини.
  • xpinjection

    Как говорят в IT индустрии, нет такой проблемы, которую нельзя было бы решить еще одним уровнем абстракции. Вот сатирический рассказ на данную тему, который отлично объясняет новинки современной разработки (особенно в мире cloud native). ;) https://factoryfactoryfactory.net/
    Factory factory factory

    Explaining what's wrong with modern software development by allegory.

    factoryfactoryfactory.net
  • xpinjection

    А вот и первая полноценная интеграция AI в IDE от JetBrains. Пока не так много функций как хотелось бы, но первый шаг в верном направлении. Также сразу заложена работа с моделями через API, что позволит поддерживать локальные модели внутри компании и переключаться между разными моделями во время работы. Самым большим упущением на текущий момент является работа только с фрагментами кода, без возможности генерировать или изменять несколько связанных файлов. А это нужно в большинстве типовых задач. Например, добавление нового API эндпоинта затрагивает контроллеры, DTO, сервисы с логикой, доменные сущности, возможно персистентные адаптеры. И ChatGPT отлично умеет это генерировать в рамках одного контекста. Вообще, удивительно что эту проблему не пытались решить раньше с помощью реализации task template. В IDEA с незапамятных времен есть file templates для шаблонизации файлов и live templates для шаблонизации кода. Но нет ничего для шаблонизирую группы связанных изменений в рамках решения типовых задач. И пока этот барьер не перешагнули. :( #idea #ai
  • xpinjection

    #реклама #job На фоне общего кризиса на рынке работы в IT, смотрите какую я вам классную вакансию принес в продуктовую компанию! :) Ми американський стартап у сфері надання послуг бізнесу в медиціні, фінансах, освіті. Шукаємо Senior JS/TS React розробника, який очолить FE напрямок у команді. Ви будете відповідати за FrontEnd частину проєкту - прийняття дизайнерських і архітектурних рішень, вибір технологій, і звісно, беспосрередньо за розробку. Ідея продукту Генерації інсайтів для компанії шляхом аналізу комунікацій співробітників з клієнтами через різноманітні канали, наприклад, месенджери такі як, WhatsApp, за допомогою LLM та Generative AI. Переваги Робота напряму з нами без outsourse посередників Невелика команда, з простою і ефективною комунікацією. Відсутність складної ієрархії менеджерів, деректорів, архітекторів. Можливість обирати технології, підходи, практики. Шанс долучитися до проєкту на ранніх етапах і відповідати у майбутньому за свої дизайнерські і архітектурні рішення, а не за чужі. Філософія і цінності команди розробників Ми хочемо побудувати невелику, професійну команду людей, які вболівають за продукт, його якість та ефективність, комаду, яка буде мати свободу у прийнятті тенічних рішень, але і відчувати відповідальність за ці рішення. Tech stack JS/TS, React, NestJS, Python, OpenAI, AWS, Serverless. За деталями обращайтесь: Telegram: @mrachkovskyi Email: [email protected]
  • xpinjection

    Если вы разрабатываете на Java, то видео доклада в этом посте точно расширит ваш кругозор. Java выбирают даже не за язык, а скорее за огромную экосистему, в которой разработчики могут найти готовые решения для практически любых задач. Эту экосистему важно знать. В докладе рассматривается большой список библиотек из мира Java для решения конкретных прикладных задач. Если вы не разрабатываете на Java, но знаете Java разработчиков, поделитесь с ними этим видео. Они точно скажут вам спасибо! :) #Java https://youtube.com/watch?v=ABm0KhsZJ0c&feature=share9
    Java's Hidden Gems: Tools and Libraries by Johan Janssen

    For more info on the next Devoxx UK event 👉 www.devoxx.co.uk This session is a whirlwind tour of many lesser known, but very interesting, Java tools and libraries. We'll have a sneak peak at dozens of tools to improve security, builds, architecture, tests and other areas. After this session you'll surely have learned something new, which you can further investigate whenever you want to apply it.

    YouTube
  • xpinjection

    Java разработчики давно ждут релиза проекта Loom, который принесет в Java легковесные виртуальные потоки. Улучшит ли это характеристики веб приложений, которые под капотом используют веб сервера? Размышления на этот счет смотрите в этом докладе со Spring I/O. #java https://youtu.be/rly6U0yT5Kg
    Preparing web applications for Loom by Mark Thomas @ Spring I/O 2023

    Spring I/O 2023 - Barcelona, 18-19 May Slides: https://people.apache.org/~markt/presentations/2023-05-18-loom-web-applications.pdf The initial implementation of the Servlet specification used blocking I/O. Over time, and to increase scalability, containers switched to non-blocking I/O internally and later the Servlet specification introduced the asynchronous API with associated access to non-blocking I/O for applications. The latest development that aims to provide further scalability improvements is Project Loom from the OpenJDK project. Loom aims to deliver features that support, amongst other things, easy-to-use, high-throughput, lightweight concurrency. Using Apache Tomcat as a basis, this session will start with a brief review of the history of the key scalability improvements that have taken place over the life of the Servlet specification before going on to examine what Loom has to offer for web applications built on the Servlet specification. The possibilities for Loom will be examined both at the container level and at the application level. This will be supported with data generated by a range of experiments undertaken using Loom and Apache Tomcat. While benchmarks can only ever provide guides to what you might expect for the performance of a real application, this session will provide you with the basis of what you need to determine what Loom might be able to offer for your applications and where to start with your own performance testing so you can quantify those benefits.

    YouTube
  • xpinjection

    #реклама Шукаєте надійне джерело інформації для професійного росту та розвитку? Тоді пропонуємо приєднатись до Телеграм каналу компанії EPAM Ukraine! 🤗 Тут ви знайдете анонси заходів по різним напрямам, актуальні вакансії та анонси свіжих дописів із блогу компанії з корисними порадами та кращими практиками від експертів. Канал створено саме для тих, хто вже має досвід в IT-галузі та прагне подальшого професійного розвитку. До речі, із актуального для спеціалістів зі сфери автоматизації – на каналі як раз запостили анонс вебінару, що відбудеться 15 червня🎙 Будуть говорити, звісно ж, про штучний інтелект 🙂 А саме “AI для тестувальника. Загроза чи помічник?”. Участь безкоштовна, посилання на реєстрацію в останньому дописі на каналі 👉 https://t.me/epamukraine
    EPAM Ukraine Career

    Тут ми ділимося актуальними вакансіями, інтерв’ю з фахівцями й думками експертів, а також цікавими кейсами та корисними порадами. Приєднуйтеся, щоб отримувати сповіщення про заходи EPAM: вебінари, мітапи, конференції тощо. https://epa.ms/epam-ua-career

    Telegram
  • xpinjection

    #реклама #java #конференции Кто пропустил крупные международные конференции, не упускайте возможность принять участие в онлайн конференции из Украины. Анонс ниже по тексту. Приєднуйся до безкоштовної онлайн конференції зі стеку технологій Java - Stage of Java❗️ Буде максимально корисно, адже ми підготували для тебе: 📜2 потоки доповідей 📜Виступи 9 кращих міжнародних експертів, (з Red Hat, ZUP та інші) які будуть ділитися своїми кейсами та знаннями Приєднуйся, щоб: ✅Послухати та прокачати знання з продукту ще більше ✅Дізнатися про нові інструменти ✅Поставити запитання спікерам Підвищуй кваліфікацію! І все це безкоштовно! Коли? 26 травня Де? Online Реєстрація 👉 https://bit.ly/41SJOUl
  • xpinjection

    На этой неделе в Барселоне проходит юбилейная конференция Spring I/O. На кейноуте представители команды разработки Spring презентовали планы на ближайшие полгода: поддержка виртуальных потоков в Spring WebMvc, быстрый рестарт JVM из чекпойнта, улучшения в поддержке нативных образов и много чего еще интересного. А Джош Лонг провел живое демо улучшений девелоперского опыта в Spring Boot 3.1. https://youtu.be/IgmeFeTU1a4
    Spring I/O 2023 - Keynote

    Spring I/O 2023 - 18-19 May Juergen Hoeller, Sébastien Deleuze, Alina Yurenko, Josh Long

    YouTube
  • xpinjection

    Хорошие новости для регулярно занимающихся самообразованием. Вчера в открытый доступ выложили видео всех докладов прошедшей на прошлой неделе конференции Devoxx UK. Там много интересного на тему Java, k8s, безопасности, архитектуры, тестирования и т.д. Приятного просмотра! youtube.com/playlis…playlist
  • Реклама

  • xpinjection

    А кто уже перевел свои Spring Boot микросервисы на версию 3.0.x? Через неделю выйдет версия 3.1.0 и там будет пачка классных улучшений интеграции с TestContainers (появился даже выделенный модуль), а также возможность легко стартовать локально с Docker Compose. Найденные дефекты новой мажорной ветки уже исправили и можно будет смело мигрировать. Делитесь опытом миграции в комментариях.
  • xpinjection

    А теперь к более серьезным новостям из области практического применения ChatGPT. За последние 2 недели я провел много интересных экспериментов. Начнём с самого впечатляющего. Оказалось, что ChatGPT очень хорош в создании или исправлении OpenAPI спецификаций. Особенно круто работает его «понимание» доменных сущностей и генерация структур данных и документации без необходимости задавать детальный контекст. То есть, вы описываете доменный смысл API и минимальную информацию о данных, а на выходе получаете прекрасную OpenAPI спеку. Процесс со всеми корректировками занимает 5-10 минут. Не менее крутым оказалось «причесывание» корявого API. Как известно, разработчики ленятся документировать API, добавлять примеры, расставлять атрибуты обязательности полей, описывать все варианты ответов и в результате API выглядит кривым и непонятным для интеграции и тестирования. ChatGPT способен очень быстро исправить эти проблемы и дополнить API всем необходимым. А потом еще и сгенерировать изменения в коде, чтобы генерация спеки давала тот же результат. 2 часа заняло у меня «причесать» API для клиента в достаточно большой системе на 100+ эндпоинтов. Я начал активно проводить воркшопы по использованию ChatGPT у клиентов и стараюсь все показывать на релевантных примерах. На одном из воркшопов мы просто достали из бэклога достаточно типовую задачу с оценкой 2 дня и сделали ее полностью за 1 час с помощью ChatGPT: API -> API тесты -> реализация эндпоинта на Spring Boot в гексагональном стиле -> тесты на адаптеры -> модульные тесты на бизнес логику -> бизнес логика -> рефакторинг -> подготовка PR. Еще одно натуральное и очень полезное применение нашлось в области подготовки к собеседованию. Формулируешь контекст вакансии, требования к кандидату, что хотелось бы проверить на собеседовании, а потом генерируешь списки вопросов по каждому топику в ширину и глубину. И на собеседовании ты имеешь готовые вопросы для всех сценариев. Время подготовки 10-15 минут. Последнее на сегодня использование касается проведения ретроспектив. ChatGPT отлично справляется с задачей генерации детальной структуры ретроспективы под конкретный контекст и цель, с таймингом и инструкциями для фасилитатора. Отличный инструмент для начинающих. Но я обычно четко знаю что я и как хочу делать на ретро. Поэтому эксперименты касаются упрощения ретро для команды и расширения поля зрения. Вместо генерации карточек на какую-то тему можно с помощью ChatGPT быстро сгенерировать полный набор опций и попросить людей выбрать наиболее актуальные для них. То же самое можно делать на этапе генерации идей улучшений по какой-то области. Сначала спрашиваем ChatGPT и потом обсуждаем эти варианты с целью либо подобрать наиболее подходящий, либо лучше понять проблему и сгенерировать свой лучший вариант. Мне кажется, это может вывести командные ретроспективы на совершенно новый уровень и снизить зависимость от экспертности SM и уровня зрелости команды. А у вас есть новые интересные кейсы? Делитесь в комментариях!
  • xpinjection

    Пропустил пятничный пост. Но лучше поздно чем никогда! Сертификации, такие сертификации…