es
Feedback

¡No caigas en manos de tramposos! Telemetrio encuentra y marca estos canales 👉 Si quieres ver la etiqueta, suscríbete

Чашечка Java

Чашечка Java

Ir al canal en Telegram

Лучшие материалы по Java на русском и английском Разместить рекламу: @tproger_sales_bot Правила общения: https://tprg.ru/rules Другие каналы: @tproger_channels

Mostrar más
8 290
Suscriptores
-124 horas
-167 días
-7930 días
Archivo de publicaciones
Релиз Jmix 2.3: что нового? Эта статья рассказывает о ключевых обновлениях, которые были включены в недавно опубликованный релиз Jmix 2.3. Полные сведения об изменениях и советы по обновлению проектов можно найти в разделе документации Что нового. Читать: https://habr.com/ru/companies/haulmont/articles/833280/?utm_campaign=833280 @a_cup_of_java | Другие наши каналы

Генерация HTTP клиентов для Spring Boot приложения по OpenAPI спецификации В новом переводе от команды Spring АйО вы узнаете, как можно сгенерировать код HTTP клиентов для Spring Boot приложения по OpenAPI спецификации, используя плагин openapi-generator для Gradle. В статье вы найдете: 1. Пошаговую инструкцию по использованию openapi-generator для Gradle 2. Настройки для генератора, которые помогут оставить только нужный код 3. Пример конфигурации сгенерированных Spring-бинов Читать: https://habr.com/ru/companies/spring_aio/articles/833096/?utm_campaign=833096 @a_cup_of_java | Другие наши каналы

Разработка Java-проекта с ChatGPT-4: от идеи до реализации Как Java-методист с 15-летним опытом я решил проверить, как нейросеть ChatGPT-4 придумывает use cases, создает доменную модель и пишет программный код. Давайте посмотрим, способна ли эта большая языковая модель в ее текущей итерации заменить разработчика или, по крайней мере, упростить процесс разработки. Привет, Хабр! Меня зовут Игорь Судакевич, я преподаватель-практик Учебного центра IBS по программированию на языке Java. В начале 2024 года мой коллега из IBS уже делился собственным опытом создания базовой программы с помощью ChatGPT. В том эксперименте использовалась бесплатная модель 3.5, и мы получили множество комментариев из серии «А вы бы тоже самое провернули на последней версии модели — она всё делает в разы лучше!» Мол, и разработчики скоро будут никому не нужны. Читать: https://habr.com/ru/companies/ibs/articles/833034/?utm_campaign=833034 @a_cup_of_java | Другие наши каналы

Как положить приложение 21 запросом* к /actuator/health Уточнение для въедливых :) * 21 и более параллельным запросом в определённых условиях :) Привет, сегодня поговорим о подводных камнях использования виртуальных потоков в написанных на Java веб-приложениях. В статье описан случай из жизни, сперва поставивший в тупик, но оказавшийся не столь уж и запутанным, а причина и вовсе была известна и документирована. Читать: https://habr.com/ru/articles/832568/?utm_campaign=832568 @a_cup_of_java | Другие наши каналы

Поисковый запрос на баги в Apache Solr И вновь мы проверяем продукт Apache. На этот раз выбор пал на Solr — платформу поискового сервера с открытым исходным кодом. Благодаря Solr можно эффективно и быстро искать информацию в базах данных и на интернет-ресурсах. При решении такой сложной задачи очень легко допустить разнообразные ошибки, даже несмотря на огромный опыт разработчиков Apache. Именно такие ошибки мы рассмотрим в этой статье. Читать: https://habr.com/ru/companies/pvs-studio/articles/832842/?utm_campaign=832842 @a_cup_of_java | Другие наши каналы

Самый простой способ проверить работу веб-приложения под нагрузкой на примере JMeter и Grafana Привет, меня зовут Рамиль, я программист в отделе разработки серверных решений ЮMoney. В этой статье расскажу о своём эксперименте с нагрузочным тестированием с помощью JMeter, Grafana и Prometheus, а также покажу, как тестировал три сценария: с двумя, 10 и 100 запросами в секунду. Читать: https://habr.com/ru/companies/yoomoney/articles/832574/?utm_campaign=832574 @a_cup_of_java | Другие наши каналы

