Как стать автором
Обновить
202.21

Java *

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

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

Полезные фичи в Java для новичков: мой список

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

Привет, Хабр!

В Java никогда не бывает скучно, особенно когда речь заходит о вещах, которые делают нашу жизнь проще и код — чище.

Сегодня я хочу рассказать вам о четырех фичах в Java, которые сам активно использовал в своих проектах и которые, на мой взгляд, заслуживают внимания. Да, это мой личный список, и я не претендую на то, что эти фичи новы или являются последним писком моды. Однако, по моему опыту, они действительно могут упростить жизнь.

И знаете, что самое приятное? Когда коллеги начинают говорить: "А почему я об этом не знал раньше?"

Читать далее
Всего голосов 28: ↑15 и ↓13+6
Комментарии12

И опыт, сын ошибок трудных: обрабатываем ошибки в Spring Boot

Уровень сложностиСложный
Время на прочтение17 мин
Количество просмотров6K

Долгое время разрабатывая микросервисы в разных командах, я сталкивался с типовой задачей: созданием максимально информативного ответа на запрос, когда произошла какая-то ошибка. Особенно это актуально для систем с пользовательским фронтендом, большим количеством интеграций или систем, которые представляют свой API как продукт. Во многих случаях это решалось выдачей сообщения «Ошибка системы» с HTTP-кодом 500. Из раза в раз меня не покидало ощущение, что решению этой задачи не уделяется должного внимания и времени. В текущем проекте нам пришлось пройти все круги ада, изменить несколько подходов и реализаций. И здесь я постарался описать, как это было, и сформулировать выводы, которые мы сделали на каждом шаге решения проблемы.

Читать далее
Всего голосов 8: ↑7 и ↓1+8
Комментарии11

Даже математики ошибаются

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

Мы знаем, что математика — наука точная. Значит ли это, что GeoGebra — программное обеспечение для интерактивного изучения математики — столь же точно? Проанализируем же исходный код проекта с помощью PVS-Studio!

Читать далее
Всего голосов 7: ↑7 и ↓0+8
Комментарии3

Java Digest #15

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

Всем привет! 👋 👋 👋 👋

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

В этом выпуске у нас много материалов, посвященных развитию Java. Коснемся и Leyden, и Valhalla, и Loom, и GC в JDK 23. За прошедший месяц вышло много интересных докладов с последнего JPoint, некоторые из них мы осветили в этом выпуске. А в разделе со статьями собрали много туториалов и обзоров. Dev-контейнеры от JetBrains, реализация Transactional Outbox с использованием Spring Boot, отслеживание вызова Deprecated-методов, история сбоя в Netflix, связанного с виртуальными тредами, — вот далеко не полный список. И на сладкое — пара свежих выпусков подкастов JavaHut и javaswag. Приятного чтения 😉

Читать выпуск 15
Всего голосов 17: ↑17 и ↓0+21
Комментарии5

Истории

Что нового в Amplicode 2024.2

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

Мы рады сообщить, что второй мажорный релиз Amplicode в 2024 году успешно состоялся. В этот релиз вошло большое количество улучшений, исправлений и новых фич. Вот некоторые из них: 

* Gutter Icons для Spring-объектов

* Улучшенная генерация Spring Web тестов

* Поддержка Extends и Include в Docker Compose

* Генерация отдельных HTTP-методов для REST-контроллеров

* Поддержка Kubernetes и Helm

Подробнее о каждом из нововведений рассказали в статье.

Читать далее
Всего голосов 21: ↑20 и ↓1+21
Комментарии3

Состояние Spring в 2024 году

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

Команда Spring АйО перевела важнейший документ для Spring-разработчиков!

В начале июня компания VMWare, владеющая Spring, опубликовала результаты исследования, в котором приняло учатие более 1,500 разработчиков по всему миру. Отчёт получился действительно интересным и всеобъемлющим. Были рассмотрены как базовые темы, такие как выбор архитектурных подходов и типов API, так и продвинутые, такие как компиляция в Native Image и использование Spring вместе с Kubernetes.

Читать далее
Всего голосов 18: ↑18 и ↓0+20
Комментарии5

Портируем ML модели на Java с помощью ONNX

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

Всем привет, меня зовут Евгений Мунин. Я Senior ML Engineer в Ad Tech, а точнее в программатик платформе по доставке Web рекламы.

