Случайно удалили ветку, а в ней была недоделанная фича или рабочий хотфикс? Паника близко?
git reflog
Показывает историю всех действий в Git — коммиты, переключения веток, ребейзы и даже force-push’и. Идеально, чтобы вернуть ветку из забвения или откатиться на стабильное состояние.
Например:
git checkout -b restore-branch HEAD@{3}
Создаёт новую ветку с того момента, где были 3 действия назад.
Please open Telegram to view this post
VIEW IN TELEGRAM
Forwarded from Библиотека тестировщика | QA, тестирование, quality assurance, manual testing, autotesting, ручное тестирование, автотесты
Приватность, скорость, расширенные функции — что выбрать? Разбираем популярные форки браузеров и их преимущества.
Что в статье:
Браузер — это не просто окно в интернет, а инструмент, который должен соответствовать вашим требованиям. Делитесь своим опытом в комментариях!
Прочитать подробнее статью
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
JDBC — для тех, кто хочет полный контроль. Пишете SQL сами и понимаете, что происходит в базе. Однако код будет повторяться, а отладка — настоящая головная боль. Как только проект растет, поддержка становится вызовом.
JPA — путь абстракции. Работаете с объектами, а не с SQL. Это удобство, но скрытая магия и потеря контроля могут создать проблемы с производительностью и отладкой в крупных проектах.
Please open Telegram to view this post
VIEW IN TELEGRAM
💻🧩 Когда HR требует LeetCode Hard: почему компании стреляют себе в ногу
Когда твоя компания не Google, но хочет отбирать кандидатов как Google — получается дорогой фейл и текучка талантов. Разбираемся в трендах IT-рекрутинга, которые выглядят как выстрел в ногу.
➡️ Читать статью
🐸 Библиотека программиста
Когда твоя компания не Google, но хочет отбирать кандидатов как Google — получается дорогой фейл и текучка талантов. Разбираемся в трендах IT-рекрутинга, которые выглядят как выстрел в ногу.
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
Forwarded from Библиотека задач по Java | тесты, код, задания
Что будет результатом кода?
👍🏼 — true true
🔥 — true false
👾 — false true
⚡️ — false false
🐸 Библиотека задач по Java
👍🏼 — true true
🔥 — true false
👾 — false true
⚡️ — false false
Please open Telegram to view this post
VIEW IN TELEGRAM
🔹 JPoint 2025
📅 Даты: 3–4 апреля 2025 года
📍 Место проведения: Москва, Россия
JPoint — крупнейшая Java-конференция в России, собирающая опытных разработчиков для обсуждения современных практик Java-разработки, новых функций языка, нюансов работы с Spring, а также тем, связанных с JVM, Kotlin и Scala.
🔹 JavaLand 2025
📅 Даты: 1–3 апреля 2025 года
📍 Место проведения: Нюрбург, Германия
JavaLand — ежегодная конференция для Java-разработчиков, проходящая в уникальной обстановке парка развлечений. Мероприятие предлагает множество докладов, воркшопов и возможностей для нетворкинга с международным сообществом.
🔹 GeeCON 2025
📅 Даты: 14–16 мая 2025 года
📍 Место проведения: Краков, Польша
GeeCON — одна из крупнейших европейских конференций, посвященных Java и JVM-технологиям. В программе — выступления ведущих экспертов, обсуждение современных трендов и практик разработки.
Please open Telegram to view this post
VIEW IN TELEGRAM
🎭 Dev Memes: 1 апреля, а баги всё те же
Сегодня день официально разрешённого троллинга — и мы не могли пройти мимо. Собрали подборку мемов для Джавистов, которые вызывают лёгкое желание уволиться.
👉 Всё это — из нашего мемного канала «Библиотека IT-мемов»
🐸 Библиотека джависта
Сегодня день официально разрешённого троллинга — и мы не могли пройти мимо. Собрали подборку мемов для Джавистов, которые вызывают лёгкое желание уволиться.
👉 Всё это — из нашего мемного канала «Библиотека IT-мемов»
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
Все знают Ctrl + P (подсказка параметров метода), но мало кто юзает Shift + Ctrl + I → быстрый просмотр определения.
🔹 Зачем это нужно
— Позволяет посмотреть реализацию метода/класса/интерфейса без перехода в другой файл.
— Работает с любыми символами: методами, переменными, константами, даже SQL-мэпперами в MyBatis.
— Незаменимо, если не хочешь терять контекст текущего кода.
🔹 Как использовать
— Наведи курсор на метод, поле или класс, нажми Ctrl + Shift + I — появится всплывающее окно с реализацией.
— Работает и в дебаге, и при просмотре внешних библиотек (если есть исходники).
Please open Telegram to view this post
VIEW IN TELEGRAM
Пилим крутую подборку ноутов для кодеров в 2025-м и хотим собрать реальный фидбек от тех, кто в теме!
Какой ноут спасает вас в кодинге и почему?
Расскажите все:
🔹 Что за зверь (модель, начинка)
🔹 Где жмет и где радует в ежедневной работе
🔹 На какие фишки смотреть при выборе
🔹 Как вам с ним живется
Топовые советы попадут в нашу статью. Сделаем годный гайд, который реально поможет коллегам.
Please open Telegram to view this post
VIEW IN TELEGRAM
Задерживаетесь с реализацией функционала или сталкиваетесь с трудностями в написании кода? Попробуйте этот промпт, чтобы AI помог вам:
📝 Промпт:
Analyze the following code snippet and suggest improvements for faster development. Identify areas for simplification, recommend reusable components, and provide best practices for making the code more maintainable.
// Вставьте ваш код здесь
— Добавьте
Suggest refactor strategies to improve readability and maintainability
, если ваш код слишком сложный. — Добавьте
Recommend using design patterns to structure the solution
, если ищете элегантное решение. — Добавьте
Provide alternatives for reducing code duplication
, если вам нужно сделать код более универсальным.Please open Telegram to view this post
VIEW IN TELEGRAM
JavaRocks - канал доказывающий что Java-рулит.
Собираем лучшие посты со всего русскоязычного телеграм + пишем свои собственные мнения, фишки и трюки языка.
- основы
- трюки и фишки языка
- тесты на проверку знаний
- паттерны проектирования на Java
Подпишись и изучай Java. Никакой воды. @javarocks
Реклама. Киренкина Марина Дмитриевна, ИНН 345702417736. Erid 2VtzqxRoh1S
Собираем лучшие посты со всего русскоязычного телеграм + пишем свои собственные мнения, фишки и трюки языка.
- основы
- трюки и фишки языка
- тесты на проверку знаний
- паттерны проектирования на Java
Подпишись и изучай Java. Никакой воды. @javarocks
Реклама. Киренкина Марина Дмитриевна, ИНН 345702417736. Erid 2VtzqxRoh1S
Please open Telegram to view this post
VIEW IN TELEGRAM
Проверять данные вручную через if-ы — больно, скучно и не масштабируется.
Bean Validation (javax.validation) позволяет валидировать красиво и декларативно, не превращая код в болото.
implementation("org.springframework.boot:spring-boot-starter-validation")
ИЛИ
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-validation</artifactId>
</dependency>
public class UserRequest {
@NotBlank(message = "Имя не должно быть пустым")
private String name;
@Email(message = "Некорректный email")
private String email;
@Min(value = 18, message = "Возраст должен быть 18+")
private int age;
// геттеры и сеттеры
}
@PostMapping("/users")
public ResponseEntity<?> createUser(@Valid @RequestBody UserRequest request) {
userService.save(request);
return ResponseEntity.ok().build();
}
Без @Valid перед DTO ничего не сработает.
@RestControllerAdvice
public class ExceptionHandlerController {
@ExceptionHandler(MethodArgumentNotValidException.class)
public ResponseEntity<?> handleValidationErrors(MethodArgumentNotValidException ex) {
List<String> errors = ex.getBindingResult().getFieldErrors().stream()
.map(err -> err.getField() + ": " + err.getDefaultMessage())
.toList();
return ResponseEntity.badRequest().body(errors);
}
}
Теперь ошибки приходят красиво и читаемо в JSON.
Если нужно что-то особенное — например, проверка страны:
@Constraint(validatedBy = CountryValidator.class)
@Target({ ElementType.FIELD })
@Retention(RetentionPolicy.RUNTIME)
public @interface ValidCountry {
String message() default "Страна не поддерживается";
}
public class CountryValidator implements ConstraintValidator<ValidCountry, String> {
private final List<String> allowed = List.of("RU", "US", "DE");
public boolean isValid(String value, ConstraintValidatorContext ctx) {
return allowed.contains(value);
}
}
Please open Telegram to view this post
VIEW IN TELEGRAM
Некоторые утверждают, что checked исключения повышают надёжность системы, вынуждая явно обрабатывать потенциально нестабильные участки кода. Такой подход позволяет контролировать поток ошибок и уменьшать вероятность неожиданных сбоев на проде.
С другой стороны, есть ряд проблем: они увеличивают связность кода, затрудняют его сопровождение и зачастую нарушают принцип разделения ответственности. Особенно остро это проявляется в слоях бизнес-логики, где обработка технических исключений может вести к неочевидному поведению и дублированию.
— Где для вас проходит граница между оправданным использованием исключений и архитектурным перегибом?
— Используете ли вы checked exceptions в бизнес-логике? Или предпочитаете более гибкий подход с кастомными unchecked-исключениями и централизованной обработкой?
Please open Telegram to view this post
VIEW IN TELEGRAM