Java Portal | Программирование
Присоединяйтесь к нашему каналу и погрузитесь в мир для Java-разработчика Связь: @devmangx РКН: https://clck.ru/3H4WUg
Показати більше📈 Аналітичний огляд Telegram-каналу Java Portal | Программирование
Канал Java Portal | Программирование (@java_iibrary) у мовному сегменті Російська є активним учасником. На даний момент спільнота об'єднує 11 775 підписників, посідаючи 10 273 місце в категорії Технології та додатки та 54 502 місце у регіоні Росія.
📊 Показники аудиторії та динаміка
З моменту свого створення невідомо, проект продемонстрував стрімке зростання, зібравши аудиторію у 11 775 підписників.
За останніми даними від 26 серпня, 2026, канал демонструє стабільну активність. Хоча за останні 30 днів спостерігається зміна кількості учасників на -154, а за останні 24 години на -2, загальне охоплення залишається високим.
- Статус верифікації: Не верифікований
- Рівень залученості (ER): Середній показник залученості аудиторії становить 10.27%. Протягом перших 24 годин після публікації контент зазвичай збирає 5.76% реакцій від загальної кількості підписників.
- Охоплення публікацій: В середньому кожен допис отримує 1 209 переглядів. Протягом першої доби публікація в середньому набирає 678 переглядів.
- Реакції та взаємодія: Аудиторія активно підтримує контент: середня кількість реакцій на один пост – 4.
- Тематичні інтереси: Контент зосереджений навколо ключових тем, таких як boot, string, void, архитектура, resttemplate.
📝 Опис та контентна політика
Автор описує ресурс як майданчик для висловлення суб'єктивної думки:
“Присоединяйтесь к нашему каналу и погрузитесь в мир для Java-разработчика
Связь: @devmangx
РКН: https://clck.ru/3H4WUg”
Завдяки високій частоті оновлень (останні дані отримано 27 серпня, 2026), канал підтримує актуальність та високий рівень охоплення публікацій. Аналітика показує, що аудиторія активно взаємодіє з контентом, що робить його важливою точкою впливу в категорії Технології та додатки.
SpringBootTest.WebEnvironment.RANDOM_PORT вместо жёстко заданных портов в тестах, чтобы избежать конфликтов.
#SpringBoot #JavaDev
👉 Java Portal@MockitoBean и @MockitoSpyBean на параметрах конструктора теста
Это работает с конструкторами в Java, но ещё удобнее с компактными конструкторами в Kotlin. Также это работает с так называемыми «test records» в Java. 🤓
👉 Java Portal- разработчиков - девопсов, админов и безопасников - аналитиков, data- и ML-специалистов - тестировщиков - всех, кто хочет уверенно работать с Git в командеВнутри вся основа, которая реально нужна на практике: от основ системы контроля версий и архитектуры Git до работы с ветками, merge, конфликтами и GitHub. Всё сразу закрепляется на практике с помощью заданий с автопроверкой Материал подаётся простым языком, шаг за шагом, с акцентом на понимание того, как Git работает под капотом, а не просто на запоминание команд После прохождения вы получите сертификат, который можно добавить в резюме В ближайшие 48ч курс доступен со скидкой 25% по промокоду «
GIT25»: открыть курс на Stepik@RestController вместо @Controller + @ResponseBody
@RestController — это мета-аннотация, которая включает @ResponseBody, и затем автоматически применяется ко всем методам:
@Target(ElementType.TYPE)
@Retention(RetentionPolicy.RUNTIME)
@Documented
@Controller
@ResponseBody
public @interface RestController {
}
❌С использованием @Controller и @ResponseBody:
@Controller
public class MyController {
@ResponseBody
@GetMapping("/hello")
public String hello() {
return "Hello!";
}
}
✅ С использованием @RestController:
@RestController
public class MyController {
@GetMapping("/hello")
public String hello() {
return "Hello!";
}
}
#SpringBoot #CleanCode
👉 Java Portallong к int
Используй Math.toIntExact() — этот метод возвращает значение long, но выбрасывает ArithmeticException, если оно не помещается в int
Без него преобразование произойдёт молча — и ты можешь получить некорректный результат без всяких ошибок.
Используй toIntExact, когда важно контролировать переполнение
👉 Java Portal🔄Практические курсы и задания 🔄Книги и статьи от профи 🔄Полезные инструменты и ресурсы 🔄IT-новости и инсайдыОбучение по всем направлениям: SQL, Python, Frontend, PHP, C++, Golang, GIT, Linux, Java, кибербезопасность и др. Если ценишь знания подпишись: @Terminal_tg
for (Order order : orders) {
log.info("Order {}", order.getId());
process(order);
}
Если orders большой, это может замедлить обработку и засорить лог-файлы.
Если логировать всё же нужно, лучше использовать уровень debug:
log.debug("Order: {}", order.getId());
Также можно добавить проверку, если требуется выполнить нетривиальные вычисления:
if (log.isDebugEnabled()) {
log.debug("Order: {}", expensiveElaboration());
}
👉 Java Portal@Transactional, получив текущий TransactionStatus через класс TransactionAspectSupport и установив для него rollback через setRollbackOnly();. Таким образом, не нужно выбрасывать исключение.
👉 Java Portal@Validated.
✅ Это позволяет приложению падать на старте (fail fast), если конфигурация некорректна.
@Validated
@ConfigurationProperties(prefix = "app")
public class AppProperties {
@NotBlank
private String name;
@Min(1)
@Max(60)
private int timeout;
// getters/setters
}
#SpringBoot #JavaDev
👉 Java Portalgather(...) для стримов — новую промежуточную операцию для преобразований, которые не укладываются в map, filter или flatMap. Небольшой пример 👇@ConfigurationProperties, строковые имена свойств и надежда на то, что все прочитают README.
В Apereo CAS — более 1000 свойств в 633 конфигурационных классах. Автор написал статью о том, как система конфигурации остаётся навигируемой при таком масштабе:
https://medium.com/all-things-software/spring-boot-configuration-properties-at-scale-884f494721ac
👉 Java PortalCollections.frequency(...).
#Java #Collections
👉 Java PortalString.formatted(...) для форматирования строк вместо String.format(...).
Работает как String.format, но выглядит немного чище и понятнее:
Вместо:
String message = String.format("Hello %s, you have %d messages", user, count);
System.out.println(String.format("Hello %s, you have %d messages", user, count));
Можно написать:
String message = "Hello %s, you have %d messages".formatted(user, count);
System.out.println("Hello %s, you have %d messages".formatted(user, count));
Также хорошо работает с многострочным форматированием:
String json = """
{
"user": "%s",
"messages": %d
}
""".formatted(user, count);
👉 Java PortalStream<Integer> boxed = Stream.of(1, 2, 3, 4, 5);
int sumBoxed = boxed.reduce(0, Integer::sum);
✅Работа напрямую с int:
int sumPrimitive = IntStream.of(1, 2, 3, 4, 5).sum();✅Другие классы потоков примитивов:
LongStream, DoubleStream👉 Java Portal
