Обновить
256K+

Java *

Объектно-ориентированный язык программирования

203,46
Рейтинг
Сначала показывать
Порог рейтинга
Уровень сложности

Работа с информерами Java kubernetes client

Уровень сложностиСредний
Время на прочтение22 мин
Охват и читатели7K

Привет, меня зовут Сергей, старший разработчик 80 уровня компании DataBlend (группа компаний GlowByte). Наша команда занимается разработкой продукта ClusterManager, который управляет поведением и мониторит состояния таких продуктов, как GreenPlum, ClickHouse, DWH, Nova и т. д.

Около полутора лет назад у нас появилась необходимость собирать и отображать в удобном виде и разрезах метрики и данные об объектах кластеров Kubernetes, в которых развернут продукт Nova.

Для этих целей был выбран официальный kubernetes‑client для Java.

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

Лучше всего для этой цели подходит механизм информеров kubernetes‑client.

И сейчас мы посмотрим, с какой стороны их лучше начинать есть.

Читать далее

Устойчивость микросервисных Spring приложений: роль аннотации @Transactional в предотвращении утечки соединений

Уровень сложностиПростой
Время на прочтение5 мин
Охват и читатели12K

В новом переводе от команды Spring АйО вы узнаете, как аннотация @Transactional помогла решить проблему с утечкой соединений и обеспечила стабильность системы.

Читать далее

Мониторинг бизнес-процессов в Camunda 8. Настраиваем дашборды и визуализируем данные

Уровень сложностиСредний
Время на прочтение3 мин
Охват и читатели11K

Привет, Хабр. Я Вероника, java-разработчик, который юзает Camunda без слез. Здесь моя первая статья, в которой мы переложили BPMN диаграмму на java код и реализовали небольшой процесс. 

На этот раз пишу о мониторинге бизнес-процессов. Давайте представим: мы зарелизились в прод. Всё работает прекрасно. Но тут приходит бизнес, которому нужны графики, диаграммы и отчеты. Что делать?

Читать далее

Java Digest #14

Уровень сложностиПростой
Время на прочтение6 мин
Охват и читатели6.9K

Всем привет! 👋 👋 👋 👋 Мы — Java-разработчики Т-Банка: Андрей, Арсений, Константин и Константин. Собираем интересные новости, статьи, туториалы и другие материалы из мира Java-разработки и делимся этим со всем сообществом.

В этом выпуске — самые свежие новости из мира Java и сопутствующих технологий. JDK 23 изменяет политику обработки аннотаций, требуя дополнительной опции командной строки. Вышла новая версия Spring Framework 6.2.0-M4 с улучшениями в ядре, тестировании и поддержке Protobuf 4.x. Maven Central вводит ограничения на загрузку для крупных проектов. Новые сборки раннего доступа JDK 24 и Leyden, а также еще много всего интересного. Приятного чтения!

Читать выпуск 14

Liquibase + Spring Boot: настройка и написание миграций баз данных

Уровень сложностиПростой
Время на прочтение11 мин
Охват и читатели33K

Написание скриптов миграции трудоёмкий процесс. И если есть возможность это дело автоматизировать – этим нужно пользоваться!

В этом гайде я расскажу как подключить и настроить Liquibase в Spring Boot приложении, сгенерировать скрипты инициализации и миграции схемы БД, а также дополнить уже существующие changelog файлы новыми скриптами миграции вместе с Amplicode!

Читать далее

Markdown в IntelliJ IDEA как отдельный вид искусства. Рисуем диаграммы и вызываем bash команды

Уровень сложностиПростой
Время на прочтение3 мин
Охват и читатели26K

Spring разработчики часто пишут документацию и README/HELP файлы к своим приложениям. Часто это делается в Markdown файлах. Markdown плагин в IntelliJ IDEA распознает файлы, предоставляет специальный редактор с подсветкой, автокомплитом и форматированием, а также дает визуальное отображение в панели предварительного просмотра в реальном времени. Кроме стандартной функциональности в IntelliJ IDEA есть пару уникальных фич, которые команда Spring АйО хотела бы выделить особенно.

Читать далее

Почему похудеть возможно только с помощью программирования?

