Java Portal | Программирование
11.6K subscribers
1.57K photos
118 videos
45 files
1.63K links
Присоединяйтесь к нашему каналу и погрузитесь в мир для Java-разработчика

Связь: @devmangx

РКН: https://clck.ru/3H4WUg
Download Telegram
Ультимативный онлайн-справочник по командам и операциям Docker

Инструмент быстрого доступа который превращает работу с Docker в простой и предсказуемый процесс. Команды и операции аккуратно сгруппированы по темам, чтобы нужное решение находилось за считанные секунды

Идея сервиса минимализм и польза: ничего лишнего, только команды, которые реально применяются в ежедневной работе с контейнерами 👌

👉 Java Portal
Please open Telegram to view this post
VIEW IN TELEGRAM
❤2
💡 Java: Checked vs Unchecked Exceptions

✅ Checked (IOException): compiler требует обработать exception через try/catch или объявить его через throws
✅ Unchecked (RuntimeException): обработка на этапе компиляции не требуется
✅ Используйте checked exceptions только для ошибок, после которых возможно восстановление

#Java #ErrorHandling

👉 Java Portal
Please open Telegram to view this post
VIEW IN TELEGRAM
❤2
This media is not supported in your browser
VIEW IN TELEGRAM
Ценный ресурс для разработчиков онлайн справочник «DevDocs»

Сборник документации множества языков программирования, библиотек и фреймворков в одном интерфейсе.

Сервис обеспечивает быстрый поиск, возможность работы офлайн и гибкую настройку отображения.

Экономьте время и работайте эффективно 👍

👉 Java Portal
Please open Telegram to view this post
VIEW IN TELEGRAM
👍2
🚀 Spring Boot 4: отдельный starter для RestClient

✅ spring-boot-starter-restclient — для imperative HTTP
✅ WebClient → spring-boot-starter-webclient
✅ Единые настройки через spring.http.clients.*

#SpringBoot4 #RestClient

👉 Java Portal
Please open Telegram to view this post
VIEW IN TELEGRAM
❤2
💡 Java: не раскрывайте изменяемое внутреннее состояние — возвращайте DTO или копии

✅ Getters, возвращающие изменяемые коллекции напрямую, могут быть опасны
✅ Вызывающий код сможет изменить внутреннее состояние объекта без вашего контроля
✅ Предпочитайте DTO, List.copyOf() или unmodifiable views

#Java #Encapsulation

👉 Java Portal
Please open Telegram to view this post
VIEW IN TELEGRAM
❤2
Мёд по Git: шпаргалка которая закрывает 90% задач

Нашёл мощную cheat sheet по Git всё самое нужное на нескольких страницах: инициализация, коммиты, ветки, merge, diff, stash, rebase и работа с удалёнными репозиториями.

Особенно удобно, что показаны не только команды, но и как всё двигается внутри Git: staging area, история коммитов, ветки и их слияние.

Сохраняем PDF за лайк ❤️

👉 Java Portal
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
❤6
This media is not supported in your browser
VIEW IN TELEGRAM
Полезный онлайн-сервис для создания диаграмм и схем

Удобный бесплатный инструмент прямо в браузере: делайте блок-схемы, UML, ER-диаграммы, карты процессов и даже схемы электроники

Поддерживает множество форматов и не требует установки 🚬

👉 Java Portal
Please open Telegram to view this post
VIEW IN TELEGRAM
👍2
💡 Java: не используйте Thread.sleep() для ожидания выполнения задачи — используйте синхронизацию или scheduler.

❌ Thread.sleep() — это всего лишь предположение: выполнение может возобновиться слишком рано или слишком поздно
✅ Для координации используйте wait() / notify() или CountDownLatch
✅ Для повторяющихся задач используйте ScheduledExecutorService

#Java #Concurrency

👉 Java Portal
Please open Telegram to view this post
VIEW IN TELEGRAM
👍3
💡 Spring Boot 4: включите Virtual Threads — ожидание HTTP requests станет менее ресурсоёмким.

✅ Установите spring.threads.virtual.enabled=true
✅ Продолжайте использовать привычный код с RestClient
✅ Больше одновременных API-вызовов в ожидании и меньше тяжёлых OS threads

#SpringBoot4 #VirtualThreads

👉 Java Portal
Please open Telegram to view this post
VIEW IN TELEGRAM
❤2
Интерактивные курсы по Git

GitHub запустила cборку онлайн курсов, где можно прокачать навыки работы с Git и GitHub бесплатно. Ветки, коммиты, pull request’ы, Actions и реальные командные сценарии.

Быстрый и лёгкий способ подтянуть базу и перестать гуглить «как откатить коммит» в неподходящий момент.

👉 Java Portal
Please open Telegram to view this post
VIEW IN TELEGRAM
❤2
Если кто-то ещё не знает об этой легенде

TheAlgorithms/Java — огромный open-source репозиторий с реализациями алгоритмов и структур данных на чистом Java.
Сортировки, поиск, графы, динамическое программирование, структуры данных и многое другое — всё с исходным кодом, который можно разбирать и запускать самостоятельно.

Отличная база для прокачки алгоритмов, подготовки к собеседованиям и повторения Java.

https://github.com/thealgorithms/java

👉 Java Portal
Please open Telegram to view this post
VIEW IN TELEGRAM
👍4
Большинство разработчиков знают базовую цепочку: git add → git commit → git push

Но Git в production — совсем другая история. Что делать, если:

→ Нужно работать над новой feature, не затрагивая main?
→ Пока вы работали, в remote появились новые изменения?
→ Нужно перенести конкретный hotfix в release branch?
→ Неудачный commit уже попал в production?
→ Вы случайно потеряли commit?
→ Нужно найти commit, который привнёс bug?

Вот здесь особенно полезны:

git fetch
git rebase
git cherry-pick
git revert
git reflog
git bisect

Шпаргалка с командами, реальными use cases и примерами, которые действительно пригодятся в работе.

👉 Java Portal
Please open Telegram to view this post
VIEW IN TELEGRAM
❤3
💡 Java: форматируйте код одинаково каждый раз

✅ Выберите единый code style и придерживайтесь его
✅ Автоматизируйте форматирование с помощью Spotless или Checkstyle в build
✅ Используйте format on save / CI, чтобы стиль кода не зависел от того, кто его написал

#Java #CleanCode

👉 Java Portal
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥2
99% Java-разработчиков хотя бы раз допускали эту ошибку.

Всё работает... пока однажды не перестаёт. Использование == для сравнения String может казаться правильным во время тестирования из-за String interning, но такой код может сломаться, когда значения приходят из базы данных, REST API или пользовательского ввода.

Самое безопасное правило простое: Используйте .equals() для сравнения значений.

Ставьте константу первой:
"SUCCESS".equals(status)


Так вы избежите NullPointerException, даже если status == null. Такие небольшие привычки помогают предотвращать реальные баги в production.

👉 Java Portal
Please open Telegram to view this post
VIEW IN TELEGRAM
👍3❤2
💡 Java: сортируйте с помощью Comparator.comparing() и забудьте про громоздкий compare()

✅ Сортировка по полю в одну строку
✅ Используйте .thenComparing(...) для дополнительной сортировки при одинаковых значениях
✅ Работает с method references, например User::getLastName

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