ar
Feedback
Java Portal | Программирование

Java Portal | Программирование

الذهاب إلى القناة على Telegram

Присоединяйтесь к нашему каналу и погрузитесь в мир для Java-разработчика Связь: @devmangx РКН: https://clck.ru/3H4WUg

إظهار المزيد

📈 نظرة تحليلية على قناة تيليجرام 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) تحافظ القناة على حداثتها ومستوى وصول مرتفع. وتُظهر التحليلات تفاعلاً نشطاً من الجمهور، ما يجعلها نقطة تأثير مهمة ضمن فئة التكنولوجيات والتطبيقات.

11 775
المشتركون
-224 ساعات
-437 أيام
-15430 أيام
أرشيف المشاركات
Прогрессивный практический туториал по изучению Agent Client Protocol (ACP) с использованием Java SDK: https://github.com/markpollack/acp-java-tutorial 👉 Java Portal

Spring Boot: Лучше использовать SpringBootTest.WebEnvironment.RANDOM_PORT вместо жёстко заданных портов в тестах, чтобы избеж
Spring Boot: Лучше использовать SpringBootTest.WebEnvironment.RANDOM_PORT вместо жёстко заданных портов в тестах, чтобы избежать конфликтов. #SpringBoot #JavaDev 👉 Java Portal

В SpringFramework 7.1 появится поддержка @MockitoBean и @MockitoSpyBean на параметрах конструктора теста Это работает с конст
+1
В SpringFramework 7.1 появится поддержка @MockitoBean и @MockitoSpyBean на параметрах конструктора теста Это работает с конструкторами в Java, но ещё удобнее с компактными конструкторами в Kotlin. Также это работает с так называемыми «test records» в Java. 🤓 👉 Java Portal

На Stepik добавили курс «Git с нуля» Этот курс закрывает всю обязательную базу по Git для работы в IT. Подойдёт для: - разраб
На Stepik добавили курс «Git с нуля» Этот курс закрывает всю обязательную базу по Git для работы в IT. Подойдёт для:
- разработчиков - девопсов, админов и безопасников - аналитиков, data- и ML-специалистов - тестировщиков - всех, кто хочет уверенно работать с Git в команде
Внутри вся основа, которая реально нужна на практике: от основ системы контроля версий и архитектуры Git до работы с ветками, merge, конфликтами и GitHub. Всё сразу закрепляется на практике с помощью заданий с автопроверкой Материал подаётся простым языком, шаг за шагом, с акцентом на понимание того, как Git работает под капотом, а не просто на запоминание команд После прохождения вы получите сертификат, который можно добавить в резюме В ближайшие 48ч курс доступен со скидкой 25% по промокоду «GIT25»: открыть курс на Stepik

💡Spring Boot: для чистых REST-контроллеров используйте @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 Portal

Java API Tip Безопасное приведение long к int Используй Math.toIntExact() — этот метод возвращает значение long, но выбрасыва
Java API Tip Безопасное приведение long к int Используй Math.toIntExact() — этот метод возвращает значение long, но выбрасывает ArithmeticException, если оно не помещается в int Без него преобразование произойдёт молча — и ты можешь получить некорректный результат без всяких ошибок. Используй toIntExact, когда важно контролировать переполнение 👉 Java Portal

Айтишники не рассказывают где учатся бесплатно и эффективно Никому не говори об этом канале!!! В сфере онлайн образования поя
Айтишники не рассказывают где учатся бесплатно и эффективно Никому не говори об этом канале!!! В сфере онлайн образования появился новый гигант «TERMINAL» который разрушит индустрию платных курсов Бесплатный доступ:
🔄Практические курсы и задания 🔄Книги и статьи от профи 🔄Полезные инструменты и ресурсы 🔄IT-новости и инсайды
Обучение по всем направлениям: SQL, Python, Frontend, PHP, C++, Golang, GIT, Linux, Java, кибербезопасность и др. Если ценишь знания подпишись: @Terminal_tg

Spring Boot: лучше избегать логирования внутри плотных циклов, так как это может повлиять на производительность приложения и привести к засорению лог-файлов. Пример:
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

#Java Совет: вы можете откатить транзакцию БД, созданную аннотацией @Transactional, получив текущий TransactionStatus через к
#Java Совет: вы можете откатить транзакцию БД, созданную аннотацией @Transactional, получив текущий TransactionStatus через класс TransactionAspectSupport и установив для него rollback через setRollbackOnly();. Таким образом, не нужно выбрасывать исключение. 👉 Java Portal

Spring Boot: можно валидировать конфигурационные классы с помощью аннотации @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 Portal

