Forwarded from Криптонит. Разработка, наука, шифрование
This media is not supported in your browser
VIEW IN TELEGRAM
Мы подарим два эксклюзивных новогодних набора нашим подписчикам — распаковку подарков оставили в видео
Что для этого нужно сделать?
Что в новогоднем подарке?
Результаты подведём 22 декабря в 15:00. Бот выберет победителей случайным образом.
Полные правила конкурса можно почитать тут.
#конкурс #мерч
Please open Telegram to view this post
VIEW IN TELEGRAM
❤3👍3🔥2
Когда рефакторите legacy-код или чистите архитектуру — приходится делать десятки преобразований. А вы знали, что в IDEA есть универсальное меню для всех рефакторингов?
— Открывает контекстное меню со всеми доступными рефакторингами для текущего элемента
— Автоматически фильтрует опции в зависимости от контекста (переменная, метод, класс)
— Позволяет выбрать нужную операцию по цифре или первой букве
— Не нужно помнить десятки отдельных хоткеев — один хоткей открывает все варианты
— Молниеносный доступ к редким, но мощным рефакторингам (Extract Parameter Object, Introduce Parameter, Pull Members Up)
— Безопасно переименовывает, перемещает и трансформирует код с учётом всех зависимостей
— Особенно полезно для сложных преобразований, которые вручную делать долго и опасно
— Поставьте курсор на переменную, метод, класс или любой элемент кода
— Нажмите
Ctrl+Alt+Shift+T (Windows/Linux) или ⌃+T (macOS)— Выберите нужный рефакторинг из списка: Extract Method, Rename, Change Signature, Inline и другие
— Настройте параметры → Enter → готово. IDEA сама обновит все использования
Подписывайся на наш канал в Max
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥6❤4👍3
🧠 Polyglot Persistence: как современные системы живут с десятками баз данных
🔥 23 декабря в 20:00 мск — открытый вебинар в OTUS.
Одна база данных больше не справляется с требованиями современного мира. Сегодня компании вроде Avito, Yandex, Ozon и Spotify объединяют PostgreSQL, ClickHouse, Redis, Kafka, Elasticsearch и десятки других инструментов в единую экосистему, где каждая БД отвечает за свой кусочек производительности.
📌 На вебинаре разберём:
— Принципы Polyglot Persistence и как распределять роли между СУБД
— Как связать PostgreSQL, ClickHouse, Redis и Kafka без потери согласованности
— Как работают event-driven архитектуры, CDC и outbox-паттерн в боевых системах
— Как проектировать отказоустойчивые data-платформы
👉 Регистрация: https://vk.cc/cSxfET
Бесплатное занятие приурочено к старту курса Highload Architect, где вы научитесь проектировать системы, выдерживающие миллионы запросов.
Реклама. ООО «Отус онлайн-образование», ОГРН 1177746618576
🔥 23 декабря в 20:00 мск — открытый вебинар в OTUS.
Одна база данных больше не справляется с требованиями современного мира. Сегодня компании вроде Avito, Yandex, Ozon и Spotify объединяют PostgreSQL, ClickHouse, Redis, Kafka, Elasticsearch и десятки других инструментов в единую экосистему, где каждая БД отвечает за свой кусочек производительности.
📌 На вебинаре разберём:
— Принципы Polyglot Persistence и как распределять роли между СУБД
— Как связать PostgreSQL, ClickHouse, Redis и Kafka без потери согласованности
— Как работают event-driven архитектуры, CDC и outbox-паттерн в боевых системах
— Как проектировать отказоустойчивые data-платформы
👉 Регистрация: https://vk.cc/cSxfET
Бесплатное занятие приурочено к старту курса Highload Architect, где вы научитесь проектировать системы, выдерживающие миллионы запросов.
Реклама. ООО «Отус онлайн-образование», ОГРН 1177746618576
👍3🔥3❤2
logback-spring.xml).Что это даёт:
✅ Логи отправляются в очередь и обрабатываются отдельным фоновым потоком
✅ Основной поток не блокируется на I/O
✅ Производительность приложения выше под нагрузкой
Асинхронный логгер - простой способ убрать лишние задержки и сделать сервис отзывчивее.
Подписывайся на наш канал в Max
Please open Telegram to view this post
VIEW IN TELEGRAM
👍15❤7🔥7
❓Java Guru - вопросы и задачи с собеседований. Канал с помощью которого ты точно получишь оффер!
👩💻 Android Developer - канал для андроид разработчиков! Статьи, вопросы и задачи с собеседований, лайфхаки.
👩💻 Kotlin Developer - самый топовый канал для котлин разработчика!
📕 Книги для Java программиста - канал с книгами по Java. Постоянно выходят новинки как на русском так и на английском языке!
📰 Java News - канал с последними новостями из мира Java!
📕 Книги для Java программиста - канал с книгами по Java. Постоянно выходят новинки как на русском так и на английском языке!
📰 Java News - канал с последними новостями из мира Java!
Please open Telegram to view this post
VIEW IN TELEGRAM
👍4❤3🔥2😁1
MapStruct — это code-generation библиотека для автоматического маппинга между Java-объектами.
Работает на этапе компиляции, генерирует чистый код без рефлексии — в разы быстрее ModelMapper и Dozer.
Нужно добавить две зависимости: саму библиотеку mapstruct и процессор mapstruct-processor. Процессор отвечает за генерацию кода во время компиляции.
Критически важно правильно настроить maven-compiler-plugin, именно он запускает annotation processors. В секции annotationProcessorPaths прописываем mapstruct-processor, а если используете Lombok, добавляем его тоже плюс специальный binding для их совместной работы.
Создаёте обычный Java-интерфейс с аннотацией @Mapper(componentModel = "spring"). Параметр componentModel указывает, что MapStruct должен сгенерировать Spring-бин, который можно инжектить через конструктор.
В интерфейсе объявляете методы-конвертеры: например UserDto toDto(User user) или List<UserDto> toDtoList(List<User> users). MapStruct сам поймёт, какие поля во что маппить, если названия совпадают.
Когда названия полей отличаются или нужна дополнительная логика, используйте аннотацию @Mapping:
MapStruct умеет автоматически маппить вложенные структуры. Если у вас в User есть поле Address, а в UserDto есть AddressDto — создайте отдельный AddressMapper и укажите его в параметре uses = {AddressMapper.class}.
MapStruct сам найдёт нужный маппер и применит его для вложенных объектов. Это работает рекурсивно для любой глубины вложенности.
Часто нужно не создавать новый объект, а обновить существующий. Для этого используйте аннотацию @MappingTarget на втором параметре метода. MapStruct сгенерирует код, который обновит только нужные поля.
Добавьте @BeanMapping(nullValuePropertyMappingStrategy = NullValuePropertyMappingStrategy.IGNORE) — тогда null-значения из DTO не затрут существующие данные в Entity.
Для сложной логики добавьте в интерфейс default-методы. Пометьте их @Named("имя") и ссылайтесь через qualifiedByName. Например, для конвертации enum в русский текст или склейки нескольких полей.
Можно также создать отдельный класс с @Component и helper-методами, затем подключить его через параметр uses.
MapStruct анализирует ваш интерфейс на этапе компиляции, смотрит на типы полей, их названия и аннотации. Затем генерирует простой Java-код с прямым присвоением значений, никакой магии, рефлексии или proxy.
Сгенерированный код можно открыть и прочитать. Он выглядит так, будто вы написали его вручную. Это упрощает отладку и понимание происходящего.
Подписывайся на наш канал в Max
Please open Telegram to view this post
VIEW IN TELEGRAM
👍17❤6🔥4
✔️ Используй immutable-объекты
✔️ Или передавай данные между потоками через сообщения, а не через общие изменяемые структуры
Подписывайся на наш канал в Max
Please open Telegram to view this post
VIEW IN TELEGRAM
👍8🔥3❤2
🔥 Последний шанс: набор на курс Highload Architect в этом году завершается! 🚀
Если хотите перейти от разработки к архитектуре высоконагруженных систем — действуйте сейчас.
Чтобы попасть в поток и зафиксировать спеццену, нужно успеть пройти вступительное тестирование до закрытия набора.
Вы сможете прокачать:
- Проектирование масштабируемых систем под миллионы запросов
- Оптимизацию производительности и отказоустойчивые архитектуры
- Практику с современными инструментами highload-разработки
- Применение проверенных паттернов и подходов в продакшене
🗓 Старт уже совсем скоро, места ограничены. Формат — онлайн, реальные кейсы, проект с защитой и детальный фидбек от практиков.
👉 Пройдите вступительное тестирование прямо сейчас: https://vk.cc/cSDU0q
Подтвердите уровень и поступайте в группу со спецценой. Подробности по скидке уточняйте у менеджера.
Реклама. ООО «Отус онлайн-образование», ОГРН 1177746618576
Если хотите перейти от разработки к архитектуре высоконагруженных систем — действуйте сейчас.
Чтобы попасть в поток и зафиксировать спеццену, нужно успеть пройти вступительное тестирование до закрытия набора.
Вы сможете прокачать:
- Проектирование масштабируемых систем под миллионы запросов
- Оптимизацию производительности и отказоустойчивые архитектуры
- Практику с современными инструментами highload-разработки
- Применение проверенных паттернов и подходов в продакшене
🗓 Старт уже совсем скоро, места ограничены. Формат — онлайн, реальные кейсы, проект с защитой и детальный фидбек от практиков.
👉 Пройдите вступительное тестирование прямо сейчас: https://vk.cc/cSDU0q
Подтвердите уровень и поступайте в группу со спецценой. Подробности по скидке уточняйте у менеджера.
Реклама. ООО «Отус онлайн-образование», ОГРН 1177746618576
❤2👍2🔥2😁2
Java Full Course for free ☕️ (2025) 12 Hours
Java tutorial for beginners full course.
🌐 🗣 СМОТРЕТЬ VKVIDEO
Подписывайся на наш канал в Max🟪
Java tutorial for beginners full course.
Подписывайся на наш канал в Max
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥5❤2👍2😁1
Подписывайся на наш канал в Max
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥4❤3👍2
24 декабря(уже завтра!) в 19:00 по мск приходи онлайн на открытое собеседование, чтобы посмотреть на настоящее интервью на Middle Java-разработчика.
Как это будет:
📂 Сергей Чамкин, старший разработчик из Uzum, ex-WildBerries, будет задавать реальные вопросы и задачи разработчику-добровольцу
📂 Cергей будет комментировать каждый ответ респондента, чтобы дать понять чего от вас ожидает собеседующий на интервью
📂 В конце можно будет задать любой вопрос Сергею
Это бесплатно. Эфир проходит в рамках менторской программы от ШОРТКАТ для Java-разработчиков, которые хотят повысить свой грейд, ЗП и прокачать скиллы.
Переходи в нашего бота, чтобы получить ссылку на эфир → @shortcut_sh_bot
Реклама.
О рекламодателе.
Please open Telegram to view this post
VIEW IN TELEGRAM
❤4👍2🔥2
Где вы чаще всего пишете код?
❤️ IntelliJ IDEA
🤩 GIGA IDE
🔥 Vim/Emacs
👍🏼 Eclipse
⚡️ VS Code
😁 Notepad++
❓ Пишите в комментарии интересные/полезные фичи вашего инструмента
Подписывайся на наш канал в Max🟪
❤️ IntelliJ IDEA
🤩 GIGA IDE
🔥 Vim/Emacs
👍🏼 Eclipse
⚡️ VS Code
😁 Notepad++
Подписывайся на наш канал в Max
Please open Telegram to view this post
VIEW IN TELEGRAM
❤146🤩13⚡7👍6😁6🎄5🔥1