Поддержка AWS SDK для Java 1.x прекращается С июля 2024 года AWS прекращает обновления для SDK версии 1.x, ограничившись толь
Поддержка AWS SDK для Java 1.x прекращается С июля 2024 года AWS прекращает обновления для SDK версии 1.x, ограничившись только критическими исправлениями и обновлениями безопасности до конца 2025 года. Рекомендуем переходить на версию 2.x, которая предлагает улучшенные функции, производительность и поддержку. Подробности: https://aws.amazon.com/blogs/developer/the-aws-sdk-for-java-1-x-is-in-maintenance-mode-effective-july-31-2024/ #en @a_cup_of_java | Другие наши каналы

Spring Boot Starter: практически, принципиально и подробнее. Часть 3 Привет, Хабр! С вами снова Сергей Соловых, Java-разработчик в команде МТС Digital. Мы продолжаем изучать возможности и нюансы построения собственного Spring Boot Starter. В предыдущих частях мы разобрали структуру стартеров, автоконфигурацию и зависимости бинов. А сегодня давайте поговорим о параметрах приложения. Умение работать с файлами конфигураций позволяет избежать hard-coding-данных в коде библиотеки. Это делает ее более гибкой и легко конфигурируемой, это значит, что ее можно адаптировать под конкретные требования. С помощью параметров можно настроить контекст или изменить поведение сервиса. Начнем с рассмотрения нескольких способов интеграции параметров из файла конфигурации в код приложения. Читать: https://habr.com/ru/companies/ru_mts/articles/832468/?utm_campaign=832468 @a_cup_of_java | Другие наши каналы

Soft Assertions в AssertJ Бывало ли у вас такое, что тест падает на первом же assertion'e из десяти? Вы исправляете ошибку, запускаете тест снова, и он падает на втором assertion'e. И так десять раз. Выматывает, не так ли? На самом деле, есть способ ускорить этот процесс — использовать Soft Assertions. С их помощью тест выполнится полностью, даже если один или несколько assertion'ов упадут, и вы сразу увидите все ошибки. В новой статье от Михаила Поливахи, эксперта сообщества Spring АйО, вы узнаете, что такое Soft Assertions и как ими пользоваться. Читать: https://habr.com/ru/companies/spring_aio/articles/832432/?utm_campaign=832432 @a_cup_of_java | Другие наши каналы

«Java – это язык синих воротничков» Поговорили с Сергеем, ведущим Java-разработчиком Нижегородского подразделения «Криптонита». В интервью – о языке программирования Java, «синих воротничках», бесполезности pet-проектов и работе инженера в энтерпрайзе без прикрас. Сергей, расскажи, как именно ты пришёл к мысли изучать Java? Это забавная история. Все мальчишки в начале 90-х хотели компьютер для игр. Моим товарищам покупали «Спектрум», на котором игры были цветные. У моих родителей не было таких денег. Поэтому они, скрепя сердце, купили мне старый компьютер без модуля цветной псевдографики. Назывался он «Партнер 01.01», как сейчас помню. Читать: https://habr.com/ru/companies/kryptonite/articles/832274/?utm_campaign=832274 @a_cup_of_java | Другие наши каналы

Инверсия управления Контейнеров и паттерн Инъекции Зависимостей — перевод В основе сборки любых компонентов лежит общий шаблон того, как они выполняют прокидывание зависимостей, это концепция, которую разработчики называют очень общим именем Inversion of Control (IoC: инверсия контроля). В этой статье я углублюсь в то, как работает этот паттерн под более конкретным названием «Dependency Injection» (Инъекция зависимостей), и сравню его с альтернативой - Service Locator Читать: https://habr.com/ru/articles/832390/?utm_campaign=832390 @a_cup_of_java | Другие наши каналы