Сегодня речь пойдет про то, как сделать ML модели, совместимыми с бэк э

Читать далее
Всего голосов 3: ↑2 и ↓1+3
Комментарии4

Нахождение сильно преобладающего элемента последовательности >n/2 (алгоритм большинства голосов Бойера-Мура)

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

Пару статей назад я уже рассматривала один из алгоритмов Бойера-Мура, с помощью которого можно было найти подстроку в строке.

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

Предлагаю сразу использовать его на примере задачи «Majority Element» с leetcode.

Условие здесь: https://leetcode.com/problems/most-frequent-even-element/description/

Кстати, у меня есть телеграм-канал, где пишу подходы к решениям всяких задачек с LeetCode, там больше разборов конкретных задач, чем здесь, потому что не всегда нужна статья. В общем, если интересно - жду здесь - t.me/crushiteasy :)

Возвращаемся к Муру!

Кратко: на вход мы получаем массив, состоящий из чисел. Нужно найти число, которое встречается наибольшее количество раз. 

Не супер очевидно, но это число занимает больше половины элементов массива, т.е.

Читать далее
Всего голосов 9: ↑6 и ↓3+3
Комментарии20

Сдача Spring Certified Professional (2V0-72.22) в 2024 году: Удаленно из России

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

Привет, недавно я сдал сертификацию по Spring Framework от Broadcom. В связи с уходом сертификационных центров из России процесс сдачи экзамена усложнился. В данной статье я расскажу про свой опыт подготовки и поделюсь способом сдачи экзамена удаленно из России.

Читать далее
Всего голосов 5: ↑3 и ↓2+4
Комментарии6

Кэш второго уровня Hibernate для чайников

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

Будучи студентом или стажером, вы наверняка столкнетесь с подобной задачей — включить кэширование сущностей, чтобы сэкономить на обращениях к базе данных. Эта статья ставит перед собой цель упростить эту задачу и подробно показать, как настроить базовый кэш в Hibernate 6.

Читать далее
Всего голосов 11: ↑10 и ↓1+14
Комментарии9

Использование очередей (Queue/Deque) для решения алгоритмических задач на Java

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

Как всегда, сначала немного базовой теории для понимания того, с чем мы имеем дело. 

Queue - однонаправленная очередь, представляет собой структуру данных, которая строится по принципу FIFO (first-in-first-out). Другими словами, чем раньше элемент был добавлен в коллекцию, тем раньше он оттуда будет удален. 

Выжимка по методам:

Читать далее
Всего голосов 8: ↑4 и ↓40
Комментарии16

5 уроков локализации из разработки игры в Telegram

Время на прочтение7 мин
Количество просмотров2.6K

Многие разработчики хотят, чтобы их продукт был доступен максимально широкому кругу пользователей. И локализация на языки целевой аудитории может достаточно положительно сказаться на её росте. Вряд ли в данной статье будет что-то новое для людей, которые собаку съели на локализации, однако постараюсь поделиться максимально полезными советы по реализации для тех, кто только начинает свой путь.

Читать далее
Всего голосов 14: ↑12 и ↓2+15
Комментарии4

Релиз Jmix 2.3: что нового?

Уровень сложностиСредний
Время на прочтение9 мин
Количество просмотров825

Эта статья рассказывает о ключевых обновлениях, которые были включены в недавно опубликованный релиз Jmix 2.3. Полные сведения об изменениях и советы по обновлению проектов можно найти в разделе документации Что нового.

Читать далее
Всего голосов 8: ↑8 и ↓0+10
Комментарии0

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

27 августа – 7 октября
Премия digital-кейсов «Проксима»
МоскваОнлайн
3 – 18 октября
Kokoc Hackathon 2024
Онлайн
10 – 11 октября
HR IT & Team Lead конференция «Битва за IT-таланты»
МоскваОнлайн
25 октября
Конференция по росту продуктов EGC’24
МоскваОнлайн
7 – 8 ноября
Конференция byteoilgas_conf 2024
МоскваОнлайн
7 – 8 ноября
Конференция «Матемаркетинг»
МоскваОнлайн

Генерация HTTP клиентов для Spring Boot приложения по OpenAPI спецификации

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

В новом переводе от команды Spring АйО вы узнаете, как можно сгенерировать код HTTP клиентов для Spring Boot приложения по OpenAPI спецификации, используя плагин openapi-generator для Gradle.

