Java Portal | Программирование
12.9K subscribers
1.13K photos
92 videos
36 files
1.01K links
Присоединяйтесь к нашему каналу и погрузитесь в мир для Java-разработчика

Связь: @devmangx

РКН: https://clck.ru/3H4WUg
Download Telegram
Большинство разработчиков пользуются всего парой Git команд.

Вот еще 15, которые сэкономят вам кучу времени.

git stash → Сохранить работу без коммита. Можно прыгать по веткам, не теряя правки.

git reflog → Находит потерянные коммиты. Спасательный круг, если что-то пошло не так с git reset.

git bisect → Двоичный поиск по коммитам, чтобы вычислить баг. Гораздо быстрее ручной проверки.

git rebase -i → Причесывает историю перед пушем. Сквош, перестановка или правка коммитов.

git cherry-pick → Применяет нужные коммиты в другую ветку. Без полноценного merge.

git diff --staged → Показывает, что именно пойдет в коммит. Помогает поймать косяки заранее.

git commit --amend → Поправить последний коммит или добавить забытые файлы.

git reset HEAD~1 → Откатывает последний коммит, но оставляет изменения. Начинаешь заново, ничего не теряя.

git clean -fd → Удаляет все неотслеживаемые файлы и папки. Полная очистка, когда нужно начать на чистую.

git log --oneline --graph → Компактная визуализация истории. Ветки и слияния видно как на ладони.

git blame → Показывает, кто и когда писал каждую строку. Удобно искать момент появления бага.

git show → Детальная инфа по любому коммиту. И изменения, и метаданные.

git remote -v → Список всех удаленных репозиториев. Полезно, чтобы проверить, куда вы пушите.

git fetch --prune → Обновляет информацию о ремоутах и удаляет устаревшие ветки.

git diff branch1..branch2 → Сравнивает две ветки. Видно, что именно в них различается.


👉 Java Portal
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥95
Подсказка по Java: начиная с Java 9 можно использовать Stream.takeWhile() для удобного «нарезания» списков через стримы. Это простой способ взять элементы, пока выполняется нужное условие, без лишнего кода.

List<Integer> numbers = List.of(1, 2, 3, 4, 5, 6, 7, 8, 9);

Вместо:

List<Integer> result = new ArrayList<>();

for (Integer n : numbers) {
if (n < 5) {
result.add(n);
} else {
break;
}
}
System.out.println(result); // [1, 2, 3, 4]


Вы можете сделать следующее:

result = numbers.stream()
.takeWhile(n -> n < 5)
.toList();
System.out.println(result); // [1, 2, 3, 4]



👉 Java Portal
Please open Telegram to view this post
VIEW IN TELEGRAM
👍168
Парень собрал репозиторий, чтобы показать новые встроенные возможности отказоустойчивости в Spring Framework 7. Никаких дополнительных зависимостей вроде spring-retry — все уже под капотом 🤯

Можно использовать декларативную аннотацию Retry, чтобы настроить, как и когда нужно повторять выполнение

Можно написать свой listener, чтобы получить наблюдаемость за разными событиями.

Нужен больше контроля — бери RetryTemplate

Хочешь ограничить число одновременных подключений — используй Concurrent

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