Автоматизация интеграционных и приемочных тестов с помощь 1001 велосипеда Современное приложение на Java с использованием Spring Boot, включающее множество клиентов (веб, десктоп, мобильные), может столкнуться с проблемами в тестировании по мере его роста. Даже при хорошем покрытии тестами (80%+), увеличение объема интеграционных и приемочных тестов может привести к значительным задержкам в процессе разработки. Тесты могут занимать до 24 часов для выполнения, что снижает эффективность и увеличивает риск багов в продакшене. Не знаю кто сказал, но вполне четко описывает процесс разработки Что делать ... кроме написания резюме в поисках более интересно проекта? Пробуем понять, где в авто тестах тормоза. И понимаем что все интеграционные и приемочные зависят либо от скорости тестера, либо от скорости отклика клиента во время авто-тестов. И то и то в сотни и тысячи раз медленнее вашего апи. После анализа ситуации остается одно: как-то все это автоматизировать, причем быстро и дешево. Ускорить тестировщика, без незаконных препаратов, мы не можем, как и сделать UI который будет работать без задержек, на скорости api (но можно постараться, но дорого...). Основные шаги для решения: Читать: https://habr.com/ru/articles/832270/?utm_campaign=832270 @a_cup_of_java | Другие наши каналы

Создание масштабируемых приложений при помощи Kafka и реактивного программирования Mahi Mullapudi Введение В современном цифровом мире критически важна возможность обрабатывать данные в режиме реального времени и масштабировать приложения. Для этого хорошо подходит Kafka – платформа для распределённой потоковой обработки событий, особенно, если сочетать её с реактивным программированием. В данной статье будет рассказано, как создавать реактивные приложения при помощи этого инструментария. Читать: https://habr.com/ru/companies/piter/articles/831772/?utm_campaign=831772 @a_cup_of_java | Другие наши каналы

Использование алгоритма бинарного поиска для нахождения квадратного корня числа на Java Наткнулась на leetcode на задачку с нахождением квадратного корня из неотрицального числа. Кажется, что для решения такой задачки отлично подходит бинарный поиск, который по итогу даст нам логарифмическую временную сложность. Итак, условие задачи здесь: https://leetcode.com/problems/sqrtx/description/ Но прежде чем приступить к решению, пройдемся по теории, что такое бинарный поиск и как его использовать. Бинарный поиск - это поисковый алгоритм, который позволяет найти элемент в отсортированном массиве с логарифмической сложностью. Массив делится пополам, искомый элемент сравнивается с серединой массива, если искомый элемент больше, то поиск переходит в правую часть массива, и наоборот. После каждого перехода в правую или левую часть будет происходить сравнение серединного элемента с искомым до тех пор, пока он не будет найден. Акцентирую внимание еще раз: массив должен быть отсортирован по возрастанию. Если массив не отсортирован, то сортировка потребует минимум O(log n * n) временной сложности, что нужно учитывать. Поэтому, если массив небольшой и неупорядоченный, то, скорее всего, лучше будет линейный поиск со сложностью O(n). Итак, теперь вернемся к нашей задачке. Нужно найти квадратный корень из неотрицательного числа, где само число может быть любым от 0 до 231 - 1. Если корень из числа извлекается с остатком, например, корень из 8 это 2.82842…, то нужно округлить в меньшую сторону до целого, т.е. в данном случае до 2. Начнем, по порядку, ограничив краевые случаи. Так, если х = 0, то можно сразу вернуть 0. Читать: https://habr.com/ru/articles/832212/?utm_campaign=832212 @a_cup_of_java | Другие наши каналы

