Java Portal | Программирование
13K subscribers
1.14K photos
94 videos
36 files
1.03K links
Присоединяйтесь к нашему каналу и погрузитесь в мир для Java-разработчика

Связь: @devmangx

РКН: https://clck.ru/3H4WUg
Download Telegram
Совет по Spring Boot

RestTestClient для тестирования API

RestTestClient это единый инструмент для тестирования REST API, который можно использовать вместо WebTestClient, TestRestTemplate (удалён) или MockMVC.

1. Определи объект RestTestClient в тесте
2. Привяжи его к конкретному компоненту. Это может быть controller, MockMVC, server или Spring context
3. Потом используй RestTestClient в тесте

@SpringBootTest
public class PersonControllerWithHeadersTests {

private WebApplicationContext context;
private RestTestClient restTestClient;

@BeforeEach
public void setup(WebApplicationContext context) {
restTestClient = RestTestClient
.bindToApplicationContext(context)
.build();
}

@Test
void addPersonTest() {
restTestClient.post()
.uri("/persons")
.body(Instancio.create(Person.class))
.exchange()
.expectStatus().is2xxSuccessful()
.expectBody(Person.class)
.value(p -> assertNotNull(p.getId()));
}
}


👉 Java Portal
Please open Telegram to view this post
VIEW IN TELEGRAM
👍9🔥3
This media is not supported in your browser
VIEW IN TELEGRAM
⚡️Чёрная пятница на Stepik: забери -25% на курс по Linux!

Внутри 20+ модулей: от установки Linux и работы с файлами до сетей, прав, дисков, процессов, автоматизации на Bash и многого другого. Всё сразу закрепляется на практике (200+ заданий с автопроверкой).

Материал подаётся понятным языком, шаг за шагом, на реальных примерах и с наглядными схемами.

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

Есть бесплатные демо-уроки для ознакомления. В ближайшие 48ч курс доступен со скидкой 20% по промокоду «BLACKFRIDAY25»: открыть курс на Stepik
Please open Telegram to view this post
VIEW IN TELEGRAM
1🔥1
Java-подсказка: начиная с Java 11, если нужно повторить строку n раз, можно использовать метод repeat(n) у String.

👉 Java Portal
Please open Telegram to view this post
VIEW IN TELEGRAM
8👍3🔥3😁1
Если у тебя начинают получаться сложные вложенные подзапросы, лучше перейти на CTE , чтобы сделать запросы читабельнее.

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

👉 Java Portal
Please open Telegram to view this post
VIEW IN TELEGRAM
👍15
Java-команды часто ищут прорывы не там.

Spring + JVM получает больше профита от Kotlin, чем от попыток перезабрести фреймворк.

Kotlin прокачивает базу.

А именно база решает, движется ли команда быстро или нет

1. Код становится проще.

Меньше шаблонного мусора.
Более безопасные дефолты.
Четче выраженные намерения.
Команда делает те же фичи быстрее и с меньшим количеством багов.

2. Работа с конкурентностью становится чище.

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

3. Миграция с низкими рисками.

Никаких переписанных с нуля сервисов.
Никаких параллельных стеков.
Никакого большого взрыва.
Kotlin можно внедрять точечно - новые модули, новые сервисы, тесты, внутренние тулзы.
Эффект накапливается довольно быстро.

Так выглядит распространенный сценарий в успешных командах:

Один инженер пробует -> остальные замечают разницу -> adoption летит вверх.

4. Бизнес тоже ощущает разницу.

Меньше дефектов.
Быстрее онбординг.
Выше скорость разработки.
Лучше асинхронное поведение.
И все это без замены стека.

Kotlin не переписывает ваш проект.
Он исправляет мелочи, которые тормозят бекенд-команду годами.

Если ты уже на Spring + JVM, это самый выгодный апгрейд, который можно выкатить хоть завтра 🍌

👉 Java Portal
Please open Telegram to view this post
VIEW IN TELEGRAM
🤣5🔥3💊2🤔1🌭1
Какой Java Map быстрее для 1 млн обращений?

Производительность (в среднем):

HashMap get(): ~0.8 ms (O(1))

TreeMap get(): ~15 ms (O(log n))

HashMap put(): ~1.2 ms

TreeMap put(): ~18 ms


HashMap выигрывает по сырым скоростям примерно в 15–20 раз.

TreeMap жертвует производительностью ради отсортированного порядка ключей.

HashMap использует хеширование с операциями за амортизированное константное время.

TreeMap использует красно-черное дерево, гарантируя O(log n), но за счет скорости.

Используй HashMap, когда важна скорость, и TreeMap, когда нужны отсортированные ключи или диапазонные запросы.

👉 Java Portal
Please open Telegram to view this post
VIEW IN TELEGRAM
4👍1