Уровень сложностиСредний
Время на прочтение7 мин
Охват и читатели23K

В этой статье будет две части: техническая, про приложение на Java, написанное для AWS, и демагогически разглагольствующая про похудение, мотивацию и как это связанно с программированием. Если вам интересна только техническая часть, то можете прыгнуть к парраграфу "Техническая часть", а если нет, то приглашаю к части рассужденческой:

Читать далее

Новый компилятор K2 в Kotlin. Часть 2. Гайд по миграции

Уровень сложностиСредний
Время на прочтение7 мин
Охват и читатели7.9K

В этой статье эксперт сообщества Spring АйО – Михаил Поливаха рассмотрит процесс миграции с компилятора Kotlin старой версии на новый компилятор K2. В предыдущей статье Михаил рассмотрел компилятор K2, а здесь сфокусировался только на процедуре миграции.

Читать далее

Смена профессии в 33: стать разработчиком за 2 года

Уровень сложностиПростой
Время на прочтение10 мин
Охват и читатели32K

Привет! Хочу поделиться своим опытом становления Java разработчиком.

Немного об авторе: на момент написания статьи мне 36 лет, в ИТ-сфере — с 2009 года и начинал я с системного администрирования продуктов Microsoft(сервера, БД, приложения) в компании АО «Национальный центр вертолётостроения им.М.Л.Миля и Н.И.Камова».

Программирования в моей работе не было, из отдалённо схожего могу отметить владение разве что скриптовыми языками типа PowerShell, Bat, vbs, которые активно использовал при работе с системой управления ИТ-инфраструктурой MS System Center Configuration manager (теперь Endpoint).

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

Профильное образование «Прикладная информатика» я получил только в 2017 году, зато во время работы в АО «НЦВ им.М.Л.Миля и Н.И.Камова» успел пройти более 20 курсов по вышеуказанным продуктам и не только.

Мысли стать программистом начали посещать году в 2018, но постоянное повышение по карьерной лестнице, вместе с увеличивающейся на глазах зарплатой делали своё дело и оставляли меня в зоне комфорта — так мне тогда казалось.

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

В конце 2020 года такое положение дел меня перестало устраивать и я нашёл себе самый «жирный», как мне показалось на тот момент, курс по разработке на языке Java.

Что я нашёл?

Почему String Templates не будет в Java 23?

Уровень сложностиПростой
Время на прочтение8 мин
Охват и читатели14K

Неожиданный поворот в поддержке StringTemplates в JDK 23. Команда Java решила отказаться от функциональности, которая есть в большинстве современных языках программирования. Почему так произошло? Кажется, из-за слишком большой гибкости, которую заложили на ранних этапах разработки, а также, нежелания просто сделать “синтаксический сахар” для строковой интерполяции. А чего же хотели разработчики на самом деле? Нам кажется, что все-таки - последнего. Сообщество Spring АйО представляет перевод почтовой переписки Гэвина Бирмана и Брайана Гоеца, в которой решается судьба Spring Templates. 

Читать далее

Присматриваемся к Kafka tiered storage — 2

Уровень сложностиСредний
Время на прочтение23 мин
Охват и читатели2.7K

Добрый день, уважаемые ИТ-ники. На связи Михаил Голованов. Продолжаем увлекательные эксперименты с tiered storage в Apache Kafka. В этот раз починим то, что не смогли починить ранее (сборка реализации AivenOpen) и поэкспериментируем с реализаций для Minio S3 в качестве бекэнда. Как и в прошлый раз, теория будет перемежаться практикой.

Поехали

Запуск встроенного LDAP на базе OpenDJ в Spring Boot приложении

Время на прочтение4 мин
Охват и читатели3.9K

В этой статье мы настроим Spring Boot приложение со встроенным LDAP на базе LDAP сервера с открытым исходным кодом OpenDJ. Это может понадобиться как для тестов, так и для продуктивного использования. Например, для аутентификации через LDAP.

Читать далее

Как расширить JPA для работы с PostgreSQL

Уровень сложностиСредний
Время на прочтение4 мин
Охват и читатели12K

