🔥 Не пропустите событие осени для AI-комьюнити
24 сентября, 19:00 Мск — бесплатный вебинар с Максимом Шаланкиным «ИИ-агенты: новая фаза развития искусственного интеллекта»
😤 Пока все спорят, «боты это или нет», мы покажем, как работают настоящие агенты: с планированием, инструментами и памятью. За час Максим разберёт:
— почему ИИ-агенты сейчас на пике инвестиций
— чем они отличаются от ChatGPT и обычных моделей
— цикл агента: восприятие → планирование → действие → обучение
— живое демо простого агента
— как бизнес уже получает ROI до 80%
⚡️ Хотите спросить у Максима всё, что обычно остаётся «за кадром»? Ловите шанс — только в прямом эфире.
⏰ Мест мало, регистрация закроется, как только забьём комнату
24 сентября, 19:00 Мск — бесплатный вебинар с Максимом Шаланкиным «ИИ-агенты: новая фаза развития искусственного интеллекта»
😤 Пока все спорят, «боты это или нет», мы покажем, как работают настоящие агенты: с планированием, инструментами и памятью. За час Максим разберёт:
— почему ИИ-агенты сейчас на пике инвестиций
— чем они отличаются от ChatGPT и обычных моделей
— цикл агента: восприятие → планирование → действие → обучение
— живое демо простого агента
— как бизнес уже получает ROI до 80%
⚡️ Хотите спросить у Максима всё, что обычно остаётся «за кадром»? Ловите шанс — только в прямом эфире.
⏰ Мест мало, регистрация закроется, как только забьём комнату
Архитектура — это
Дизайн — это
Please open Telegram to view this post
VIEW IN TELEGRAM
👍10❤1🔥1
❗ Сегодня премьера
В 19:00 МСК стартует бесплатный вебинар с Максимом Шаланкиным — «ИИ-агенты: новая фаза развития искусственного интеллекта».
В программе:
— почему агенты ≠ чат-боты;
— живое демо простого агента;
— и как эта тема встроена в курс, который разработан под руководством Никиты Зелинского.
⏰ Это прямой эфир: подключиться можно через лендинг курса.
В 19:00 МСК стартует бесплатный вебинар с Максимом Шаланкиным — «ИИ-агенты: новая фаза развития искусственного интеллекта».
В программе:
— почему агенты ≠ чат-боты;
— живое демо простого агента;
— и как эта тема встроена в курс, который разработан под руководством Никиты Зелинского.
⏰ Это прямой эфир: подключиться можно через лендинг курса.
😁1
Аннотация @Test помечает метод как
В JUnit 5 можно также использовать дополнительные аннотации (
#tests
Please open Telegram to view this post
VIEW IN TELEGRAM
👍7🔥2👏1
Java Memory Model (JMM) описывает, как
Без JMM
#concurrency
Please open Telegram to view this post
VIEW IN TELEGRAM
👍6❤3🔥1
«Diamond problem» возникает при
В Java классы
#tests
Please open Telegram to view this post
VIEW IN TELEGRAM
👍13❤3🔥1
👀 Задача с собеса: «Single-flight» объединение запросов к внешнему API (middle+)
Компания ловит шторма трафика: десятки потоков одновременно дергают один и тот же медленный эндпоинт (например, профили клиентов). Хотят убрать дубликаты запросов и снизить нагрузку на апстрим. Задача:
▪️ Условия
— API: CompletableFuture<V> getOrLoad(K key, Supplier<V> loader) (или Supplier<CompletableFuture<V>>, если загрузка уже async).
— Если в кэше есть не сгоревший ключ, вернуть немедленно. Если нет — запустить единственную загрузку на ключ и раздать один и тот же Future всем конкурентным вызовам.
— По завершении загрузки положить результат в кэш с expireAt.
— Удаление сгоревших записей ленивое (на чтении/записи), без фоновых сканеров.
— Критические секции минимальные; без глобальных блокировок.
💡 Ключевые моменты
— Объединение запросов: ConcurrentHashMap<K, CompletableFuture<V>> inFlight + computeIfAbsent исключит дубликаты.
— Кэш: ConcurrentHashMap<K, Entry<V>> cache, где Entry хранит value и expireAt.
— TTL: проверка сроков строго точечная; протухшее удаляем перед использованием.
— Ошибки: один промах/ошибка должны одинаково прилететь всем конкурентным ожидающим.
— Производительность: никакой синхронизации на весь объект; один ключ — одна «тонкая» операция.
💬 Возможная реализация в комментариях. Пишите также ваши реализация и способы оптимизации.
🐸 Библиотека собеса по Java
#practice
Компания ловит шторма трафика: десятки потоков одновременно дергают один и тот же медленный эндпоинт (например, профили клиентов). Хотят убрать дубликаты запросов и снизить нагрузку на апстрим. Задача:
Реализуйте in-memory «single-flight» слой, который:
— Для одного и того же ключа выполняет ровно ОДНУ загрузку, остальные ожидают тот же результат.
— Имеет короткоживущий кэш (TTL) для защиты от штамповки (cache stampede).
— Потокобезопасен и работает за O(1) на обращение (без полных проходов).
— Прозрачно пробрасывает исключение всем конкурентным ожидателям, если загрузчик упал.
▪️ Условия
— API: CompletableFuture<V> getOrLoad(K key, Supplier<V> loader) (или Supplier<CompletableFuture<V>>, если загрузка уже async).
— Если в кэше есть не сгоревший ключ, вернуть немедленно. Если нет — запустить единственную загрузку на ключ и раздать один и тот же Future всем конкурентным вызовам.
— По завершении загрузки положить результат в кэш с expireAt.
— Удаление сгоревших записей ленивое (на чтении/записи), без фоновых сканеров.
— Критические секции минимальные; без глобальных блокировок.
— Объединение запросов: ConcurrentHashMap<K, CompletableFuture<V>> inFlight + computeIfAbsent исключит дубликаты.
— Кэш: ConcurrentHashMap<K, Entry<V>> cache, где Entry хранит value и expireAt.
— TTL: проверка сроков строго точечная; протухшее удаляем перед использованием.
— Ошибки: один промах/ошибка должны одинаково прилететь всем конкурентным ожидающим.
— Производительность: никакой синхронизации на весь объект; один ключ — одна «тонкая» операция.
#practice
Please open Telegram to view this post
VIEW IN TELEGRAM
👍9❤2🔥2
Как вы и просили: добавили тестово теги по темам. Что скажете?
🔥 — Супер, удобно
😁 — Неудобно, верните как было
Если есть какие-то комментарии/мысли на этот счёт → велком в комменты.
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥16😁5❤2🤔1
Lazy loading — данные загружаются
Eager loading — связанные данные загружаются
Выбор стратегии зависит от сценария и баланса между производительностью и простотой.
#spring
Please open Telegram to view this post
VIEW IN TELEGRAM
👍7🔥1👏1
Effective final — это
Компилятор Java рассматривает такие переменные как final и
#core
Please open Telegram to view this post
VIEW IN TELEGRAM
👍10🔥2👏1🤔1
ThreadLocal — это механизм, который
Применения:
—
—
—
#concurrency
Please open Telegram to view this post
VIEW IN TELEGRAM
👍5❤2🔥2
Микросервисы — это
Они взаимодействуют между собой через
Главные плюсы —
Такой подход противопоставляется
#patterns
Please open Telegram to view this post
VIEW IN TELEGRAM
👍8❤1🔥1👏1
this — это
—
—
—
—
#core
Please open Telegram to view this post
VIEW IN TELEGRAM
👍8❤3🔥1
ConcurrentHashMap использует
В отличие от Collections.synchronizedMap(...), который
#concurrency
Please open Telegram to view this post
VIEW IN TELEGRAM
👍9🔥2👏1
Попробуем новый формат, сами задачки будут разные. Представим задачу 👇
Есть список строк:
List<String> names = List.of("Alice", "Bob", "Anna", "Brian", "Alex");
📋 Задание:
Сгруппируйте имена по первой букве и выведите результат в формате:
A -> [Alice, Anna, Alex]
B -> [Bob, Brian]
Ставьте →🔥, если зашёл формат. Если нет, то → 🤔
#practise
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥23🤔3👍2
Escape analysis — это
—
—
—
Таким образом
#jvm
Please open Telegram to view this post
VIEW IN TELEGRAM
👍7🔥2👏1
happens-before — это гарантированный порядок между операциями, который определяет, что э
Примеры гарантий happens-before:
Без гарантии happens-before два потока могут видеть
#concurrency
Please open Telegram to view this post
VIEW IN TELEGRAM
👍7❤2🔥1👏1