Java News Roundup: WildFly 33, Spring Cloud Data Flow, Apache TomEE, LangChain4j, Micronaut This week's Java roundup for July
Java News Roundup: WildFly 33, Spring Cloud Data Flow, Apache TomEE, LangChain4j, Micronaut This week's Java roundup for July 22nd, 2024 features news highlighting: the release of WildFly 33; Spring Cloud Data Flow 2.11.4; the second milestone release of Apache TomEE 10.0; LangChain4j 0.33; Micronaut 4.5.1; Eclipse Store 1.4; and an update on Jakarta EE 11. By Michael Redlich Read: https://www.infoq.com/news/2024/07/java-news-roundup-jul22-2024/ @a_cup_of_java | Другие наши каналы

К технологической сингулярности на примере Android продукта для смартчасов Приведенный выше кейс подтверждает принципиальную возможность успешного использования инструментов ИИ в создании ключевых артефактов софтверного проекта на всех стадиях его жизненного цикла – от ТЗ и кода до документации, что позволило прийти к высочайшей для команды скорости разработки ПО. И хотя машины пока не могут создавать новые машины (и запускать апокалипсис), но практические примеры создания программных решений ИИ с помощью раннее созданных инструментов ИИ мы видим очень эффективными. Узнать больше! Читать: https://habr.com/ru/articles/832050/?utm_campaign=832050 @a_cup_of_java | Другие наши каналы

Как синхронизировать потоки в Java Многопоточность — это не просто возможность приложения выполнять несколько задач одновременно, это его способность делать это эффективно и безопасно. В Java многопоточность неотделима от синхронизации, ведь именно она помогает управлять состоянием разделяемых ресурсов между потоками. Всё начинается с потребности в быстродействии и масштабируемости. C несколькими потоками можно обрабатывать больше операций одновременно. В этой статье мы рассмотрим, как синхронизировать потоки в Java. Читать: https://habr.com/ru/companies/otus/articles/830356/?utm_campaign=830356 @a_cup_of_java | Другие наши каналы

Как разработать онлайновый компилятор кода при помощи Java и Docker Вы когда-нибудь задумывались, как устроены такие платформы как Codeforces и LeetCode? Как именно они компилируют и выполняют код, поступающий от множества пользователей и проверяют его в тестовых кейсах? Как определяют эффективность алгоритмов? В этой статье мы подробно разберём, как выстроить высокоэффективную платформу для решения задач. Исходный код к этой статье выложен на Github в этом репозитории Читать: https://habr.com/ru/companies/piter/articles/831704/?utm_campaign=831704 @a_cup_of_java | Другие наши каналы

Работа с геометрией в JPA и Spring Boot 3 Добрый день, уважаемые читатели Хабра. В один день для моего pet-проекта понадобилось сделать добавление адресов клиентов, и проверка входит ли этот адрес в зону доставки. Так как статей на эту тему на хабре раз и обчелся, то вот держите еще одну 😁 В этой статье мы разберем, что такое геометрия, как с ней можно работать в sql и no-sql базах данных. Приступим. Читать: https://habr.com/ru/articles/831566/?utm_campaign=831566 @a_cup_of_java | Другие наши каналы

Использование алгоритма Бойера-Мура-Хорспула в Java с примером решения задачи с LeetCode Алгоритм Хорспула используется для нахождения подстроки в строке. Например, у нас есть строка «The game is over» и подстрока «over». Алгоритм Хорспула вернет значение первого вхождения подстроки «over» в строку «The game is over», а именно 12. Фактически, данный алгоритм является упрощенным алгоритмом Бойера-Мура, который, считается работает лучше, чем стандартный алгоритм на случайных текстах, но в худшем случае его скорость равна |needle| * |haystack| вместо 3 х |haystack|. Тем не менее, для восприятия, на мой взгляд, он гораздо проще. Итак, погнали. Условие задачи с leetcode: https://leetcode.com/problems/find-the-index-of-the-first-occurrence-in-a-string/description/ Как работает алгоритм? Строка и подстрока совмещаются по первому символу, и начинаются сравниваться от последнего символа к первому. Для примера возьмем строку: «aabcdadbc» и подстроку «adb» Совмещаются строки следующим образом (слева направо): Читать: https://habr.com/ru/articles/831562/?utm_campaign=831562 @a_cup_of_java | Другие наши каналы