Forwarded from Библиотека задач по Java | тесты, код, задания
Что будет результатом кода?
Anonymous Quiz
11%
Ошибка компиляции
40%
TimeoutException
26%
Result: 42
15%
Result: null
8%
Result: 500
🔥6❤2👍1
Java Middle разработчик — от 200 000 до 320 000 ₽ — гибрид (Москва)
Senior Java Developer — 450 000 — 600 000 ₽ — удалёнка (Москва, Санкт-Петербург, Екатеринбург, Сочи)
Junior+ Java-разработчик — от 120 000 ₽ — гибрид (Москва, Санкт-Петербург)
Java-разработчик (Служба управления роботами) — 250 000 — 450 000 ₽ — гибрид (Москва, Санкт-Петербург)
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥3❤1👍1
Проблема: частые обращения к базе данных могут существенно замедлить работу приложения. Необходимо внедрить механизм кэширования для ускорения доступа к данным.
Решение: в книге «Java 17 Backend Development» автор предлагает использовать Redis для кэширования часто запрашиваемых данных, что значительно повышает производительность приложения.
Пример кода:
public class RedisCacheService {
private final StringRedisTemplate redisTemplate;
public RedisCacheService(StringRedisTemplate redisTemplate) {
this.redisTemplate = redisTemplate;
}
public String getFromCache(String key) {
ValueOperations<String, String> ops = redisTemplate.opsForValue();
return ops.get(key);
}
public void putToCache(String key, String value) {
ValueOperations<String, String> ops = redisTemplate.opsForValue();
ops.set(key, value);
}
}
Преимущества:
— Быстрый доступ к данным из кэша.
— Уменьшение количества запросов к базе данных.
— Лёгкая интеграция с существующими приложениями.
Еще больше полезных книг — в нашем канале @progbook
Please open Telegram to view this post
VIEW IN TELEGRAM
👍9❤1🔥1😁1
Сейчас большинство представлений об ИИ ограничиваются одним агентом — моделькой, которая что-то предсказывает, генерирует или классифицирует.
Но реальный прорыв начинается, когда этих агентов становится несколько.
Когда они начинают взаимодействовать друг с другом.
Когда появляется координация, распределение ролей, память, планирование — всё это и есть мультиагентные системы (MAS).
— Microsoft делает язык DroidSpeak для общения между LLM
— Open Source-фреймворки вроде LangChain, AutoGen, CrewAI, LangGraph — бурно развиваются
— компании, включая МТС, уже применяют MAS в боевых задачах
🎓 На курсе мы подходим к этому практично:
Именно на третьем уроке вы впервые собираете не просто «умного бота», а живую систему из агентов, которая работает вместе — как команда.
Причём по-настоящему: врач, SQL-аналитик, travel-планировщик, Python-генератор, поисковик.
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
😁22👍1🔥1💯1
AI — это не магия и не спасательный круг, а лишь инструмент. Современную рутину ИИ и правда ускорил и местами упростил, хотя порой рождает проблемы, которых без него бы и не было.
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
👍8🔥4👏1
Работаете с микросервисной архитектурой? Тогда знаете, как сложно обеспечить стабильные API-контракты между сервисами. Contract Testing решает эту проблему. А AI поможет быстро сгенерировать заготовку всей инфраструктуры для автоматизированной валидации контрактов.
📝 Промпт:
Generate a Java Spring Boot setup for contract testing using Spring Cloud Contract and Testcontainers.
— Configure a provider service and a consumer service.
— Use Spring Cloud Contract to define and verify contracts.
— Integrate with Testcontainers to run provider stubs in isolated environments.
— Add Gradle or Maven setup for running contract tests in CI.
— Provide examples for both producer and consumer side tests.
— Добавьте
integration with GitLab CI/CD or GitHub Actions
для автоматической валидации контрактов при push'ах и pull request'ах.— Добавьте
generate stub JARs using Spring Cloud Contract Verifier
для повторного использования контрактов на стороне потребителя.— Добавьте
handle contract mismatches gracefully with test reports and logs
для быстрого выявления расхождений между сервисами и прозрачной отладки в CI.— Добавьте
include real-world example: REST endpoint for user profile with request validation and response structure
как шаблон, который можно адаптировать под любую бизнес-логику.Please open Telegram to view this post
VIEW IN TELEGRAM
👍4❤2🔥1
Наш подписчик спрашивает:
В одном из проектов я заметил, что контроллеры возвращают модели сущностей напрямую, а в другом — используют DTO. Я всегда считал, что контроллеры должны возвращать только DTO. Почему в одном проекте возвращают модели, а в другом — DTO? Какой подход правильный?
🔹 Как вы подходите к использованию DTO и моделей
— В каких случаях вы предпочитаете возвращать модели сущностей, а когда — DTO?
— С какими трудностями вы столкнулись при выборе между DTO и моделями в своих проектах?
— Какие подходы к использованию DTO и моделей сработали для вас лучше всего?
P.S. Если хотите задать вопрос, заполните нашу гугл-форму. Это займет 5 минут.
Please open Telegram to view this post
VIEW IN TELEGRAM
👍6❤3🔥1
👑 Магия IntelliJ IDEA
Если вы часто просматриваете стек вызовов или трассируете поведение методов — попробуйте «Call Hierarchy» (Ctrl + Alt + H). Этот инструмент показывает, кто вызывает ваш метод — и кто вызывает вызывающего, до самого верхнего уровня.
🔹 Что делает
— Строит иерархию вызовов метода вверх или вниз.
— Помогает отследить влияние метода по всей кодовой базе.
— Работает даже с интерфейсами и абстрактными методами — покажет всех наследников.
🔹 Зачем это нужно
— Находит неочевидные связи между частями кода.
— Упрощает работу с легаси: видно, какие методы безопасно менять.
— Быстро определяет, как ошибка «долетела» до нужного места.
🔹 Как использовать
— Поставьте курсор на метод → нажмите Ctrl + Alt + H.
— IDEA откроет дерево вызовов (Call Hierarchy).
— Вы можете «разворачивать» цепочку вверх по стеку или вниз.
🐸 Библиотека джависта #буст
Если вы часто просматриваете стек вызовов или трассируете поведение методов — попробуйте «Call Hierarchy» (Ctrl + Alt + H). Этот инструмент показывает, кто вызывает ваш метод — и кто вызывает вызывающего, до самого верхнего уровня.
🔹 Что делает
— Строит иерархию вызовов метода вверх или вниз.
— Помогает отследить влияние метода по всей кодовой базе.
— Работает даже с интерфейсами и абстрактными методами — покажет всех наследников.
🔹 Зачем это нужно
— Находит неочевидные связи между частями кода.
— Упрощает работу с легаси: видно, какие методы безопасно менять.
— Быстро определяет, как ошибка «долетела» до нужного места.
🔹 Как использовать
— Поставьте курсор на метод → нажмите Ctrl + Alt + H.
— IDEA откроет дерево вызовов (Call Hierarchy).
— Вы можете «разворачивать» цепочку вверх по стеку или вниз.
Please open Telegram to view this post
VIEW IN TELEGRAM
👍19🔥6❤4
Please open Telegram to view this post
VIEW IN TELEGRAM
😁19👍2🔥1
Оба языка активно развиваются на JVM, но какой логичнее изучать и использовать для новых проектов.
▪️ Сторонники Java уверены: это надёжная и проверенная основа — с богатой экосистемой, высокой востребованностью в компаниях и большим числом доступных специалистов на рынке.
▪️ Сторонники Kotlin отвечают, что язык быстро набирает распространение — он уже обогнал по популярности все другие JVM‑языки вместе взятые, а его interop с Java и современные фичи делают его крайне привлекательным
Please open Telegram to view this post
VIEW IN TELEGRAM
👍6❤1🔥1
🔹 Java Annotated Monthly – June 2025
Обзор редакции IntelliJ IDEA Blog: 17 активных JEP‑пропозиций для Java 25 и обзор предстоящих нововведений. Подчёркивается, что Java всё ещё активно развивается, несмотря на появление новых языков
🔹 How to Handle 1 Million Requests per Minute
Обсуждение реальных паттернов проектирования для высоконагруженных систем — балансировка на каждом уровне, эффективное кеширование, асинхронная обработка и др.
🔹 Clean and Modular Java
Автор показывает, как организовать модульную архитектуру (core, adapters, infrastructure) в Java-приложении с использованием Maven и четким разделением слоёв. Отлично подходит для архитекторов и тех, кто хочет улучшить читаемость и гибкость кода.
Please open Telegram to view this post
VIEW IN TELEGRAM
❤3👍2🔥2
Forwarded from Библиотека задач по Java | тесты, код, задания
Где хранятся статические поля классов?
Anonymous Quiz
37%
В Heap
22%
В Stack
30%
В Metaspace
2%
В регистре процессора
9%
В оперативной памяти
🔥9👍3👏2
Разработчик Java — от 180 000 до 250 000 ₽ — гибрид (Москва)
Java разработчик (middle+/senior) — от 150 000 ₽ — гибрид (Москва)
Java-разработчик — от 150 000 ₽ — гибрид (Москва)
Java Middle разработчик — от 180 000 до 220 000 ₽ — гибрид (Москва)
Please open Telegram to view this post
VIEW IN TELEGRAM
🤔3🔥2❤1👍1
Проблема: в современных распределённых системах необходимо эффективно обрабатывать большие объёмы сообщений, обеспечивая надёжность и масштабируемость. Использование синхронных методов может привести к задержкам и перегрузке системы.
Решение: в книге «Java 17 Backend Development» автор предлагает интеграцию Apache Kafka для асинхронной обработки сообщений. Это позволяет разгрузить сервисы и обеспечить высокую производительность системы.
Пример кода:
public class KafkaMessageListener {
private final KafkaConsumer<String, String> consumer;
public KafkaMessageListener(String bootstrapServers, String groupId, String topic) {
Properties properties = new Properties();
properties.put(ConsumerConfig.BOOTSTRAP_SERVERS_CONFIG, bootstrapServers);
properties.put(ConsumerConfig.GROUP_ID_CONFIG, groupId);
properties.put(ConsumerConfig.KEY_DESERIALIZER_CLASS_CONFIG, StringDeserializer.class.getName());
properties.put(ConsumerConfig.VALUE_DESERIALIZER_CLASS_CONFIG, StringDeserializer.class.getName());
this.consumer = new KafkaConsumer<>(properties);
this.consumer.subscribe(List.of(topic));
}
public void startListening() {
while (true) {
var records = consumer.poll(Duration.ofMillis(100));
records.forEach(record -> {
System.out.println("Received message: " + record.value());
// Обработка сообщения
});
}
}
}
Преимущества:
— Лёгкая адаптация к увеличению объёмов данных.
— Гарантированная доставка сообщений.
— Возможность обработки сообщений в фоновом режиме.
Еще больше полезных книг — в нашем канале @progbook
Please open Telegram to view this post
VIEW IN TELEGRAM
👍7❤1❤🔥1🔥1
🔥 Последняя неделя перед стартом курса по AI-агентам
Старт курса уже 5го числа! Если вы планировали вписаться — сейчас ПОСЛЕДНИЙ шанс забронировать место
На курсе:
— разложим LLM по косточкам: токенизация, SFT, PEFT, инференс
— соберём RAG и научимся оценивать его адекватно
— построим настоящую мультиагентную систему — архитектуру, которая умеет расти
— разберём CoPilot, сломаем через prompt injection (спасибо Максу)
— и наконец, посмотрим, как это работает в MCP и реальных кейсах
📍 Это 5 живых вебинаров + раздатка + домашки + чат с преподавателями
И главное — возможность реально разобраться, как проектировать системы на LLM, а не просто «поиграться с API»
👉 Курс здесь
Старт курса уже 5го числа! Если вы планировали вписаться — сейчас ПОСЛЕДНИЙ шанс забронировать место
На курсе:
— разложим LLM по косточкам: токенизация, SFT, PEFT, инференс
— соберём RAG и научимся оценивать его адекватно
— построим настоящую мультиагентную систему — архитектуру, которая умеет расти
— разберём CoPilot, сломаем через prompt injection (спасибо Максу)
— и наконец, посмотрим, как это работает в MCP и реальных кейсах
📍 Это 5 живых вебинаров + раздатка + домашки + чат с преподавателями
И главное — возможность реально разобраться, как проектировать системы на LLM, а не просто «поиграться с API»
👉 Курс здесь
❤1👍1