Мониторинг производительности приложений в Broadcom DX APM — анонс вебинара

Единый агент для всех популярных технологий, динамическое отслеживание изменений инфраструктуры, низкий оверхед, искусственный интеллект, оценка эффективности релизов, контекстный мониторинг, мониторинг реальных транзакций — обо всём этом и многом другом вы узнаете на вебинаре, посвящённому инструменту для мониторинга производительности приложений и инфраструктуры под ними Broadcom DX APM. Вебинар состоится 5 марта …

[Перевод] Краткое сравнение JUnit и TestNG

JUnit и TestNG, несомненно, являются двумя наиболее популярными фреймворками для модульного тестирования (юнит-тестирования) в экосистеме Java. Хотя JUnit послужил вдохновением для TestNG, второй имеет ряд отличий и, в отличие от JUnit, работает для функционального и более высоких уровней тестирования. В этой статье мы обсудим и сравним эти фреймворки, рассмотрев их …

Еще раз о регекспах, бэктрекинге и том, как можно положить на лопатки JVM двумя строками «безобидного» кода

Раннее утро, десятая чашка кофе, безуспешные попытки понять почему ваше клиентское (или еще хуже – серверное) java-приложение намертво зависло при вычислении простого регекспа на небольшой строке… Если подобная ситуация уже возникала в вашей жизни, вы уже наверняка знаете про бэктрекинг и темную сторону регулярных выражений. Остальным – добро пожаловать под …

[Перевод] Реализация мультиарендности с использованием Spring Boot, MongoDB и Redis

В этом руководстве мы рассмотрим, как реализовать мультиарендность в Spring Boot приложении с использованием MongoDB и Redis. Читать далее from Java – Объектно-ориентированный язык программирования https://ift.tt/2MynO0n

Pattern matching в Java 8

Многие современные языки поддерживают сопоставление с образцом (pattern matching) на уровне языка. Язык Java не является исключениям. И в Java 16 будет добавлено поддержка сопоставление с образцом для оператора instanceof, как финальной фичи. В будущем надеемся, что сопоставление с образцом будем расширено и для других языковых конструкций. Читать дальше → …

Шаблон Kotlin микросервисов

Для разработчиков не секрет, что создание нового сервиса влечет за собой немало рутиной настройки: билд скрипты, зависимости, тесты, docker, k8s дескрипторы. Раз мы выполняем эту работу, значит текущих шаблонов IDE недосточно. Под катом мои попытки автоматизировать все до одной кроссплатформенной кнопки “сделать хорошо” сопровождаемые кодом, примерами и финальным результатом. Если …

[Перевод] Как использовать шаблон Circuit Breaker в приложении Spring Boot

В этом посте я покажу, как мы можем использовать шаблон Circuit Breaker в приложении Spring Boot. Когда я говорю «шаблон Circuit Breaker» имеется в виду архитектурный шаблон автоматического выключателя. Netflix опубликовал библиотеку Hysterix для работы с автоматическими выключателями. В рамках этого поста я покажу, как мы можем использовать шаблон автоматического выключателя, используя библиотеку resilence4j в приложении …

Как катать релизы несколько раз в день и спать спокойно. Доклад Яндекса

Высокие темпы разработки сопряжены с рисками, влияющими на отказоустойчивость и стабильность — особенно если хочется экспериментировать и пробовать разное. Разработчик Маркета Мария Кузнецова рассказала о релизном цикле своей команды от и до, а также о мониторингах и других вещах, позволяющих обновлять сервис со скоростью три релиза в день. — Всем …

[Перевод] Использование Google Protocol Buffers (protobuf) в Java

Недавно вышло третье издание книги “Effective Java” («Java: эффективное программирование»), и мне было интересно, что появилось нового в этой классической книге по Java, так как предыдущее издание охватывало только Java 6. Очевидно, что появились совершенно новые разделы, связанные с Java 7, Java 8 и Java 9, такие как глава 7 …

Кастомная (де) сериализация даты и времени в Spring

Представьте довольно распространённую ситуацию: ваше приложение взаимодействует с клиентами, которые находятся в разных часовых поясах. Вам часто приходится работать с датами, а для корректной работы системы, они передаются с указанием часового пояса отправителя. При этом, вам нужно: 1)      При получении запроса привести дату к серверному времени и сохранить в базу …