Всем привет! Меня зовут Антон, я — архитектор компании ITFB Group. Пережив несколько проектов, на которых встречается стек PostgreSQL с использованием связки PostgreSQL + JPA, мне удалось устранить большое количество проблем, связанных с неоптимальной интеграцией функциональности PostgresSQL в Java-приложения. В этой cтатье мы максимально подробно разберем, как можно настроить JPA для эффективной работы с PostgreSQL. Всем, кому интересна эта тема, добро пожаловать под кат)

Читать далее

Ближайшие события

Что нового в документации YDB во втором квартале 2024 года

Уровень сложностиПростой
Время на прочтение4 мин
Охват и читатели3.1K

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

Читать далее

Мониторим и нагружаем приложения Jmix

Уровень сложностиСредний
Время на прочтение15 мин
Охват и читатели5.4K

Инструменты мониторинга работы приложений могут быть полезны не только DevOps’ам, но и разработчикам для исследования производительности приложения в поиске, например узких мест в его работе, поэтому в данной статье мы не только настроим мониторинг для Jmix-приложения, но и подготовимся к его синтетическому нагрузочному тестированию. Особенностью платформы Jmix в силу того, что она использует фреймворк Vaadin, является тот факт, что работа UI интегрирована с бекендом, но это также значит и то, что и метрики можно использовать прозрачно, т.е. замерять ими работу интерфейсного слоя. 

Читать далее

Volatile, Lock-free, Immutable, Atomic в Java. Как понять и начать использовать

Уровень сложностиСредний
Время на прочтение6 мин
Охват и читатели30K

Привет, меня зовут Денис Агапитов, я руководитель группы Platform Core компании Bercut.

Сегодня хочу поговорить об одном из lock-free алгоритмов в Java. Разберём как с ним связано ключевое слово volatile и паттерн immutable.

Читать далее

Spring Boot Starter: практически, принципиально и подробнее. Часть 2

Время на прочтение10 мин
Охват и читатели16K

Продолжаю рассказывать о Spring Boot Starter. В прошлой части мы создали принципиальное решение, которое позволит запустить стартер как подключаемую к другому Spring-Boot-приложению библиотеку.

В этой части мы разберемся с зависимостями, стандартными и кастомными аннотациями.

Читать далее

Разработка ПО действительно так сложна? Или это мы делаем ее такой?

Уровень сложностиПростой
Время на прочтение9 мин
Охват и читатели23K

В новом переводе от команды Spring АйО, Siva Katamreddy, девелопер адвокат в AtomicJar (Testcontainers), поделился своими мыслями о популярных в наши дни TDD, Clean, Hexagonal, Onion и Ports & Adapters. Он также постарался ответить на вопрос, который, возможно, волнует не только его: "Действительно ли мы, разработчики, так любим всё усложнять?".

Читать далее

Middle-starter-pack по spring data

Уровень сложностиСредний
Время на прочтение12 мин
Охват и читатели4K

Особенности использования Transactional в SpringBoot приложении (разбор типовых ошибок среднестатистического разработчика).

Читать далее

Настраиваем TLS контекст. КриптоПро в помощь

Уровень сложностиПростой
Время на прочтение17 мин
Охват и читатели13K

Эта публикация – практический кейс c кратким туториалом по реализации TLS-соединения, на основе российских стандартов шифрования, основанных на компонентах КриптоПро (CP). Статья не содержит рекламы или попытки сподвигнуть к выбору конкретных компонентов. Я столкнулся с задачей реализации шифрованного подключения к системам бюро кредитных историй (БКИ) в части оценки платежеспособности физических лиц. У меня было ограничение - необходимо было использовать КриптоПро (CP). В процессе реализации задачи открыл для себя несколько интересных моментов. Процесс их "открытия" был чарующим и загадочным. Чары мне обеспечил CP, а с загадками помогали службы поддержки БКИ и CP. Этой статьей хочу помочь сэкономить время и сделать прозрачным процесс реализации шифрованного подключения. В начале статьи дам небольшой теоретический экскурс. Если Вас интересуют детали реализации, то сразу переходите к разделу "Установка и настройка CP компонентов", код, приведенный в статье выложен тут. Приятного чтения.

Читать