В статье вы найдете:

1. Пошаговую инструкцию по использованию openapi-generator для Gradle

2. Настройки для генератора, которые помогут оставить только нужный код

3. Пример конфигурации сгенерированных Spring-бинов

Читать далее
Всего голосов 13: ↑13 и ↓0+15
Комментарии0

Разработка Java-проекта с ChatGPT-4: от идеи до реализации

Уровень сложностиСредний
Время на прочтение13 мин
Количество просмотров5.7K

Как Java-методист с 15-летним опытом я решил проверить, как нейросеть ChatGPT-4 придумывает use cases, создает доменную модель и пишет программный код. Давайте посмотрим, способна ли эта большая языковая модель в ее текущей итерации заменить разработчика или, по крайней мере, упростить процесс разработки.

Привет, Хабр! Меня зовут Игорь Судакевич, я преподаватель-практик Учебного центра IBS по программированию на языке Java. В начале 2024 года мой коллега из IBS уже делился собственным опытом создания базовой программы с помощью ChatGPT. В том эксперименте использовалась бесплатная модель 3.5, и мы получили множество комментариев из серии «А вы бы тоже самое провернули на последней версии модели — она всё делает в разы лучше!» Мол, и разработчики скоро будут никому не нужны.

Читать далее
Всего голосов 10: ↑6 и ↓4+6
Комментарии4

Как положить приложение 21 запросом* к /actuator/health

Уровень сложностиСредний
Время на прочтение18 мин
Количество просмотров1.6K
Уточнение для въедливых :)

* 21 и более параллельным запросом в определённых условиях :)


Привет, сегодня поговорим о подводных камнях использования виртуальных потоков в написанных на Java веб-приложениях. В статье описан случай из жизни, сперва поставивший в тупик, но оказавшийся не столь уж и запутанным, а причина и вовсе была известна и документирована.

Читать дальше →
Всего голосов 18: ↑16 и ↓2+19
Комментарии0

Поисковый запрос на баги в Apache Solr

Уровень сложностиСредний
Время на прочтение14 мин
Количество просмотров785

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

Читать далее
Всего голосов 10: ↑10 и ↓0+15
Комментарии1

Самый простой способ проверить работу веб-приложения под нагрузкой на примере JMeter и Grafana

Уровень сложностиСредний
Время на прочтение8 мин
Количество просмотров6.1K

Привет, меня зовут Рамиль, я программист в отделе разработки серверных решений ЮMoney. В этой статье расскажу о своём эксперименте с нагрузочным тестированием с помощью JMeter, Grafana и Prometheus, а также покажу, как тестировал три сценария: с двумя, 10 и 100 запросами в секунду.

Читать далее
Всего голосов 3: ↑3 и ↓0+5
Комментарии6

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

Время на прочтение11 мин
Количество просмотров4.3K

Привет, Хабр! С вами снова Сергей Соловых, Java-разработчик в команде МТС Digital. Мы продолжаем изучать возможности и нюансы построения собственного Spring Boot Starter. В предыдущих частях мы разобрали структуру стартеров, автоконфигурацию и зависимости бинов. А сегодня давайте поговорим о параметрах приложения.

Умение работать с файлами конфигураций позволяет избежать hard-coding-данных в коде библиотеки. Это делает ее более гибкой и легко конфигурируемой, это значит, что ее можно адаптировать под конкретные требования. С помощью параметров можно настроить контекст или изменить поведение сервиса. Начнем с рассмотрения нескольких способов интеграции параметров из файла конфигурации в код приложения.

Читать далее
Всего голосов 5: ↑5 и ↓0+8
Комментарии3

Soft Assertions в AssertJ

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

Бывало ли у вас такое, что тест падает на первом же assertion'e из десяти? Вы исправляете ошибку, запускаете тест снова, и он падает на втором assertion'e. И так десять раз. Выматывает, не так ли?

На самом деле, есть способ ускорить этот процесс — использовать Soft Assertions. С их помощью тест выполнится полностью, даже если один или несколько assertion'ов упадут, и вы сразу увидите все ошибки.

В новой статье от Михаила Поливахи, эксперта сообщества Spring АйО, вы узнаете, что такое Soft Assertions и как ими пользоваться.

Читать далее
Всего голосов 13: ↑12 и ↓1+13
Комментарии2

Вклад авторов

Работа

Java разработчик
395 вакансий