Один JEP, к которому стоит вернуться: JEP 485 в JDK 24. Он вводит gather(...) для стримов — новую промежуточную операцию для
Один JEP, к которому стоит вернуться: JEP 485 в JDK 24. Он вводит gather(...) для стримов — новую промежуточную операцию для преобразований, которые не укладываются в map, filter или flatMap. Небольшой пример 👇

Java 21 открывает новую эпоху конкурентности с виртуальными потоками — лёгкими потоками, управляемыми JVM, которые значительно повышают производительность I/O-bound приложений. Подробнее - https://lttr.ai/Ap1Np #Java #MongoDB #VirtualThread 👉 Java Portal

Большинство проектов на Spring Boot обрабатывают конфигурацию одинаково: плоские классы с @ConfigurationProperties, строковые имена свойств и надежда на то, что все прочитают README. В Apereo CAS — более 1000 свойств в 633 конфигурационных классах. Автор написал статью о том, как система конфигурации остаётся навигируемой при таком масштабе: https://medium.com/all-things-software/spring-boot-configuration-properties-at-scale-884f494721ac 👉 Java Portal

Совет по Java : Если нужно посчитать количество вхождений элемента в списке, можно использовать Collections.frequency(...). #
Совет по Java : Если нужно посчитать количество вхождений элемента в списке, можно использовать Collections.frequency(...). #Java #Collections 👉 Java Portal

Java Spring Boot: Не допускайте эту ошибку с фильтрами/интерцепторами Многие используют фильтры и интерцепторы неправильно Он
Java Spring Boot: Не допускайте эту ошибку с фильтрами/интерцепторами Многие используют фильтры и интерцепторы неправильно Они должны использоваться только для сквозных задач (то есть для того, что применяется ко ВСЕМ запросам) Примеры корректного использования: [Фильтры]: - CORS - Кодировка [Интерцепторы]: - Аутентификация/Авторизация - Метрики/Логирование - Локаль - Общие заголовки [Основная ошибка]: размещать там бизнес-логику Например: - выполнение запросов к базе данных - проверка подписок - сложная логика Почему это плохо: - выполняется для КАЖДОГО запроса - создаёт дополнительную нагрузку - нарушает архитектуру - усложняет тестирование Вывод: - интерцептор превращается в «мусорный слой» Как делать правильно: - бизнес-логика → в сервисах - контроллеры → оркестрация 👉 Java Portal

Совет по Java: начиная с Java 15 можно использовать String.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 Portal

Spring Boot — большой фреймворк, на освоение которого могут уйти годы. Но, на мой взгляд, достаточно знать ключевые возможности и иметь практический опыт с наиболее часто используемыми фичами, чтобы считаться “готовым к работе”. Roadmap для начинающих по Spring Boot : читать 👉 Java Portal

Совет по Java: избегайте накладных расходов на boxing, используя потоки примитивов. ❌Создание объектов Integer для каждого значения:
Stream<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

Продвинутый совет по Spring Превратите структуру вашего Spring-проекта в тестируемый контракт, который никогда не будет незам
Продвинутый совет по Spring Превратите структуру вашего Spring-проекта в тестируемый контракт, который никогда не будет незаметно деградировать. С помощью Taikai вы можете принудительно проверять архитектурные ограничения с использованием предопределённых правил ArchUnit, см. документацию. https://github.com/enofex/taikai 👉 Java Portal

🇷🇺Разбираешься в радиочипах, оптике и связи? Забери до 2 000 000 рублей за свои инженерные навыки на турнире «Дронкон»🇷🇺
🇷🇺Разбираешься в радиочипах, оптике и связи? Забери до 2 000 000 рублей за свои инженерные навыки на турнире «Дронкон»🇷🇺 «Сталинские Соколы» открывают регистрацию на 3-й Всероссийский турнир «Дронкон», который пройдет с 8 по 14 мая. 2 направления для победы: - Инженерное дело: беспроводная связь, радиочипы и оптические системы + стратегия «Битва Дронов»; - Пилотирование: War Thunder, GeoGuessr и FPV-гонки + стратегия «Битва Дронов». Призовой фонд для победителей одной дисциплины: 🥇место – 2 000 000 рублей 🥈место – 1 500 000 рублей 🥉место – 1 000 000 рублей Награда за 4-8 места - 150 000 рублей Пройди заочный онлайн-этап и получи путевку на очный этап турнира в Республику Татарстан! Перелет, питание, проживание - за счет организаторов. 🇷🇺 Подать заявку и узнать подробности 🇷🇺 Реклама: ИП Райхерт Карина Андреевна ИНН 346001991373 erid: 2Vtzqub7wMp