Надоело писать одни и те же конструкции снова и снова? На помощь приходят Live Templates — инструмент, который позволит генерировать фрагменты кода по паре букв.
Live Templates — это заготовки кода, которые можно вставлять по сокращённым ключам. Например, вместо того чтобы каждый раз писать System.out.println(), достаточно написать sout и нажать Enter. IDEA сама развернёт код.
Live Templates поддерживают Java, Kotlin, JS, Groovy, SQL и XML/HTML.
🔹 sout → System.out.println();
🔹 fori → for (int i=0; i< ; i++) {}
🔹 psvm → public static void main(String[] args) {...}
🔹 ifn → if (obj == null) {}
🔹 prsf → private static final
Полный список live templates: File → Settings→ Editor → Live Templates.
Live Templates – это must-have инструмент для ускорения написания кода. Настройте под себя и забудьте про шаблонный код.
Please open Telegram to view this post
VIEW IN TELEGRAM
Okko приглашает встретить весну вместе с ребятами из Ozon Tech и red_mad_robot 🙌
📅Когда: 6 марта в 18.30
📍Где: Санкт-Петербург, офис Okko, БЦ Атлантик Сити, улица Савушкина 126Б, 24 этаж
👀На повестке:
• От Вани Коньшина, вед. инженера Okko: «Как расширить MDC контекст в реактивных приложениях на Kotlin Coroutines?»
• От Ильи Трусова, разработчика red_mad_robot: «Кодогенерируемая микросервисная архитектура с использованием RAG и GenAI при помощи Meroving».
• От Лёши Круглика, вед. инженера Okko: «Обработка естественного языка (NLP). Асинхронная архитектура. Какие механизмы есть для этого в Java?»
• От Вовы Букина, рук-ля безопасности платформы, и Тимофея Черных, руководителя продуктовой безопасности, из Ozon Tech: «Как можно эксплуатировать шаренные раннеры GitLab'а при атаках на цепочку поставок и как команда автоматизировала их проверку на безопасность».
Регистрируйся тут: https://okkomeetup.timepad.ru/event/3231462?erid=2W5zFJqBarL
📅Когда: 6 марта в 18.30
📍Где: Санкт-Петербург, офис Okko, БЦ Атлантик Сити, улица Савушкина 126Б, 24 этаж
👀На повестке:
• От Вани Коньшина, вед. инженера Okko: «Как расширить MDC контекст в реактивных приложениях на Kotlin Coroutines?»
• От Ильи Трусова, разработчика red_mad_robot: «Кодогенерируемая микросервисная архитектура с использованием RAG и GenAI при помощи Meroving».
• От Лёши Круглика, вед. инженера Okko: «Обработка естественного языка (NLP). Асинхронная архитектура. Какие механизмы есть для этого в Java?»
• От Вовы Букина, рук-ля безопасности платформы, и Тимофея Черных, руководителя продуктовой безопасности, из Ozon Tech: «Как можно эксплуатировать шаренные раннеры GitLab'а при атаках на цепочку поставок и как команда автоматизировала их проверку на безопасность».
Регистрируйся тут: https://okkomeetup.timepad.ru/event/3231462?erid=2W5zFJqBarL
Forwarded from Библиотека девопса | DevOps, SRE, Sysadmin
This media is not supported in your browser
VIEW IN TELEGRAM
👨💻 StackQL: Интерактивное взаимодействие с API через SQL
StackQL предлагает унифицированную среду для управления облачными ресурсами с помощью знакомого SQL-синтаксиса.
➖ Что это такое
StackQL — это открытый фреймворк на основе SQL, который позволяет пользователям выполнять запросы, провижининг и управление облачными и SaaS-ресурсами. Он поддерживает популярные облачные провайдеры, такие как Google Cloud, AWS, Microsoft Azure, Digital Ocean и другие.
Доступен для Windows, MacOS и Linux и поддерживает несколько режимов использования, включая интерактивную оболочку REPL, утилиту командной строки и выполнение запросов через файлы IQL.
➖ Основные Возможности StackQL
Навигация по облачным API: используйте команды
Операции CRUD: выполняйте создание, чтение, обновление и удаление ресурсов с помощью знакомых SQL-запросов.
Примеры:
Создание ресурса:
Обновление ресурса:
Удаление ресурса:
Управление состоянием ресурсов: используйте команды
Остановка инстанса:
➡️ Подробнее про инструмент
🐸 Библиотека devops'a
StackQL предлагает унифицированную среду для управления облачными ресурсами с помощью знакомого SQL-синтаксиса.
StackQL — это открытый фреймворк на основе SQL, который позволяет пользователям выполнять запросы, провижининг и управление облачными и SaaS-ресурсами. Он поддерживает популярные облачные провайдеры, такие как Google Cloud, AWS, Microsoft Azure, Digital Ocean и другие.
Доступен для Windows, MacOS и Linux и поддерживает несколько режимов использования, включая интерактивную оболочку REPL, утилиту командной строки и выполнение запросов через файлы IQL.
Навигация по облачным API: используйте команды
SHOW SERVICES
и SHOW RESOURCES
для ознакомления с доступными сервисами и ресурсами. Например:SHOW SERVICES IN google LIKE '%compute%';SHOW RESOURCES IN google.compute LIKE '%instances%';
Операции CRUD: выполняйте создание, чтение, обновление и удаление ресурсов с помощью знакомых SQL-запросов.
Примеры:
Создание ресурса:
INSERT INTO google.compute.disks (project, zone, name, sizeGb)
SELECT 'stackql-demo', 'europe-north1-a', 'disk-1', 16;
Обновление ресурса:
UPDATE google.compute.disks
SET sizeGb = 32WHERE project = 'stackql-demo' AND zone = 'europe-north1-a' AND name = 'disk-1';
Удаление ресурса:
DELETE FROM google.compute.disks
WHERE disk = 'disk-1' AND project = 'stackql-demo' AND zone = 'europe-north1-a';
Управление состоянием ресурсов: используйте команды
EXEC
для управления состоянием ресурсов, такими как запуск и остановка виртуальных машин. Примеры:Остановка инстанса:
EXEC google.compute.instances.stop @instance = 'instance-1',
@project = 'stackql-demo', @zone = 'europe-north1-a';
Запуск инстанса: EXEC google.compute.instances.start
@instance = 'instance-1', @project = 'stackql-demo',
@zone = 'europe-north1-a';
Please open Telegram to view this post
VIEW IN TELEGRAM
Интересно, как Java Virtual Machine обрабатывает исключения на уровне байт-кода? В статье подробно разбирается, что происходит «под капотом» при возникновении исключений в Java. Узнайте о структуре таблицы исключений, последовательности байт-код инструкций и о том, как JVM управляет потоком выполнения при возникновении ошибок.
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥 Виртуальная стажировка Java – твой путь в мир коммерческой разработки!
🚀 Хочешь научиться писать код, который работает в проде? Тогда тебе сюда! На этом курсе ты:
✅ Под руководством опытного ментора реализуешь проект с нуля до продакшена
✅ Освоишь современные технологии и библиотеки, используемые в реальной разработке
✅ Разберешься в архитектуре, тестировании, развертывании и интеграции
🛠️ Какие технологии освоишь?
- Spring Boot, Gradle, JPA, Hibernate
- RabbitMQ, Docker, Liquibase
- JUnit, Mockito, Lombok, GitHub
- Design patterns, DDD, Clean Code
…и многое другое!
🎯 Главная цель – прокачать инженерное мышление. Не просто кодить, а решать реальные задачи бизнеса с помощью IT.
📌 В конце ты получишь не только кейсовый опыт коммерческой разработки, но и готовый проект в портфолио.
💬 Вопросы? Пиши ментору:
🔹 Telegram: @javagurulv
📩 Email: [email protected]
🖇 Присоединяйся к сообществу!
👉 Телеграм-группа стажировки
👉 Курс на Stepik
🚀 Хочешь научиться писать код, который работает в проде? Тогда тебе сюда! На этом курсе ты:
✅ Под руководством опытного ментора реализуешь проект с нуля до продакшена
✅ Освоишь современные технологии и библиотеки, используемые в реальной разработке
✅ Разберешься в архитектуре, тестировании, развертывании и интеграции
🛠️ Какие технологии освоишь?
- Spring Boot, Gradle, JPA, Hibernate
- RabbitMQ, Docker, Liquibase
- JUnit, Mockito, Lombok, GitHub
- Design patterns, DDD, Clean Code
…и многое другое!
🎯 Главная цель – прокачать инженерное мышление. Не просто кодить, а решать реальные задачи бизнеса с помощью IT.
📌 В конце ты получишь не только кейсовый опыт коммерческой разработки, но и готовый проект в портфолио.
💬 Вопросы? Пиши ментору:
🔹 Telegram: @javagurulv
📩 Email: [email protected]
🖇 Присоединяйся к сообществу!
👉 Телеграм-группа стажировки
👉 Курс на Stepik
Forwarded from Библиотека собеса по Java | вопросы с собеседований
▪️ Аутентификация — процесс
▪️Авторизация — процесс
Аутентификация устанавливает
Please open Telegram to view this post
VIEW IN TELEGRAM
Совет на 2025-й — будьте осторожнее с выбором работы.
IT-рынок штормит: массовые сокращения, заморозка найма, снижение зарплат. В такое время особенно важно отличать стоящие офферы от проходных.
Знакомо? Открываешь вакансию, а там: «Ищем middle-разработчика с опытом 10 лет, знанием 15 языков и готовностью работать за печеньки. Офис в Челябинске, релокация за ваш счет» 🤦♂️
Чтобы не тратить время на сотни сомнительных предложений, подпишитесь на IT Job Hub. Там мы отфильтровываем весь мусор и публикуем только избранные вакансии в стабильных компаниях:
— Зарплаты на уровне рынка, а не на уровне голодного студента
— Никаких «мы молодая и дружная семья» — только адекватные условия
— Проверенные работодатели, а не стартапы из сомнительных сфер
Вакансии удобно разбиты по тегам: #python #java #go #data #devops и по другим направлениям. Без воды и лишнего спама — только проверенные вакансии в знакомых компаниях.
Подписывайтесь, если не хотите упустить работу мечты → @proglib_jobs
IT-рынок штормит: массовые сокращения, заморозка найма, снижение зарплат. В такое время особенно важно отличать стоящие офферы от проходных.
Знакомо? Открываешь вакансию, а там: «Ищем middle-разработчика с опытом 10 лет, знанием 15 языков и готовностью работать за печеньки. Офис в Челябинске, релокация за ваш счет» 🤦♂️
Чтобы не тратить время на сотни сомнительных предложений, подпишитесь на IT Job Hub. Там мы отфильтровываем весь мусор и публикуем только избранные вакансии в стабильных компаниях:
— Зарплаты на уровне рынка, а не на уровне голодного студента
— Никаких «мы молодая и дружная семья» — только адекватные условия
— Проверенные работодатели, а не стартапы из сомнительных сфер
Вакансии удобно разбиты по тегам: #python #java #go #data #devops и по другим направлениям. Без воды и лишнего спама — только проверенные вакансии в знакомых компаниях.
Подписывайтесь, если не хотите упустить работу мечты → @proglib_jobs
— Полный контроль за счёт написания SQL-запросов.
— Без лишней магии запросы выполняются быстро.
— Работает с любой реляционной БД без привязки к ORM.
— Нужно самому писать маппинг объектов, обрабатывать исключения и управлять соединениями.
— Нет встроенного кэширования, ленивой загрузки и работы с графами объектов.
— Нужно следить за autocommit и rollback.
— Работа с БД ведётся через Entity, а SQL-запросы формируются автоматически.
— Поддержка связей (@OneToMany и т. д.), ленивой загрузки и кэширования.
— Поддержка автоматического управления транзакциями через EntityManager.
— Много аннотаций, конфигураций и магии.
— Автоматическая генерация запросов не всегда эффективна.
— Нужно разбираться, какой SQL-запрос Hibernate сгенерировал и почему.
Please open Telegram to view this post
VIEW IN TELEGRAM
Forwarded from Progbook.djvu | Книги для программистов
📚 Mastering Spring Boot 3.0: A comprehensive guide to building scalable and efficient backend systems with Java and Spring (2024)
✍️ Автор: Ahmet Meric
📃 Страниц: 256
Автор подробно разбирает архитектурные паттерны DDD, CQRS и event sourcing, реактивнуб разработку REST API, продвинутые методы тестирования и обеспечение безопасности приложений. Также описывает подходы к контейнеризации и оркестрации с Spring Boot 3.0, а также интеграции Kafka для построения событийно-ориентированных систем.
Пошаговые примеры помогают освоить современные практики разработки и развертывания бэкенд-систем. Читатель научится применять архитектурные решения, настраивать тестирование и защищать приложения, используя все возможности Spring Boot 3.0.
✍️ Автор: Ahmet Meric
📃 Страниц: 256
Автор подробно разбирает архитектурные паттерны DDD, CQRS и event sourcing, реактивнуб разработку REST API, продвинутые методы тестирования и обеспечение безопасности приложений. Также описывает подходы к контейнеризации и оркестрации с Spring Boot 3.0, а также интеграции Kafka для построения событийно-ориентированных систем.
Пошаговые примеры помогают освоить современные практики разработки и развертывания бэкенд-систем. Читатель научится применять архитектурные решения, настраивать тестирование и защищать приложения, используя все возможности Spring Boot 3.0.
Проверьте свои знания, ответив на 8 вопросов – https://proglib.io/w/2842bea1
🧐 Кому подойдет?
Разработчикам, которые знают любой объектно-ориентированный язык программирования и хотят углубиться в архитектурные паттерны.
🎮 Как проходит обучение?
В течение всего интенсива вы будете создавать игру «Звездные войны» и применять ключевые архитектурные паттерны. В процессе изучите:
– Как строить гибкую архитектуру, которая не замедляет разработку
– Как применять IoC-контейнеры и писать модульные тесты
– Как использовать SOLID за пределами ООП
– Как внедрять CI/CD и снижать технический долг
👉 Подробная программа обучения
А по промокоду
Please open Telegram to view this post
VIEW IN TELEGRAM
Spring управляет созданием бинов через Dependency Injection (DI), но при большом количестве компонентов это замедляет запуск приложения и расходует память.
Используйте @Lazy, чтобы откладывать создание бина до первого вызова:
@Component
public class Component {
@Lazy
@Autowired
private Service service;
}
🔹 Когда применять
— Редко используемые сервисы (например, отчёты, аналитика).
— В крупных приложениях с тысячами зависимостей.
— В микросервисах для уменьшения потребления ресурсов.
— При загрузке тяжёлых конфигураций.
Please open Telegram to view this post
VIEW IN TELEGRAM
Forwarded from Библиотека C/C++ разработчика | cpp, boost, qt
Документация PostgreSQL — лучший источник знаний о СУБД. Но она отличается огромным объемом: не каждый разработчик осилит 3024 страницы формата А4.
Опытный бэкендер составил список самых важных сведений, которые ему самому хотелось бы знать перед началом работы с PostgreSQL. Эта подборка сэкономит вам несколько недель изучения документации, и скорее всего, пригодится для работы с другими СУБД.
👉 Список самого важного
Опытный бэкендер составил список самых важных сведений, которые ему самому хотелось бы знать перед началом работы с PostgreSQL. Эта подборка сэкономит вам несколько недель изучения документации, и скорее всего, пригодится для работы с другими СУБД.
👉 Список самого важного
🛡 Поздравляем доблестных стражей Java:
▪️ Maven — ветеран dependency-войск. Качает половину интернета при первой сборке, потому что «вдруг понадобится».
▪️ Spring Boot — генерал магической дивизии. «Просто добавь @Annotation и оно заработает».
▪️ Garbage Collector — главный санитар JVM-фронта. Прибирается в куче и внезапно останавливает весь Java-мир.
Какого защитника выбираете вы? Пишите в комментариях 👇
▪️ Maven — ветеран dependency-войск. Качает половину интернета при первой сборке, потому что «вдруг понадобится».
▪️ Spring Boot — генерал магической дивизии. «Просто добавь @Annotation и оно заработает».
▪️ Garbage Collector — главный санитар JVM-фронта. Прибирается в куче и внезапно останавливает весь Java-мир.
Какого защитника выбираете вы? Пишите в комментариях 👇
Если вам нужно анализировать производительность приложения в реальном времени, но профилировщики вроде VisualVM или async-profiler слишком тяжелые, то Java Flight Recorder (JFR) Event Streaming — ваш новый лучший друг.
JFR давно встроен в JVM и собирает метрики без ощутимого влияния на производительность (накладные расходы <1%). Раньше, чтобы получить данные, нужно было снимать дамп и разбирать его постфактум. Начиная с Java 14 пакет jdk.jfr.consumer предоставляет API, благодаря которому можно стримить события в реальном времени прямо в приложение.
🔹 Пример использования
Допустим, вы хотите следить за количеством вызовов System.gc() (или любыми другими JVM-событиями):
import jdk.jfr.consumer.*;
public class JfrStreamingExample {
public static void main(String[] args) {
try (var stream = EventStream.openRepository()) {
stream.onEvent("jdk.GarbageCollection", event ->
System.out.println("GC event: " + event.getLong("gcId"))
);
stream.start();
} catch (Exception e) {
e.printStackTrace();
}
}
}
🔹 Что происходит
▪️ EventStream.openRepository() — подключается к JFR и слушает события онлайн
▪️ onEvent("jdk.GarbageCollection", callback) — подписывается на сборку мусора
▪️ stream.start(); — запускает стриминг
🔹 Где полезно
🔹 Что нужно знать
▪️ Работает без agent'ов и почти без overhead.
▪️ Доступно из коробки в OpenJDK 14+.
▪️ Встроенные события JVM уже можно стримить, но для своих нужно создать Custom JFR Events.
Please open Telegram to view this post
VIEW IN TELEGRAM
Задумывались ли вы, как превратить обратную связь из источника стресса в инструмент роста? Ведь неудачно сказанное слово может подорвать доверие в команде, тогда как конструктивный фидбэк способен вдохновить на новые достижения. Важно не только что мы говорим, но и как мы это делаем.
Please open Telegram to view this post
VIEW IN TELEGRAM
Forwarded from Библиотека задач по Java | тесты, код, задания
Forwarded from Библиотека задач по Java | тесты, код, задания
Ревью. В чём проблема этого фрагмента кода?
Anonymous Quiz
55%
Конкатенация в sql-запросе
9%
Наличие аннотация @Repository
16%
Отсутствие аннотации @Autowired
12%
execute() вместо save()
7%
к private jdbcTemplate нет доступа