Выходя за рамки JUnit. Создаем сложные расширения

Переход от JUnit4 к новой версии во многом изменил способ расширения функциональных возможностей тестов. Напомню, что в JUnit4 основным механизмом расширения были правила (Rule), которые могли обернуть выполнение теста в дополнительную логическую обработку (например, в реализации абстрактного класса ExternalResource встраивали два дополнительных вызова методов инициализации (который также мог возвращать объект …

Простой пример написания Dockerfile. Использование многоэтапной сборки

Всем привет! В данной статье хочу показать простой пример написания Dockerfile, объяснить как это все работает, а также показать на примере использование многоэтапной сборки. Для понимания данной статьи необходимы минимальные знания Docker, а также для использования примеров – установленный Docker Desktop локально на компьютере. Вначале немного теории. Dockerfile – это …

Tarantool Data Grid + Java = …

В последнее время всё большую популярность набирает Tarantool — платформа in-memory вычислений с гибкой схемой данных, включающая в себя NoSQL-базу данных и сервер приложений. В этой статье я хочу рассказать об одной из его реализаций — Tarantool Data Grid (TDG). Читать далее from Java – Объектно-ориентированный язык программирования https://ift.tt/c2KJP1v

From Zero to Hero: определите ваш уровень решения LeetCode задач от 1 до 5

В этой статье я хочу написать про мой опыт взаимодействия с платформой LeetCode, и описать свою подготовку к интервью в FAANG подобные компании путем разбиения ее на уровни. А какой у вас уровень? Читать далее from Java – Объектно-ориентированный язык программирования https://ift.tt/Q6oIu9C

Retry or No?

В этой статье разберем вариант реализации функционала перезапроса сообщений из семейства resilience шаблонов. Мы поговорим о retry. Точнее обсудим: 1. Что такое устойчивость и какое влияние на нее имеет retry? 2. Анализируем, где применять retry; 3. Реализуем retry; 4. Пишем unit-тесты с wiremock; 5.Делаем starter; Читать from Java – Объектно-ориентированный …

[Перевод] Устранение неисправностей в приложении Java под Kubernetes

❯ Когда взаимодействуют разработчики и операторы Предположим, вы написали приложение на Java и развернули его в Kubernetes в среде разработки. Рано или поздно это приложение уйдёт в продакшен, и вам придётся узнать, каково оно на деле. Затем начинают возникать новые неожиданные проблемы. Причин у таких проблем может быть множество: слишком …

Поломали сайт Альфа-Банка в «прямом эфире»: записи митапа Alfa Backend Stories Meetup #1

6 декабря мы провели митап Alfa Backend Stories с общей темой «отказоустойчивость»: поделились «весёлыми» историями про падения и убытки, о том, как смягчать последствия этих падений, как сэкономить, переехав с одной БД на другую, «в прямом эфире» (почти) поломали сайт Альфа-Банка. Для тех, кто не смог прийти — прикладываем записи …

Интеграция Primefaces в приложение на Spring Boot. Часть 3 — динамическое обновление контента страницы

Описывается пример интеграции библиотеки компонентов пользовательского интерфейса Primefaces, построенной на основе фреймворка JavaServer Faces (JSF), в MVC приложение на Spring Boot. Первая часть Вторая часть Читать далее from Java – Объектно-ориентированный язык программирования https://ift.tt/1UOiC8K

Proxyless Service Mesh в gRPC Java-сервисах за 4 шага

Привет, Хабр! На связи Максим Чудновский @chudnovskiyи Александр Козлов @ZDragonиз СберТеха. Мы занимаемся развитием Platform V Synapse — облачной платформы, которая объединяет множество интеграционных шаблонов, в том числе классический стиль интеграции request-response через Service Mesh. В этой статье хотим поговорить о Service Mesh в gRPC Java-сервисах: чем полезен подход, как …

Spring Cloud Config и обновление компонентов в рантайме

Появилась потребность в том, чтобы определенные компоненты сервисов умели подтягивать обновленную конфигурации и работать на основе этой конфигурации, т.е. конфигурация приложения меняется уже после запуска сервиса. Я проведу небольшой обзор подходов, которые нашел применительно к такой задаче и то, на чем остановился. На проекте используется spring boot 2.6.4 и kotlin …

[Перевод] Топ-15 шпаргалок для программистов и WEB-разработчиков

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

Не бойтесь использовать Gradle

Дорогие junior и все, кто занимается copy-past конфигов Gradle. В этой статье я хочу простым языком рассказать вам о gradl’овой конфигурации сборки вашего проекта, чтобы вы не боялись использовать Gradle. Читать далее from Java – Объектно-ориентированный язык программирования https://ift.tt/senBtCj

Как мы нашли применение Chat GPT в нашем IT продукте (игре для разработчиков)

Последние две недели интернет пестрит рассказами о всемогущей Chat GPT и ее возможностях. Вот и мы решили не оставаться в стороне и рассказать, как нашли применение для такой перспективной технологии, и сэкономили сотни человека часов для команды. Читать далее from Java – Объектно-ориентированный язык программирования https://ift.tt/VyoSgXH

Как я участвовал в создании информационных систем для медицины

В 1987-м году я окончил с красным дипломом приборостроительный факультет челябинского политехнического института по специальности “Автоматика и телемеханика”, хотя планировал стать физиком-теоретиком и школу заканчивал в специализированной школе-интернате №18 при МГУ. По распределению попал в специализированное конструкторское бюро и до 1991-го года разрабатывал электронные блоки для бронетанковой техники. До сих …

[Перевод] Использование SEDA со Spring Integration и Apache Camel

SEDA, или Staged Event-Driven Architecture, представляет собой архитектурный стиль, предложенный Мэттом Уэлшем в его докторской диссертации. диссертация. Его основными преимуществами являются масштабируемость, поддержка высококонкурентного трафика и удобство эксплуатации. В этом туториале мы будем использовать SEDA для подсчета уникальных слов в предложении с помощью двух разных реализаций: Spring Integration и Apache Camel. Читать далее from Java – …

[Перевод] Java 20: огромные разреженные сегменты памяти

Знаете ли вы, что можно выделять сегменты памяти, которые больше, чем физический размер оперативной памяти вашего компьютера, и даже больше, чем размер всей вашей файловой системы? Прочтите эту статью и узнайте, как использовать сопоставленные (mapped) сегменты памяти, которые могут быть или не быть «разреженными», и как выделить 64 терабайта разреженных …

Делаем дашборды для Grafana из того, что отдает экспортер метрик Prometheus и автоматизируем это

Столкнувшись с необходимостью сделать новый дашборд в Grafana под много новых метрик (а не добавить, так как готовый из галереи не находится), я сделал небольшое веб-приложение, которое сконвертирует “портянку” с данными метрик в простенький, но доходчивый дашборд со всеми необходимыми метриками. В статье описание работы конвертора и рассказ о некоторых …

Пишем бота-кликера на Kotlin для Lineage 2

Еще не все новогодние салаты были съедены, “Ирония судьбы” уже просмотрена, а до начала рабочей недели еще целая вечность и нужно было придумать себе развлечение на оставшиеся праздники. Предвкушая ностальгию я открыл Lineage 2, одну из самых популярных MMORPG “нулевых” на СНГ пространстве. Однако, самому играть уже не хотелось и …

[Перевод] Управление зависимостями в IntelliJ IDEA

В этом руководстве, в продолжение темы просмотра зависимостей, мы рассмотрим управление зависимостями в IntelliJ IDEA. Мы рассмотрим различные способы добавления зависимостей в ваш проект, а также способы добавления, обновления и удаления зависимостей с помощью Package Search. Читать далее from Java – Объектно-ориентированный язык программирования https://ift.tt/Gy0AJ8o

Повышение электробезопасности

При производстве работ в электроэнергетике желательно обеспечить дополнительный контроль за работой производимой на высоковольтном оборудовании для безопасности работ и последующего анализа действий при несчастном случае. Для выполнения вышеуказанного условия предлагается данная система сбора информации с различных датчиков. Сбор данных происходит с помощью приложения устанавливаемого на сотовый телефон, который может находится …

Back to Top