Java Portal | Программирование
11.3K subscribers
797 photos
59 videos
19 files
590 links
Присоединяйтесь к нашему каналу и погрузитесь в мир для Java-разработчика

Связь: @devmangx

РКН: https://clck.ru/3H4WUg
加入频道
Spring_Annotations_Final.pdf
37.5 KB
25 аннотаций Spring Boot, которые вы должны знать

Сохраняй, чтобы не искать по тысячу раз ❤️

👉 Java Portal
Please open Telegram to view this post
VIEW IN TELEGRAM
Java_Hibernate_Interview_Questions_Linked.pdf
24.2 KB
Вопросы для собеседования по Java Hibernate с однострочными ответами

Ставь лайк если полезно 👍

👉 Java Portal
Please open Telegram to view this post
VIEW IN TELEGRAM
Скидываю вам список чекеров и плагинов для Error Proneзабрать

Error Prone — это инструмент от Google для анализа Java-кода, который встраивается в компилятор (javac) и находит потенциальные ошибки ещё на этапе компиляции ⌨️

Подойдет для тех, кто хочет усилить Error Prone и сделать код чище, безопаснее и стабильнее

👉 Java Portal
Please open Telegram to view this post
VIEW IN TELEGRAM
5 лучших задач для подготовки к собеседованиям по программированию 🤪

1. Системное проектирование – ссылка
2 Алгоритмы – ссылка
3. SQL – ссылка
4. Linux – ссылка
5. Java – ссылка
6. ООП – ссылка

👉 Java Portal
Please open Telegram to view this post
VIEW IN TELEGRAM
Лучшие советы по API REST

Скачать PDF на русском — здесь

Сохрани себе для быстрой шпаргалки

🥁 🥁 🥁

👉 Java Portal
Please open Telegram to view this post
VIEW IN TELEGRAM
Осталось всего 2 дня, чтобы прокачать асинхронный код на Scala Future 📢

15 апреля в 18:30 пройдёт открытый вебинар с Валентином Шилиным — старшим программистом и аналитиком данных Deutsche Telekom IT GmbH, экспертом по большим данным и преподавателем курсов по Scala и Apache Spark. Он расскажет:

— как избегать типичных ошибок (блокировки и потерю контекста)
— как комбинировать асинхронные операции (Future.sequence, traverse, for-comprehensions)
— как ускорить и упростить написание кода на Scala

❗️ Если вы хотите перейти с Java на Scala или уже используете Play Framework, Akka или Spark — на вебинаре вы узнаете, как грамотно писать асинхронный код и устранять «подводные камни».

Каждый участник:
— сможет задать вопросы эксперту
— получит скидку на полный курс по Scala-разработке

👉 Не упустите шанс перейти на новый уровень — регистрируйтесь, пока осталось 2 дня

https://otus.pw/h1lG/

Реклама. ООО «Отус онлайн-образование», ОГРН 1177746618576, www.otus.ru
Клёвый тренажёр+учебник по SQL

Тут можно потренироваться в хитрых джойнах, агрегациях и понабивать руку. Интерфейс очень приятный и позволяет потыкать схему БД, даёт подсказки как в коде, так и непосредственно по решению

В более сложные штуки (к примеру, в оконные функции) этот ресурс не лезет. Ну и запросы даже в самых сложных задачках получаются не сказать чтобы громоздкие

На сайте есть платная версия (которая позволяет смотреть авторские решения), но можно вполне обойтись и без неё

https://sql-academy.org/ru/trainer

👉 Java Portal
Please open Telegram to view this post
VIEW IN TELEGRAM
Общие вопросы для собеседования по HashMap в Java 💪

Может ли HashMap содержать null-ключи и null-значения?

—> Да, один null-ключ допускается.
—> Несколько null-значений разрешены.

Потокобезопасен ли HashMap?

—>Нет, не потокобезопасен

Безопасные альтернативы:

Collections.synchronizedMap() (медленнее, блокирует всю карту)
ConcurrentHashMap (предпочтительнее при многопоточности)

Могут ли два разных объекта иметь одинаковый хеш-код?

—> Да. Это называется хеш-коллизия

Что вызывает ConcurrentModificationException?

—> Изменение HashMap во время итерации (например, через for-each) без использования Iterator.remove()

Может ли HashMap содержать два ключа с одинаковым хеш-кодом?

—> Да. HashMap обрабатывает коллизии с помощью цепочек (chaining)

Что происходит при вставке дублирующегося ключа?

—> Новое значение перезаписывает старое для этого ключа

👉 Java Portal
Please open Telegram to view this post
VIEW IN TELEGRAM
JWT vs Сессии — что выбрать для авторизации?

Кратко и наглядно разобрали плюсы и минусы двух популярных подходов

Сохрани себе, пригодится ⚔️

👉 Java Portal
Please open Telegram to view this post
VIEW IN TELEGRAM
Генератор надёжных паролей на Java

Пароль с заглавными, строчными, цифрами и спецсимволами? Легко.

С помощью библиотеки Passay можно сгенерировать крепкий 10-символьный пароль буквально в пару строк.

Просто, удобно и безопасно. 😊

👉 Java Portal
Please open Telegram to view this post
VIEW IN TELEGRAM
Понимание OAuth 2.0

OAuth 2.0 расшифровывается как Open Authorization 2.0

Это фреймворк авторизации, а не протокол аутентификации.

Назначение —> позволяет сторонним приложениям получать доступ к пользовательским ресурсам без раскрытия пользовательских учетных данных.

Ключевые роли в OAuth 2.0

— Владелец ресурса - пользователь, владеющий защищёнными ресурсами

— Клиент - приложение, запрашивающее доступ к защищённым ресурсам

