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

Связь: @devmangx

РКН: https://clck.ru/3H4WUg
加入频道
Понятие ошибки и исключения в Java

Error в Java — это серьёзная проблема, с которой программа не должна пытаться справляться. Обычно Error выбрасывается виртуальной машиной Java (JVM) и сигнализирует о неполадках, находящихся вне контроля программы, например, утечка памяти или переполнение стека

Exception в Java — это ситуация, которую программа может предусмотреть и обработать. Это ошибки, от которых можно восстановиться во время выполнения, используя конструкции обработки исключений, такие как try-catch

👉 Java Portal
Please open Telegram to view this post
VIEW IN TELEGRAM
This media is not supported in your browser
VIEW IN TELEGRAM
Сортировка пузырьком

Один из самых простых алгоритмов сортировки

👉 Java Portal
Please open Telegram to view this post
VIEW IN TELEGRAM
Миграция от монолита к микросервисам в Spring Boot Java

Определите границы контекста —> используйте Domain-Driven Design (DDD) для логического разделения модулей

Модульность внутри приложения —> применяйте модули и пакеты Spring для изоляции сервисов

Вынос в микросервисы —> начинайте перенос модулей (например, пользователь, заказы) в отдельные сервисы

Внедрение API Gateway и сервис-дискавери —> используйте Spring Cloud Gateway и Eureka/Nacos

Безопасность взаимодействия —> добавьте уровни безопасности OAuth2/JWT

CI/CD пайплайн —> автоматизируйте сборку, тестирование и деплой с помощью Jenkins/GitHub Actions

👉 Java Portal
Please open Telegram to view this post
VIEW IN TELEGRAM
Уровни доступа при наследовании

Подкласс:

private —> Не видно в подклассе

default —> Видно, если в одном пакете

protected —> Видно в подклассе

public —> Видно в подклассе

👉 Java Portal
Please open Telegram to view this post
VIEW IN TELEGRAM
Нужен быстрый генератор OTP в Java?

Вот сниппет, который создаёт случайный 4-значный код с помощью Random и String.format()

Идеально подойдёт для логина, регистрации или проверки пользователя

👉 Java Portal
Please open Telegram to view this post
VIEW IN TELEGRAM
Мягкое завершение работы Spring Boot приложения

1. Прекратить приём новых запросов

—> Приложение прекращает принимать новые входящие запросы.

2. Дать текущим запросам завершиться

—> Текущим запросам разрешается завершиться

3. Завершить внутренние задачи

—> Внутренние задачи, такие как запланированные задания, завершаются.

4. Оповестить другие сервисы


—> Приложение уведомляет другие сервисы о подготовке к завершению работы.

👉 Java Portal
Please open Telegram to view this post
VIEW IN TELEGRAM
This media is not supported in your browser
VIEW IN TELEGRAM
Быстрее находите и устраняйте ошибки в коде с IntelliJIDEA 👩‍💻

Используйте ⇧F2 (macOS) / Shift + F2 (Windows, Linux), чтобы переходить между проблемами.

Куда бы ни был установлен курсор, IDE сразу перенесёт вас к проблеме с полезными объяснениями и предложениями по быстрому исправлению

👉 Java Portal
Please open Telegram to view this post
VIEW IN TELEGRAM
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