Чашечка Java
Відкрити в Telegram
Лучшие материалы по Java на русском и английском Разместить рекламу: @tproger_sales_bot Правила общения: https://tprg.ru/rules Другие каналы: @tproger_channels
Показати більше8 558
Підписники
Немає даних24 години
-147 днів
-1330 день
Архів дописів
8 557
Тестирование Spring Boot через MockMVC
Автор статьи: Рустем Галиев
Сегодня мы посмотрим на то, как тестировать Spring Boot через MockMVC. MockMvc – это тестовый фреймворк на стороне сервера, который позволяет проверять большинство функциональных возможностей приложения Spring MVC с помощью облегченных и целевых тестов.
Читать: https://habr.com/ru/companies/otus/articles/746414/?utm_campaign=746414
8 557
Как создавать гибкие тестовые планы для JMeter с использованием Groovy DSL?
Ответ узнаете 11 июля в 20:00 на открытом уроке OTUS. Вебинар приурочен к старту онлайн-курса «Groovy Developer» и проведет его преподаватель Андрей Поляков, старший разработчик в Unlimint.
На уроке рассмотрят:
— что такое DSL и как он применяется при создании тестовых планов;
— основные компоненты тестового плана JMeter;
— как формировать тестовый план с помощью Groovy DSL.
Кому будет полезен этот урок?
QA-инженерам, желающим настраивать гибкие тестовые планы в JMeter для нагрузочного тестирования.
После вебинара полный курс можно приобрести в рассрочку.
Для участия зарегистрируйтесь: https://otus.pw/wHnm/
Реклама ООО «Отус Онлайн-Образование» LjN8KNBMS
8 557
Автоматически ищем техдолг с помощью RefactorFirst
Недавно вышла новая версия библиотеки RefactorFirst 0.4.0, которая позволяет определять и визуализировать технический долг.
Она ищет в Java-коде Божественные Классы и классы с очень высоким уровнем связности, которые следовало бы отрефакторить. Для этого используются правила God Class Rule и Coupling Between Objects Rule из опенсорсного коданализатора PMD.
Коротко опишу, что это такое, и как этим пользоваться.
Интересно. .
Читать: https://habr.com/ru/companies/bar/articles/746574/?utm_campaign=746574
8 557
Java Digest #2
Всем привет! 👋 👋 👋
Мы — Java-разработчики Тинькофф: Константин, Андрей и Арсений. Собираем новости, статьи, туториалы и другие интересные материалы из мира Java-разработки. Решили делиться этим не только с коллегами, но и со всем сообществом.
Джо Аберкромби писал: «Чем больше ты узнаешь — тем больше понимаешь, как мало знаешь. Однако усилие само по себе стоит того». Надеемся, наш дайджест поможет вам на этом пути. Stay tuned! 😉
Читать свежий выпуск
Читать: https://habr.com/ru/companies/tinkoff/articles/746310/?utm_campaign=746310
8 557
What is Backend for front-end pattern in Microservices? How to use it?
As organizations embrace microservices architecture, the need for
efficient communication and collaboration between front-end and back-end
teams becomes crucial. To address this, the Backend for Front-End (BFF)
pattern has emerged as a valuable approach. BFF pattern allows
front-end developers to have dedicated back-end services that cater
specifically to their needs, enabling them to build user interfaces more
effectively. In this article, we will explore what the Backend for
Front-End pattern entails and how to effectively utilize it in
microservices architecture.
Java Interview questions and tutorials
Read: http://www.java67.com/2023/07/what-is-backend-for-front-end-pattern.html
8 557
Простыми словами об InlineKeyboard в Телеграмм ботах на java
За 4 месяца самостоятельной жизни моего первого бота стало понятно, что пользователям не хочется что-либо вводить в поле сообщения. Что значительно удобней было бы просто нажимать на очередную кнопку при выборе формы документа. Иными словами, в целях упрощения взаимодействия с ботом необходимо минимизировать возможность использовать обычную клавиатуру смартфона или ПК.
И такая возможность есть, если применить InlineKeyboard – вариант кнопок (за которыми скрыт необходимый функционал), прикрепленных непосредственно к сообщению от бота.
Применить такую клавиатуру я решила при разработке другого бота. Однако столкнулась с тем, что ни в документации Telegram bot Api, ни в статьях / разборах, размещенных в Интернет, нет прозрачного пошагового пояснения всей цепочки процессов. Разобравшись для себя с взаимосвязями вызовов в InlineKeyboard я решила этим поделиться с другими разработчиками.
Читать: https://habr.com/ru/articles/746370/?utm_campaign=746370
8 557
Новые фичи в IDEA 2023.2 EAP 7
Быстро приближается релиз IntelliJ IDEA 2023.2, а значит, текущему EAP-у осталось жить недолго. Вы все еще можете успеть попробовать новые фичи, и попросить исправить их до релиза, когда исправлять будет уже поздно.
JetBrains ушел из России, но его IDE всё ещё является основным средством разработки на Java. Как у бывшего product marketing manager в JetBrains, у меня есть некоторый опыт в написании и переводе таких статей. Изначально, принести эту новость сподвигло то, что в ней есть важное обновление плагина Big Data Tools, над которым когда-то работала моя команда. Кроме того, JB разродились официальной поддержкой LSP, что наверняка, стоило им титанических моральных усилий. PMM-ов бывших не бывает, им просто перестают за это платить.
Я попробую описывать самые значимые новости, касающиеся JetBrains IDE. Чтобы получать больше таких новостей - подписывайтесь на Хабре на наш блог, а ещё вы можете пройти в мою личную телегу @Javawatch.
Под катом - обзор перечисленных фичей, со скриншотами. Поехали.
Читать: https://habr.com/ru/companies/bar/articles/746264/?utm_campaign=746264
8 557
Собственные исключения в Java: Как управлять ошибками в вашем приложении
Собственные исключения в Java позволяют разработчикам создавать исключительные ситуации, специфичные для их приложений или библиотек. Они позволяют более гибко управлять ошибками и обрабатывать их в соответствии с требованиями конкретного приложения.
Читать: https://habr.com/ru/articles/746218/?utm_campaign=746218
8 557
Java Enhances Z Garbage Collector with Generational Capabilities
JEP 439, Generational ZGC, has been promoted from Targeted to Completed for JDK 21. This JEP proposes to improve application performance by extending the Z Garbage Collector (ZGC) to maintain separate generations for young and old objects. This will allow ZGC to collect young objects, which tend to die young, more frequently.
By A N M Bazlur Rahman
Read: https://www.infoq.com/news/2023/07/java-enhance-zgc/
8 557
Введение в многопоточность в Java очень простым языком: Процессы, Потоки и Основы синхронизации
На старте вашей карьеры вы вполне можете обойтись без практических навыков в параллельном программировании, но рано или поздно перед вами встанет задача, требующая от вас таких навыков.
Итак, в данной статье мы поговорим о многопоточности в Java. Тема очень обширная, и я не ставлю целью описать все ее аспекты. Статья рассчитана на людей, только начинающих свое знакомство с многопоточностью. В данной статье мы рассмотрим основу многопоточности Java, такие базовые механизмы синхронизации как ключевые слова volatile и synchronized и очень важную проблематику “Состояние гонки” и “Смертельная блокировка”.
Я выбрал немного необычный подход, связав технические примеры с нащей повседневной жизнью, надеюсь вам понравится. Тема будет раскрыта на примере абстрактной комнаты и людей в находящихся в ней.
Дабы максимально упростить материал, я намеренно буду опускать некоторые нюансы реализации и иерархии многопоточности в Java, усложняющие понимание темы. Если вы рассчитываете на подробный обзор с техническими терминами и формулировками, то данная статья вам не подойдет.
Читать: https://habr.com/ru/articles/745910/?utm_campaign=745910
8 557
LLM API для Java
Прочитав сегодняшнюю статью о том, как (в Сан-Франциско массово собираются LLM-щики, коллега сказал - "лучше б там собирались BDSM-щики, это, по крайней мере, понятное развлечение". Для человека не посвященного, "нейросети" - это всё ещё что-то про Python и математическую статистику.
Тем не менее, можно кусать низко висящие фрукты и с помощью Java, дергать API для Chat GPT, и тогда ничего учить не придётся. В этой статье будут ссылки на несколько фреймворков с простым API для жабы и котла, которые можно использовать хоть сейчас.
Волшебно. .
Читать: https://habr.com/ru/companies/bar/articles/745842/?utm_campaign=745842
8 557
Project Loom и Spring Boot: тесты производительности
В 2023 году джава-сообщество ожидает выхода нового LTS-релиза JDK 21. Одной из долгожданных фич, потенциально способных сделать джаву great again, является JEP 444: Virtual Threads.
Предлагаю вашему вниманию перевод небольшой статьи о том, как виртуальные потоки могут улучшить производительность ваших джава-приложений.
Читать: https://habr.com/ru/articles/745748/?utm_campaign=745748
8 557
Определить и найти. Разработка алгоритма поиска изменений с Мap-ами и хешами
Как разрабатывая приложение для вуза, я справился с проблемой поиска изменений в расписаниях на сервере и памяти телефона без использования баз данных. Опыт новичка.
Читать как я прошел этот путь
Читать: https://habr.com/ru/articles/745676/?utm_campaign=745676
8 557
JEP 441: Transforming Java with Pattern Matching for switch
JEP 441, Pattern Matching for the switch, is completed in JDK 21, following four previews in JDKs 17-20 (JEPs 406, 420, 427, 433). It finalizes the feature, addressing feedback from previews, and enhances the language with pattern matching for switch expressions and statements.
By A N M Bazlur Rahman
Read: https://www.infoq.com/news/2023/07/tranforming-java-pattern/
8 557
Хэширование в Java на примере HashMap и HashSet
Рассмотрели основы хэширования в Java и объясним цели использования HashMap и HashSet с примерами синтаксиса.
Читать: «Хэширование в Java на примере HashMap и HashSet»
8 557
Java News Roundup: Open Liberty InstantOn and Liberty Tools, Gradle 8.2, Spring Cloud, GlassFish
This week's Java roundup for June 26th, 2023 features news from JDK 22, JDK 21, point releases and release candidates for Spring Cloud, Spring Shell, GlassFish, Micronaut, Quarkus, Open Liberty, Hibernate ORM, Hibernate Search, Apache Groovy, Apache Camel, Maven, JHipster Lite, JReleaser, JobRunr, RefactorFirst, OpenXava, Resilience4j, Failsafe, Yupiik Fusion and Gradle.
By Michael Redlich
Read: https://www.infoq.com/news/2023/07/java-news-roundup-jun26-2023/
8 557
Parallel Stream — не панацея или используй с умом (tutorial для начинающих)
Данная статья может быть интересна тем, кто только изучает Stream API, либо набирает практический опыт их использования. В ней раскрывается функционал, плюсы и минусы использования Parallel Stream, но не касаемся использования последовательных Stream API в целом.
Параллельные потоки стали мощной функцией в Java 8 и более поздних версиях, предлагая разработчикам возможность без особых усилий выполнять операции сбора данных параллельно. Используя возможности многопоточности современных компьютеров, параллельные потоки могут значительно повысить производительность вашего кода. В этой статье мы рассмотрим несколько примеров использования параллельных потоков, подчеркнув их преимущества в различных сценариях.
Читать: https://habr.com/ru/articles/745332/?utm_campaign=745332
8 557
Spring Cloud Or Quarkus? Which One Is Better To Implement Microservices In Java?
Hello guys, Microservices architecture has become increasingly popular in recent
years, as it allows for more scalable, flexible, and resilient software
development. However, implementing microservices requires choosing the right
tools and frameworks for the job. In the Java ecosystem, two popular options for
building microservices are Spring Cloud and Quarkus. While most of us prefer Spring Cloud because it comes along with Spring Framework and part of wider Spring ecosystem which also include Spring Boot and Spring Security and Spring Data JPA, Quarkus is another framework which promises better performance with the help of GrallVM and Kubernetes. In this article, we'll
explore the differences between these two frameworks and help you decide which
one is better suited for your needs.
Java Interview questions and tutorials
Read: http://www.java67.com/2023/07/spring-cloud-or-quarkus-which-one-is.html
8 557
Правильные тестовые данные или почему Вася Пупкин лучший друг тестировщиков?
Будучи молодым QA-инженером, я тестировал модуль регистрации пользователя одного десктопного приложения. Набирать сочетания случайных букв в качестве тестовых имени и фамилии мне изначально не нравилось, а использование личных данных считалось некорректным, поэтому я начал использовать имена и фамилии существующих политиков. Барак Обама, Джордж Буш и другие регистрировались в сервисе кастинга голосовых актеров, проводили сессии голосовых записей, исправно платили по счетам и выполняли прочие бизнес-действия. Через некоторое время об этом узнал наш ПМ, который попросил отказаться от практики привлечения политиков в ряды наших тестовых пользователей. Передо мной встал выбор: пользоваться случайным набором букв или придумать некий шаблон. Я выбрал второй вариант. С тех пор персонаж Василий Пупкин стал моим лучшим другом.
Эта история заставила меня задуматься над критериями тестовых данных и быть более осмотрительным при их подборе. Будучи уже лидом, я часто наблюдаю картину, когда тестировщик не особо беспокоится о том, какие тестовые данные использовать в процессе ad-hoc тестирования. В этой статье предлагаю немного поразмышлять над качеством тестовых данных.
Узнать больше о правильных тестовых данных
Читать: https://habr.com/ru/articles/745220/?utm_campaign=745220
8 557
Приручаем Liquibase. Как скормить базе данных список из 10К офисов, чтобы потом не писать костыли?
Привет! Меня зовут Михаил, я Java Backend Developer в Simbirsoft. В этой статье хочу поделиться своим опытом создания миграций файлов с большим списком данных при помощи Liquibase. Cтолкнувшись с такой задачей на проекте, я был сильно удивлен тому, как мало материалов написано по этой теме, даже на английском. Поэтому описал то, что удалось собрать и проверить на собственном опыте.
Читать: https://habr.com/ru/companies/simbirsoft/articles/744964/?utm_campaign=744964
Вже доступно! Дослідження Telegram за 2025 — головні інсайти року 