[Перевод] Запись событий Spring при тестировании приложений Spring Boot

Одна из основных функций Spring – функция публикации событий. Мы можем использовать события для разделения частей нашего приложения и реализации шаблона публикации-подписки. Одна часть нашего приложения может публиковать событие, на которое реагируют несколько слушателей (даже асинхронно). В рамках Spring Framework 5.3.3 (Spring Boot 2.4.2) теперь мы можем записывать и проверять все опубликованные события ( ApplicationEvent) при …

[recovery mode] Лучший язык программирования

Этот вопрос на первый взгляд звучит вызывающе, едва ли не табуирован, часто всплывает заезженный ответ, что все субъективно и зависит от задачи. Так ли это на самом деле? Возвав к логике и здравому смыслу, попытаемся выявить наиболее объективные критерии сравнения языков программирования. Кто не боится разочароваться, увидев свой любимый язык …

Программируемые NER компоненты

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

Application performance management (APM) от Broadcom для мониторинга производительности приложений (включая мобильные)

Всем привет! В этой статье расскажем о возможностях мониторинга производительности приложений одного из лидеров квадранта Gartner c APM-решениями — Broadcom. Appdynamics, Dynatrace и New Relic достаточно известны на российском рынке. Broadcom чуть менее знаком, этакая серая лошадка, однако, имеет не уступающий всем троим функционал мониторинга приложений. А использование APM-решения от …

Java Core для самых маленьких. Часть 3. Переменные

В этой статье мы говорим о переменных и связанных с ними темами! Научимся создавать переменные и константы.Узнаем что такое инициализация переменных.Поговорим о литералах.Выполним преобразование и приведение типов данных Читать далее from Java – Объектно-ориентированный язык программирования https://ift.tt/3bnMctY

Project Loom: Современная маcштабируемая многопоточность для платформы Java

Эффективное использование многочисленных ядер современных процессоров — сложная, но всё более важная задача. Java была одним из первых языков программирования со встроенной поддержкой concurrency. Ее concurrency-модель, основанная на нативных тредах, хорошо масштабируется для тысяч параллельно выполняющихся стримов, но оказывается слишком тяжеловесной для современного реактивного программирования с сотнями тысяч параллельных потоков. …

Настройка GitLab CI CD для Java приложения

Из-за прекращения поддержи Bitbucket Setver пришлось переехать на GitLab. В Bitbucket Server не было встроенного CI/CD, поэтому использовали Teamcity. Из-за проблемы интеграции Teamcity с GitLab, мы попробовали GitLab Pipline. И остались довольны. Читать дальше → from Java – Объектно-ориентированный язык программирования https://ift.tt/37tYsrE

Книга «gRPC: запуск и эксплуатация облачных приложений. Go и Java для Docker и Kubernetes»

Привет, Хаброжители! Год от года обретая новых сторонников, облачно-ориентированные и микросервисные архитектуры стали основой современного IT. Такой переход значительно повлиял и на структуру коммуникаций. Теперь приложения часто подключаются друг к другу по сети, и это происходит с помощью технологий межпроцессной коммуникации. Одной из наиболее популярных и эффективных технологий такого рода …

Partial Update library. Частичное обновление сущности в Java Web Services

В структуре веб-сервисов типичным базовым набором операций над экземплярами сущностей(объектами) является CRUD (Create, Read, Update и Delete). Этим операциям в REST соответствуют HTTP методы POST, GET, PUT и DELETE. Но зачастую у разработчика возникает необходимость частичного изменения объекта, соответствующего HTTP методу PATCH. Смысл его состоит в том, чтобы на стороне …

Java Core для самых маленьких. Часть 2. Типы данных

Java – строго-типизированный язык программирование, что это такое?В Java есть примитивные типы данных, а это что такое?Каждый примитив обладает своим размером и диапазоном значений. Обо всем этом вы узнаете в этой статье про типы данных в Java! Читать далее from Java – Объектно-ориентированный язык программирования https://ift.tt/2OGbtI8

Back to Top