— Сервер ресурсов - сервер, на котором хранятся защищённые ресурсы

— Сервер авторизации - сервер, выдающий токены доступа после согласия пользователя

Стандартный поток OAuth (Authorization Code Flow)

1. Клиент перенаправляет пользователя на сервер авторизации
2. Пользователь проходит аутентификацию и предоставляет разрешения
3. Сервер авторизации возвращает клиенту код авторизации
4. Клиент обменивает код на токен доступа
5. Клиент использует токен доступа для обращения к защищённым ресурсам

Лучшие практики реализации

Корректная реализация OAuth 2.0 требует внимания к деталям безопасности

Команды разработки часто используют инструменты ревью кода, чтобы на раннем этапе выявить проблемы

Инструменты вроде @coderabbitai могут помочь обнаружить типовые ошибки при реализации OAuth во время ревью

При работе с протоколами авторизации стоит рассмотреть использование анализа кода с фокусом на безопасность

👉 Java Portal
Please open Telegram to view this post
VIEW IN TELEGRAM
Типы выходных файлов, создаваемых при компиляции Java-кода

.class — > Выполняется в JVM
.jar — > Упаковка кода для повторного использования
.jmod — >Поддерживает модульные Java-приложения
Native Image — > Нативный образ — > Работает без JVM
.war — >Развёртывание веб-приложений на Java
.ear — > Развёртывание корпоративных Java-приложений
.apk — > Установка Java-приложений на Android
.so — > Компиляция в нативный код (shared object)

👉 Java Portal
Please open Telegram to view this post
VIEW IN TELEGRAM
Чему должны научиться Java-разработчики в 2025 году

🔜 Читать: клик

👉 Java Portal | #cтатья
Please open Telegram to view this post
VIEW IN TELEGRAM
This media is not supported in your browser
VIEW IN TELEGRAM
👩‍💻 Повышайте качество кода, сохраняя его чистым и единообразным

С этим легко справиться благодаря функциям автоформатирования кода в IntelliJIDEA.

Выделите фрагмент кода и нажмите ⌘⌥L (на macOS) или Ctrl+Alt+L (на Windows/Linux), чтобы отформатировать его согласно настройкам стиля вашего проекта

👉 Java Portal
Please open Telegram to view this post
VIEW IN TELEGRAM
Реальные проекты и отличная возможность для старта карьеры: Летняя школа бэкенд‑разработки Яндекса открыла набор

Начинающие бэкендеры, есть планы на лето? Летняя школа бэкенда — ваш шанс прокачаться в разработке, даже если вы обладаете базовыми знаниями в Python, Java или C++.

Как проходит обучение:
— со 2 июня по 27 июля — онлайн-лекции, семинары и практические задания
— с 28 июля по 24 августа — разработка реальных проектов офлайн или онлайн

Вас ждут:
— работа в фулстек-командах в коворкингах Яндекса
— лекции от специалистов компании в летнем лектории
возможность стать частью команды и получить офер: больше половины выпускников становятся стажерами или сотрудниками компании

Школа бесплатная, но нужно пройти отбор. Если у вас есть минимальный опыт в бэкенде и желание стать частью одной из команд сервисов, то отправляйте заявку на обучение до 27 апреля!
Продвинутые дженерики в Java

Если ты уже знаком с базовыми дженериками, пора копнуть глубже:

—> Ограниченные типы (<T extends Number>) — позволяют задать верхнюю (или нижнюю) границу для параметра типа.
—> Подстановочные знаки (? extends, ? super) — дают гибкость при работе с обобщёнными методами и коллекциями.
—> Стирание типов (type erasure) — механизм, из-за которого вся информация о типах удаляется во время компиляции, и на этапе выполнения остаются только Object и приведения

🎩

👉 Java Portal
Please open Telegram to view this post
VIEW IN TELEGRAM
Основы Java Enum

Синтаксис:👇
enum Day {
MONDAY, TUESDAY, WEDNESDAY, THURSDAY, FRIDAY, SATURDAY, SUNDAY;
}


Все значения — это константы
Java преобразует их в public static final переменные

Особенности

—> Перечисления (enums) не могут наследовать другие классы, так как уже наследуют java.lang.Enum
—> Enum может реализовывать интерфейсы
—> Конструкторы могут быть только приватными, иначе будет выброшено исключение

Пример Enum с конструктором на фото ☕️

👉 Java Portal | #cтатья
Please open Telegram to view this post
VIEW IN TELEGRAM
ModelMapper — автоматическое отображение объектов в Java

Устали писать вручную мапперы между Entity и DTO?

ModelMapper сделает это за вас 😱

—> Это лёгкая библиотека для Java, которая упрощает маппинг объектов.
—> Идеально подходит для REST API: быстро конвертируйте сущности в DTO и обратно.
—> Поддерживает вложенные объекты, конфигурацию и даже сложные правила сопоставления

👉 Java Portal
Please open Telegram to view this post
VIEW IN TELEGRAM
image_2025-04-18_09-03-49.png
1.5 MB
Что такое MapStruct?

MapStruct — это мощный процессор аннотаций для Java, который автоматически генерирует мапперы между объектами прямо на этапе компиляции

Очень быстрый, безопасный по типам и отлично работает в IDE

Идеально подходит для преобразования между Entity и DTO в REST API 😊

👉 Java Portal
Please open Telegram to view this post
VIEW IN TELEGRAM
Оптимизация вложенных циклов в Java: пример из реальной практики

🔜 Читать: клик

👉 Java Portal | #cтатья
Please open Telegram to view this post
VIEW IN TELEGRAM
SpringBoot_Annotations_RU_Linked.pdf
31.5 KB
Полезный PDF с аннотациями Spring и краткими пояснениями на русском

Удобно для повторения и изучения

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