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

Связь: @devmangx

РКН: https://clck.ru/3H4WUg
加入频道
5 лучших задач на бинарные деревья для практики:

1. Обход в постфиксе (PostOrder) – https://bit.ly/3SdwWUd
2. Обход в префиксе (PreOrder) – https://bit.ly/3SbR4WL
3. Обход в инфиксе (InOrder) – https://bit.ly/3xUEsMf
4. Вывод всех листьев (Print leaf) – https://bit.ly/3BnrJCE
5. Уровень с максимальной суммой (Max sum level) – https://bit.ly/3qNv8FS

Отличная тренировка для собесов и укрепления понимания структур данных! 🚘

👉 Java Portal
Please open Telegram to view this post
VIEW IN TELEGRAM
Что такое монолитная архитектура?

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

- Единый разворачиваемый модуль (обычно WAR или JAR файл)
- Общая память, база данных и кодовая база
- Проще в разработке и тестировании на ранних этапах
- Со временем может стать сложной и жёстко связанной

Плюсы
- Удобна для небольших команд
- Меньше накладных расходов при разработке и деплое
- Прямая и понятная отладка

Минусы
- Сложнее масштабировать отдельные компоненты
- Длительное время развёртывания (для крупных проектов)
- Трудно управлять при работе больших команд

👉 Java Portal
Please open Telegram to view this post
VIEW IN TELEGRAM
Особенности и ограничения Java Records

Особенности Java Records:

Снижение шаблонного кода — Нет необходимости вручную писать конструкторы,
геттеры, equals(), hashCode() и toString()

Неизменяемы по умолчанию — все поля являются final

Эффективны по памяти — JVM оптимизирует выделение памяти.

Без дополнительных зависимостей — являются частью Java с версии 14

Инкапсуляция — данные хорошо структурированы и неизменяемы.

Ограничения Java Records:

Нет сеттеров — поля final и не могут быть изменены

Нельзя расширять классы — Records неявно являются final и не могут наследоваться от других классов.

Ограниченная настройка — не поддерживают аннотации вроде @JsonIgnore для полей

👉 Java Portal
Please open Telegram to view this post
VIEW IN TELEGRAM
💡 Подсказка: при использовании проекций на основе интерфейсов (interface-based projections) вы можете получить доступ к вложенным объектам, указав путь (path) в названии геттера. Посмотрите, как метод getDepartmentDeptName() получает deptName из связанной сущности Department

👉 Java Portal | #tips
Please open Telegram to view this post
VIEW IN TELEGRAM
Понятие ошибки и исключения в 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