FrontendConf 2025 - крупнейшая в России профессиональная конференция фронтенд‑разработчиков пройдет 20–21 октября 2025, Москва, Кластер «Ломоносов».
Что будет на конференции:
• 1000+ представителей российского фронтенд‑сообщества;
• 2 дня насыщенной программы: 55 докладов в 8 ключевых секциях (AI во фронтенде, Архитектура, Производительность, Инженерный UX, Культура команд, FrontOps и др.);
• Практические форматы: 2 воркшопа, 4 круглых стола, 6 кейсов‑факапов;
• Ламповые дискуссии и дебаты - живой обмен мнениями;
• After‑party для неформального нетворкинга и обмена опытом.
Почему это выгодно вашей компании:
• Конкретные решения, которые можно внедрить за недели, а не месяцы;
• Меньше проблем в продакшне и быстрее релизы - экономия времени и денег;
• Приоритетные предложения, план внедрения и оценка эффекта;
• Повышение экспертизы команды и удержание ключевых специалистов.
Присоединяйтесь 20–21 октября - два дня концентрированного опыта, полезных контактов и конкретных инструментов для развития фронтенд‑команд.
Подготовьте короткую просьбу руководителю и Забронируйте билет - сайт конференции.
#реклама
О рекламодателе
Что будет на конференции:
• 1000+ представителей российского фронтенд‑сообщества;
• 2 дня насыщенной программы: 55 докладов в 8 ключевых секциях (AI во фронтенде, Архитектура, Производительность, Инженерный UX, Культура команд, FrontOps и др.);
• Практические форматы: 2 воркшопа, 4 круглых стола, 6 кейсов‑факапов;
• Ламповые дискуссии и дебаты - живой обмен мнениями;
• After‑party для неформального нетворкинга и обмена опытом.
Почему это выгодно вашей компании:
• Конкретные решения, которые можно внедрить за недели, а не месяцы;
• Меньше проблем в продакшне и быстрее релизы - экономия времени и денег;
• Приоритетные предложения, план внедрения и оценка эффекта;
• Повышение экспертизы команды и удержание ключевых специалистов.
Присоединяйтесь 20–21 октября - два дня концентрированного опыта, полезных контактов и конкретных инструментов для развития фронтенд‑команд.
Подготовьте короткую просьбу руководителю и Забронируйте билет - сайт конференции.
#реклама
О рекламодателе
🔥4❤3👍3
Подписывайся на наш канал в Max
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥5❤4👍4
Хотите быстро превратить кусок кода в чистый и переиспользуемый метод? Используйте хоткей — IDEA сама всё сделает за пару кликов.
Хоткей:
Ctrl + Alt + M (Cmd + Alt + M на macOS)Мгновенно выносит выделенный код в отдельный метод. IDEA сама предложит имя, подставит параметры и аккуратно заменит фрагмент вызовом нового метода.
— Убирает «простыню» кода из метода.
— Улучшает читаемость и переиспользуемость.
— Ускоряет рефакторинг: не нужно руками писать сигнатуру, копировать аргументы и т.д.
— Выделите блок кода.
— Нажмите Ctrl + Alt + M.
— Проверьте, как IDEA сама создала метод.
— При желании поменяйте имя и модификатор доступа.
🔥 Работает не только с Java-кодом, но и в Kotlin, Groovy и даже в тестах.
Подписывайся на наш канал в Max
Please open Telegram to view this post
VIEW IN TELEGRAM
2🔥20❤7👍6
Оптимизация создания бинов
При большом количестве компонентов в приложении Spring часто сталкивается с замедлением старта и повышенным потреблением памяти из-за инжекта зависимостей. Чтобы решить эту проблему, можно отложить создание бинов до момента их первого использования.
Для этого можно применить аннотацию @Lazy:
🟢 Когда использовать:
— В приложениях с большим количеством зависимостей
— Для сервисов, которые вызываются нечасто (например, отчёты или аналитика)
— В микросервисах для оптимизации потребления ресурсов
— При работе с тяжёлыми или сложными конфигурациями
Подписывайся на наш канал в Max🟪
При большом количестве компонентов в приложении Spring часто сталкивается с замедлением старта и повышенным потреблением памяти из-за инжекта зависимостей. Чтобы решить эту проблему, можно отложить создание бинов до момента их первого использования.
Для этого можно применить аннотацию @Lazy:
@Component
public class Component {
@Lazy
@Autowired
private Service service;
}
— В приложениях с большим количеством зависимостей
— Для сервисов, которые вызываются нечасто (например, отчёты или аналитика)
— В микросервисах для оптимизации потребления ресурсов
— При работе с тяжёлыми или сложными конфигурациями
Подписывайся на наш канал в Max
Please open Telegram to view this post
VIEW IN TELEGRAM
❤5👍5🔥4
Знаешь ли ты, что
Integer.valueOf(int) не всегда создаёт новый объект?📦 Значения в диапазоне от -128 до 127 кэшируются!
Это значит, что:
Integer a = Integer.valueOf(100);
Integer b = Integer.valueOf(100);
System.out.println(a == b); // 👉 true (один и тот же объект)
Но:
Integer x = Integer.valueOf(200);
Integer y = Integer.valueOf(200);
System.out.println(x == y); // 👉 false (два разных объекта)
🔍 Почему так?
Чтобы повысить производительность и сэкономить память, Java автоматически кеширует часто используемые значения.
🛠 Кстати, ты можешь изменить границу кеша через JVM-опцию:
-XX:AutoBoxCacheMax=512
Подписывайся на наш канал в Max
Please open Telegram to view this post
VIEW IN TELEGRAM
❤9🔥6
Женя Янченко, java-dev и руководитель разработки, cделала конспекты самой популярной книги по архитектуре систем — «Высоконагруженные приложения» Мартина Клеппмана (книга с кабанчиком).
Где главы обзорные — даёт суть.
Про репликацию, шардирование, транзакции — разбирает подробно, со схемами и примерами.
В канале Женя разбирает и другие технические темы, которые могут пригодиться на собесе:
А как же алгоритмы? Они тоже есть!
Женя объявила челлендж — решить 300 задач за год 😱
Каждый месяц делает отчеты и разборы популярных задач:
Истории из опыта, рекомендации и ответы на вопросы:
📝 и ещё 100+ полезных технических и жизненных постов.
Подписывайтесь, чтобы не потерять полезный канал
Please open Telegram to view this post
VIEW IN TELEGRAM
❤6🔥3👍2
Forwarded from Java Guru 🤓
😁14👍6🔥4🍾3❤1
🔥Не упустите шанс прокачать свой скилл и решать проблемы с производительностью на опережение!
Думаете, что знаете об оптимизации PostgreSQL всё? Проверим.
Приглашаем разработчиков и администраторов БД на интенсивный практикум, где мы не будем говорить об очевидных вещах.
1 октября в 20:00 технический директор 1С-Старт Дмитрий Кириллов разберет "по косточкам" оптимизацию PostgreSQL на открытом практическом уроке "Неочевидные оптимизации PostgreSQL на основе его исходного кода".
👨💻 Разработчики, научитесь писать запросы, учитывая скрытые механизмы планировщика, и использовать индексы максимально эффективно
👨💻Администраторы БД, поймете, какие параметры конфигурации реально влияют на производительность, а какие можно не трогать
👨💻Архитекторы систем, сможете лучше проектировать структуру БД и прогнозировать ее масштабирование на основе «внутренней логики» PostgreSQL
А в подарок - три мини-курса для практической работы с SQL от OTUS.
Бесплатно по предварительной записи - практикум для тех, кто хочет докопаться до сути: https://tglink.io/6816bef9c91f
Реклама. ООО "ОТУС ОНЛАЙН-ОБРАЗОВАНИЕ". ИНН 9705100963. erid: 2W5zFKAQV8L
Думаете, что знаете об оптимизации PostgreSQL всё? Проверим.
Приглашаем разработчиков и администраторов БД на интенсивный практикум, где мы не будем говорить об очевидных вещах.
1 октября в 20:00 технический директор 1С-Старт Дмитрий Кириллов разберет "по косточкам" оптимизацию PostgreSQL на открытом практическом уроке "Неочевидные оптимизации PostgreSQL на основе его исходного кода".
👨💻 Разработчики, научитесь писать запросы, учитывая скрытые механизмы планировщика, и использовать индексы максимально эффективно
👨💻Администраторы БД, поймете, какие параметры конфигурации реально влияют на производительность, а какие можно не трогать
👨💻Архитекторы систем, сможете лучше проектировать структуру БД и прогнозировать ее масштабирование на основе «внутренней логики» PostgreSQL
А в подарок - три мини-курса для практической работы с SQL от OTUS.
Бесплатно по предварительной записи - практикум для тех, кто хочет докопаться до сути: https://tglink.io/6816bef9c91f
Реклама. ООО "ОТУС ОНЛАЙН-ОБРАЗОВАНИЕ". ИНН 9705100963. erid: 2W5zFKAQV8L
❤5👍2🔥2
Подписывайся на наш канал в Max
Please open Telegram to view this post
VIEW IN TELEGRAM
👍3❤2🔥2
1 октября (уже завтра!) в 19:00 по мск приходи онлайн на открытое собеседование, чтобы посмотреть на настоящее интервью на Middle Java-разработчика.
Как это будет:
Это бесплатно. Эфир проходит в рамках менторской программы от ШОРТКАТ для Java-разработчиков, которые хотят повысить свой грейд, ЗП и прокачать скиллы.
Переходи в нашего бота, чтобы получить ссылку на эфир → @shortcut_sh_bot
Реклама.
О рекламодателе.
Please open Telegram to view this post
VIEW IN TELEGRAM
❤4👍2🔥2
Хотите писать код быстрее и без лишнего копипаста? Используйте Postfix Completion — умные сокращения, которые превращают выражения в полноценный код.
— Превращает набранное выражение в готовую конструкцию (например, myVar.notnull → if (myVar != null) {...})
— Работает для условий, циклов, логирования, null-check и многого другого
— Доступна для Java, Kotlin и многих языков
— Экономит время
— Снижает вероятность синтаксических ошибок
— Ускоряет рутинные действия (особенно null-checks)
— Пишите выражение, затем ставите точку и выбираете суффикс (например, .if, .for, .notnull)
— IDEA сама развернёт шаблон в готовый код
— Список доступных суффиксов: Settings → Editor → General → Postfix Completion
Подписывайся на наш канал в Max
Please open Telegram to view this post
VIEW IN TELEGRAM
❤25👍13🔥8
Иногда кажется, что читаешь книги в параллельной вселенной. Увлекся редким фэнтези-сериалом или зависаешь на мемуарах — и поговорить об этом не с кем.
В COMMOK ты точно наткнешься на человека, который тоже застрял на той самой главе или в восторге с того же автора. Здесь разговоры о книгах живые, искренние и без снобизма. А может, вы найдете друзей сразу по нескольким интересам?
COMMOK — это место, где хобби и увлечения превращаются в настоящие встречи и новые истории. Устанавливай приложение и захабься!
App Store: https://apps.apple.com/ru/app/id1671122965
Google Play: https://play.google.com/store/apps/details?id=com.saleskit.commok
erid:2VtzqxCBL7n
Реклама. Запорожец Сергей Александрович
ИНН 662313192669
В COMMOK ты точно наткнешься на человека, который тоже застрял на той самой главе или в восторге с того же автора. Здесь разговоры о книгах живые, искренние и без снобизма. А может, вы найдете друзей сразу по нескольким интересам?
COMMOK — это место, где хобби и увлечения превращаются в настоящие встречи и новые истории. Устанавливай приложение и захабься!
App Store: https://apps.apple.com/ru/app/id1671122965
Google Play: https://play.google.com/store/apps/details?id=com.saleskit.commok
erid:2VtzqxCBL7n
Реклама. Запорожец Сергей Александрович
ИНН 662313192669
👍3❤2🔥2
Что такое BeanPostProcessor в Spring?
BeanPostProcessor — это интерфейс из Spring Framework, который позволяет вмешиваться в процесс создания и инициализации бинов в Spring контейнере. Он предоставляет два основных метода, которые вызываются на разных этапах жизненного цикла бина:
🟡 postProcessBeforeInitialization(Object bean, String beanName) - вызывается до того, как бин будет инициализирован (до вызова метода @PostConstruct или InitializingBean#afterPropertiesSet).
🟡 postProcessAfterInitialization(Object bean, String beanName) - вызывается после инициализации бина (после завершения всех инициализационных методов).
Зачем нужен BeanPostProcessor?
Он используется для дополнительной обработки и кастомизации бинов после их создания, но до передачи клиентскому коду. Примеры:
- Добавление проксирования бинов (например, для AOP или транзакций).
- Валидация или изменение свойств бинов.
- Логирование жизненного цикла.
- Добавление кастомных аннотаций.
- Обработка маркерных интерфейсов.
Как это работает?
1️⃣ Spring сканирует контекст на наличие бинов, реализующих интерфейс BeanPostProcessor.
2️⃣ Если такие бины найдены, они применяются ко всем бинам в приложении.
3️⃣ Методы postProcessBeforeInitialization и postProcessAfterInitialization вызываются для каждого бина, который создаёт Spring.
Результат: Вывод сообщений о каждом бине до и после инициализации.
Подписывайся на наш канал в Max🟪
BeanPostProcessor — это интерфейс из Spring Framework, который позволяет вмешиваться в процесс создания и инициализации бинов в Spring контейнере. Он предоставляет два основных метода, которые вызываются на разных этапах жизненного цикла бина:
Зачем нужен BeanPostProcessor?
Он используется для дополнительной обработки и кастомизации бинов после их создания, но до передачи клиентскому коду. Примеры:
- Добавление проксирования бинов (например, для AOP или транзакций).
- Валидация или изменение свойств бинов.
- Логирование жизненного цикла.
- Добавление кастомных аннотаций.
- Обработка маркерных интерфейсов.
Как это работает?
@Component
public class CustomBeanPostProcessor implements BeanPostProcessor {
@Override
public Object postProcessBeforeInitialization(Object bean, String beanName) {
System.out.println("Before Initialization: " + beanName);
return bean;
}
@Override
public Object postProcessAfterInitialization(Object bean, String beanName) {
System.out.println("After Initialization: " + beanName);
return bean;
}
}
Результат: Вывод сообщений о каждом бине до и после инициализации.
Подписывайся на наш канал в Max
Please open Telegram to view this post
VIEW IN TELEGRAM
1❤9👍4🔥4
Как вы решаете вопрос с покрытием?
Почти в каждом проекте висит задача: поднять покрытие до 70%.
И почти в каждой команде никто не хочет этим заниматься.
Explyt – AI-плагин для Java и Kotlin разработчиков, который снимает эту боль.
Он генерирует юнит-тесты прямо в IDE: по коду, по runtime-трассам, по спекам. И делает это так, как будто реально вник в проект.
📌 Что умеет:
- создаёт осмысленные тесты для Java и Kotlin-кода
- поддерживает JUnit 4/5, TestNG, кастомные фреймворки
- превращает execution trace в автотесты
- предлагает фиксы, если сгенерированный тест падает
- есть режим агента, где AI сам меняет код, запускает тесты и ищет ошибки
📦 Плагин доступен:
- через JetBrains Marketplace
- или напрямую с сайта разработчика
🎁 30 дней бесплатного доступа – просто пользуйтесь.
👉 Попробовать на своём проекте
Почти в каждом проекте висит задача: поднять покрытие до 70%.
И почти в каждой команде никто не хочет этим заниматься.
Explyt – AI-плагин для Java и Kotlin разработчиков, который снимает эту боль.
Он генерирует юнит-тесты прямо в IDE: по коду, по runtime-трассам, по спекам. И делает это так, как будто реально вник в проект.
📌 Что умеет:
- создаёт осмысленные тесты для Java и Kotlin-кода
- поддерживает JUnit 4/5, TestNG, кастомные фреймворки
- превращает execution trace в автотесты
- предлагает фиксы, если сгенерированный тест падает
- есть режим агента, где AI сам меняет код, запускает тесты и ищет ошибки
📦 Плагин доступен:
- через JetBrains Marketplace
- или напрямую с сайта разработчика
🎁 30 дней бесплатного доступа – просто пользуйтесь.
👉 Попробовать на своём проекте
👍4🔥3
Forwarded from Java Guru 🤓
Что добавить в код, чтобы в REST API роли и аутентификация работали корректно
👍5🔥3❤1
Forwarded from Java Guru 🤓
Что добавить в код, чтобы в REST API роли и аутентификация работали корректно
Anonymous Quiz
15%
http.cors().and().headers().frameOptions().disable();
8%
http.requestCache().disable();
59%
http.sessionManagement(session -> session.sessionCreationPolicy(SessionCreationPolicy.STATELES S));
9%
http.sessionManagement().disable();
8%
http.rememberMe();
👍4🔥2❤1
Java Streams предлагают множество методов для упрощения манипуляций с данными и повышения читаемости кода.
Вот краткое руководство с примерами:
Освойте эти методы, чтобы писать более чистый и эффективный код на Java!
Подписывайся на наш канал в Max
Please open Telegram to view this post
VIEW IN TELEGRAM
👍12🔥7❤4☃2
⁉️ Хотите стать тимлидом или уже им работаете, но чувствуете синдром самозванца?
На курсе «Team Lead» от OTUS вы получите системные знания и практику, которые помогут уверенно управлять командой, правильно делегировать задачи, решать конфликты и мотивировать людей. Программа составлена практикующими экспертами, которые ежедневно решают задачи лидов в IT-компаниях.
Вы сможете отработать ошибки на модели команды — без риска для реального проекта, научитесь говорить на одном языке с бизнесом и прокачаете навыки, которые ценят работодатели.
➡️ Запишитесь на курс уже сегодня, чтобы активировать скидку на обучение по промокоду TL10 (актуален до 28.09): https://vk.cc/cQ1lvH
На курсе «Team Lead» от OTUS вы получите системные знания и практику, которые помогут уверенно управлять командой, правильно делегировать задачи, решать конфликты и мотивировать людей. Программа составлена практикующими экспертами, которые ежедневно решают задачи лидов в IT-компаниях.
Вы сможете отработать ошибки на модели команды — без риска для реального проекта, научитесь говорить на одном языке с бизнесом и прокачаете навыки, которые ценят работодатели.
➡️ Запишитесь на курс уже сегодня, чтобы активировать скидку на обучение по промокоду TL10 (актуален до 28.09): https://vk.cc/cQ1lvH
Реклама. ООО «Отус онлайн-образование», ОГРН 1177746618576👍3❤2🔥2
Как настроить аутентификацию с OAuth2
В Spring Boot 3 интеграция с OAuth2 стала ещё проще благодаря улучшенной поддержке социальных логинов. Рассмотрим, как настроить аутентификацию через Google с использованием Spring Security 6.
1️⃣ Создание проекта
Используйте Spring Initializr для создания проекта с следующими зависимостями:
— Spring Web
— Spring Security
— OAuth2 Client
Или добавьте их вручную в pom.xml:
2️⃣ Получение OAuth2-учётных данных Google
1. Перейдите в Google Cloud Console
2. Создайте новый проект
3. Перейдите в раздел APIs & Services → Credentials
4. Нажмите Create Credentials → OAuth 2.0 Client IDs
5. Укажите тип приложения Web application
6. Добавьте Authorized redirect URI
7. Сохраните и получите Client ID и Client Secret
3️⃣ Конфигурация application.yml
Добавьте следующие настройки в src/main/resources/application.yml:
Замените YOUR_CLIENT_ID и YOUR_CLIENT_SECRET на полученные значения.
4️⃣ Конфигурация безопасности
Создайте класс конфигурации:
Подписывайся на наш канал в Max🟪
В Spring Boot 3 интеграция с OAuth2 стала ещё проще благодаря улучшенной поддержке социальных логинов. Рассмотрим, как настроить аутентификацию через Google с использованием Spring Security 6.
Используйте Spring Initializr для создания проекта с следующими зависимостями:
— Spring Web
— Spring Security
— OAuth2 Client
Или добавьте их вручную в pom.xml:
<dependencies>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-oauth2-client</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-security</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
</dependencies>
1. Перейдите в Google Cloud Console
2. Создайте новый проект
3. Перейдите в раздел APIs & Services → Credentials
4. Нажмите Create Credentials → OAuth 2.0 Client IDs
5. Укажите тип приложения Web application
6. Добавьте Authorized redirect URI
7. Сохраните и получите Client ID и Client Secret
Добавьте следующие настройки в src/main/resources/application.yml:
spring:
security:
oauth2:
client:
registration:
google:
client-id: YOUR_CLIENT_ID
client-secret: YOUR_CLIENT_SECRET
scope:
- profile
redirect-uri: "{baseUrl}/login/oauth2/code/{registrationId}"
authorization-grant-type: authorization_code
client-name: Google
provider:
google:
authorization-uri: https://accounts.google.com/o/oauth2/v2/auth
token-uri: https://oauth2.googleapis.com/token
user-info-uri: https://www.googleapis.com/oauth2/v3/userinfo
user-name-attribute: sub
Замените YOUR_CLIENT_ID и YOUR_CLIENT_SECRET на полученные значения.
Создайте класс конфигурации:
@Configuration
public class SecurityConfig {
@Bean
public SecurityFilterChain securityFilterChain(HttpSecurity http) throws Exception {
http
.authorizeRequests()
.antMatchers("/", "/login", "/error").permitAll()
.anyRequest().authenticated()
.and()
.oauth2Login()
.loginPage("/login")
.defaultSuccessUrl("/dashboard", true);
return http.build();
}
}
Подписывайся на наш канал в Max
Please open Telegram to view this post
VIEW IN TELEGRAM
👍8❤5🔥4
Бесплатный карьерный форум для студентов IT-направлений 😍
На "Найти IT" ты сможешь найти работу, пообщаться с работадателями, показать свое резюме и пет-проекты, узнать всё о стажировках и вакансиях!
Кто будет: Альфа-Банк, Сбер, Ozon Tech, МТС, X5 Tech — больше 30 компаний, которые хантят студентов ИТ-специальностей
Плюсы для карьеры:
— нетворкинг с 2000+ участниками
— HR, тимлиды, разрабы и другие представители компаний, которые ответят на все твои вопросы
— выступления спикеров, только в офлайне
— 15+ призов в розыгрыше от FutureToday
Где и когда:DAA EXPO — 11 октября, 12:00–17:00 👇
Зарегистрироваться: https://vk.cc/cQ0Fft?erid=2W5zFH1VhJg
На "Найти IT" ты сможешь найти работу, пообщаться с работадателями, показать свое резюме и пет-проекты, узнать всё о стажировках и вакансиях!
Кто будет: Альфа-Банк, Сбер, Ozon Tech, МТС, X5 Tech — больше 30 компаний, которые хантят студентов ИТ-специальностей
Плюсы для карьеры:
— нетворкинг с 2000+ участниками
— HR, тимлиды, разрабы и другие представители компаний, которые ответят на все твои вопросы
— выступления спикеров, только в офлайне
— 15+ призов в розыгрыше от FutureToday
Где и когда:DAA EXPO — 11 октября, 12:00–17:00 👇
Зарегистрироваться: https://vk.cc/cQ0Fft?erid=2W5zFH1VhJg
❤2🔥1