💻🧩 Когда 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
🐳 Магия Docker CLI
Многие продолжают вручную вытаскивать логи и конфиги из Docker-контейнеров через кучу лишних движений. А ведь есть команда, которая делает это за секунду — docker cp.
🔹 Зачем это нужно
— Позволяет копировать файлы внутрь или наружу контейнера без томов и перезапуска.
— Удобно для быстрой отладки, логов или правки конфигов в рантайме.
— Работает даже с остановленными контейнерами.
🔹 Как использовать
— Забрать файл: docker cp container_id:/path/in/container ./local/path
— Закинуть файл: docker cp ./my.conf container_id:/etc/my.conf
— Можно использовать имена контейнеров, относительные пути и даже в CI/CD пайплайнах.
💬 Использовали раньше?
🐸 Библиотека джависта #буст
Многие продолжают вручную вытаскивать логи и конфиги из Docker-контейнеров через кучу лишних движений. А ведь есть команда, которая делает это за секунду — docker cp.
🔹 Зачем это нужно
— Позволяет копировать файлы внутрь или наружу контейнера без томов и перезапуска.
— Удобно для быстрой отладки, логов или правки конфигов в рантайме.
— Работает даже с остановленными контейнерами.
🔹 Как использовать
— Забрать файл: docker cp container_id:/path/in/container ./local/path
— Закинуть файл: docker cp ./my.conf container_id:/etc/my.conf
— Можно использовать имена контейнеров, относительные пути и даже в CI/CD пайплайнах.
Please open Telegram to view this post
VIEW IN TELEGRAM
В каждой команде бывают специалисты, чья ценность не укладывается в привычные метрики продуктивности. Они редко в топе по количеству закрытых задач, но именно их вклад критически важен для общего результата.
Такие люди помогают менее опытным коллегам разобраться в сложных вопросах, улучшают архитектуру и процессы незаметными правками, предотвращают ошибки ещё до того, как они стали задачами, создают культуру качества, которую не видно в отчётах.
Иногда стоит пересмотреть, как мы оцениваем эффективность. Потому что не все цифры отражают суть.
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM