Большинство разработчиков пользуются всего парой Git команд.
Вот еще 15, которые сэкономят вам кучу времени.
👉 Java Portal
Вот еще 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 → Сравнивает две ветки. Видно, что именно в них различается.
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥9❤5
Подсказка по Java: начиная с Java 9 можно использовать
List<Integer> numbers = List.of(1, 2, 3, 4, 5, 6, 7, 8, 9);
Вместо:
Вы можете сделать следующее:
👉 Java Portal
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]
Please open Telegram to view this post
VIEW IN TELEGRAM
👍16❤8
Парень собрал репозиторий, чтобы показать новые встроенные возможности отказоустойчивости в Spring Framework 7. Никаких дополнительных зависимостей вроде spring-retry — все уже под капотом 🤯
Можно использовать декларативную аннотацию
Можно написать свой
Нужен больше контроля — бери
Хочешь ограничить число одновременных подключений — используй
👉 Java Portal
Можно использовать декларативную аннотацию
Retry, чтобы настроить, как и когда нужно повторять выполнение Можно написать свой
listener, чтобы получить наблюдаемость за разными событиями.Нужен больше контроля — бери
RetryTemplate Хочешь ограничить число одновременных подключений — используй
ConcurrentPlease open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
❤5🔥4