ХОЧЕШЬ ПОВЫШЕНИЕ В 2025 ГОДУ? 😎🔥
Тогда самое время разобраться в микросервисной архитектуре и стать более востребованным специалистом.
🚀 Стартуем 20 мая.
Курс ведет действующий архитектор Кирилл Ветчинкин. Он успешно реализовал проекты для Мегафона, Теле2, ВСS Brокer. Постоянный спикер крупных IT-конференций.
Какие скиллы прокачаем:
📌 Декомпозиция систем на микросервисы, отталкиваясь от бизнес-домена.
📌 Встройка микросервисов в оргструктуру компании.
📌Организация перехода от монолитной системы к микросервисной.
Полная программа ТУТ 👉 https://microarch.ru/courses/microservices?utm_source=posev&utm_medium=erid:2VtzqwE1oyN&utm_campaign=2
А самое главное — поддержка от спикера, чат с одногруппниками и полезные созвоны с разбором домашки.
📕 Сертификат об участии по итогам прохождения курса.
Узнай больше 👉 https://microarch.ru/courses/microservices?utm_source=posev&utm_medium=erid:2VtzqwE1oyN&utm_campaign=2
Реклама. ИП Ветчинкин К.Е. ИНН: 773376451099 Erid: 2VtzqwE1oyN
Тогда самое время разобраться в микросервисной архитектуре и стать более востребованным специалистом.
🚀 Стартуем 20 мая.
Курс ведет действующий архитектор Кирилл Ветчинкин. Он успешно реализовал проекты для Мегафона, Теле2, ВСS Brокer. Постоянный спикер крупных IT-конференций.
Какие скиллы прокачаем:
📌 Декомпозиция систем на микросервисы, отталкиваясь от бизнес-домена.
📌 Встройка микросервисов в оргструктуру компании.
📌Организация перехода от монолитной системы к микросервисной.
Полная программа ТУТ 👉 https://microarch.ru/courses/microservices?utm_source=posev&utm_medium=erid:2VtzqwE1oyN&utm_campaign=2
А самое главное — поддержка от спикера, чат с одногруппниками и полезные созвоны с разбором домашки.
📕 Сертификат об участии по итогам прохождения курса.
Узнай больше 👉 https://microarch.ru/courses/microservices?utm_source=posev&utm_medium=erid:2VtzqwE1oyN&utm_campaign=2
Реклама. ИП Ветчинкин К.Е. ИНН: 773376451099 Erid: 2VtzqwE1oyN
🧠 Хитрая задача для Java-разработчиков: “Зеркальная фабрика”
📌 Условие:
Реализуйте абстрактную фабрику
- При создании объекта класса
- Но дополнительно логирует имя каждого вызванного метода и автоматически вызывает метод с тем же именем у другого объекта (его зеркала)
🎯 Иными словами:
❗️**Ограничения:**
- Классы могут быть любыми, но должны реализовывать интерфейсы
- Использовать только стандартные средства Java (рефлексия,
- Методы с одинаковым именем и сигнатурой должны быть вызваны у обоих объектов
✅ Решение:
```java
import java.lang.reflect.*;
public class MirrorFactory {
@SuppressWarnings ("unchecked")
public static <T> T create(T original, T mirror) {
Class<?> clazz = original.getClass().getInterfaces()[0];
return (T) Proxy.newProxyInstance(
clazz.getClassLoader(),
new Class[]{clazz},
new InvocationHandler() {
public Object invoke(Object proxy, Method method, Object[] args) throws Throwable {
System.out.println(method.getName() + "() called");
Object result1 = method.invoke(original, args);
Object result2 = method.invoke(mirror, args);
return result1; // приоритет оригиналу
}
});
}
}
```
Пример использования:
```java
interface MyService {
void doWork();
}
class MyServiceImpl implements MyService {
public void doWork() {
System.out.println("Working: " + this);
}
}
```
🔍 **Подвох:**
- Java `Proxy` работает **только с интерфейсами**
- Метод вызывается **дважды** — нужно быть осторожным с побочными эффектами
- Возврат значения только одного вызова (`original`) — важно, если метод что-то возвращает
🧠 **Чему учит задача:**
- Глубокому пониманию `java.lang.reflect.Proxy`
- Поведению `InvocationHandler` и сигнатур
- Умению комбинировать дизайн-паттерн **Proxy** и **Decorator**
- Практике метапрограммирования и логирования без изменения кода класса
---
@javatg
📌 Условие:
Реализуйте абстрактную фабрику
MirrorFactory
, которая:- При создании объекта класса
T
возвращает прокси, который повторяет все методы оригинального объекта- Но дополнительно логирует имя каждого вызванного метода и автоматически вызывает метод с тем же именем у другого объекта (его зеркала)
🎯 Иными словами:
MyService original = new MyService();
MyService mirror = new MyService();
MyService proxy = MirrorFactory.create(original, mirror);
proxy.doWork();
// Лог:
// doWork() called
// original.doWork() вызван
// mirror.doWork() вызван
❗️**Ограничения:**
- Классы могут быть любыми, но должны реализовывать интерфейсы
- Использовать только стандартные средства Java (рефлексия,
Proxy
, `InvocationHandler`)- Методы с одинаковым именем и сигнатурой должны быть вызваны у обоих объектов
✅ Решение:
```java
import java.lang.reflect.*;
public class MirrorFactory {
public static <T> T create(T original, T mirror) {
Class<?> clazz = original.getClass().getInterfaces()[0];
return (T) Proxy.newProxyInstance(
clazz.getClassLoader(),
new Class[]{clazz},
new InvocationHandler() {
public Object invoke(Object proxy, Method method, Object[] args) throws Throwable {
System.out.println(method.getName() + "() called");
Object result1 = method.invoke(original, args);
Object result2 = method.invoke(mirror, args);
return result1; // приоритет оригиналу
}
});
}
}
```
Пример использования:
```java
interface MyService {
void doWork();
}
class MyServiceImpl implements MyService {
public void doWork() {
System.out.println("Working: " + this);
}
}
```
🔍 **Подвох:**
- Java `Proxy` работает **только с интерфейсами**
- Метод вызывается **дважды** — нужно быть осторожным с побочными эффектами
- Возврат значения только одного вызова (`original`) — важно, если метод что-то возвращает
🧠 **Чему учит задача:**
- Глубокому пониманию `java.lang.reflect.Proxy`
- Поведению `InvocationHandler` и сигнатур
- Умению комбинировать дизайн-паттерн **Proxy** и **Decorator**
- Практике метапрограммирования и логирования без изменения кода класса
---
@javatg
Эволюция архитектурного ревью в Яндекс 360
За последние четыре года команда Яндекс 360 выросла в семь раз, а количество продуктов увеличилось на шесть. Такой рост был бы невозможен без общих технологий, которые мы создаём. Вы узнаете подходы и лайфхаки, которые помогли нам выдержать рост, оставаясь в контексте создания общих решений и не переизобретая велосипеды.
Смотрите доклад Евгения Ширанкова, руководителя платформенных сервисов Яндекс 360, чтобы узнать, как развивался наш подход к проектированию сервисов и как он позволяет создавать решения, которыми пользуется весь Яндекс.
Больше материалов о технологиях в Яндекс 360
@yandex360team
За последние четыре года команда Яндекс 360 выросла в семь раз, а количество продуктов увеличилось на шесть. Такой рост был бы невозможен без общих технологий, которые мы создаём. Вы узнаете подходы и лайфхаки, которые помогли нам выдержать рост, оставаясь в контексте создания общих решений и не переизобретая велосипеды.
Смотрите доклад Евгения Ширанкова, руководителя платформенных сервисов Яндекс 360, чтобы узнать, как развивался наш подход к проектированию сервисов и как он позволяет создавать решения, которыми пользуется весь Яндекс.
Больше материалов о технологиях в Яндекс 360
@yandex360team
🌉 Apache Beam — единый мост между batch- и stream-обработкой данных. Этот проект позволяет описывать pipelines всего один раз, а запускать их где угодно: от локальной машины до кластеров Spark или Flink, не переписывая код.
Проект использует один API для всех сценариев — будь то анализ исторических данных или обработка бесконечных потоков событий в реальном времени. При этом инструмент не навязывает конкретную инфраструктуру, оставляя свободу выбора движка исполнения.
🤖 GitHub
@javatg
Проект использует один API для всех сценариев — будь то анализ исторических данных или обработка бесконечных потоков событий в реальном времени. При этом инструмент не навязывает конкретную инфраструктуру, оставляя свободу выбора движка исполнения.
🤖 GitHub
@javatg
Лайфхаки визуального сторителлинга 😉
Рассказываем, почему это полезно и как его построить, чтобы было понятно всем: и менеджерам, и разработчикам, и дизайнерам⬆
И да, вы справитесь, даже если не умеете рисовать! Александр Зинченко, СТО Яндекс 360, поделился инструментами для быстрых и удобных скетчей. А ещё рассказал про сложности передачи идей в проектных командах, которые можно решить с помощью визуального сторителлинга😎
Больше интересной и полезной информации в канале от команды Яндекс 360
Рассказываем, почему это полезно и как его построить, чтобы было понятно всем: и менеджерам, и разработчикам, и дизайнерам
И да, вы справитесь, даже если не умеете рисовать! Александр Зинченко, СТО Яндекс 360, поделился инструментами для быстрых и удобных скетчей. А ещё рассказал про сложности передачи идей в проектных командах, которые можно решить с помощью визуального сторителлинга
Больше интересной и полезной информации в канале от команды Яндекс 360
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
🔮 IKVM — мост между Java и .NET. Инструмент превращает скомпилированные JAR-файлы в .NET-сборки, а также помогает стандартным Java-библиотекам работать как родные для C#.
Особенность проекта кроется в динамической трансляции байт-кода в CIL на лету или статической компиляции в DLL. Это открывает интересные сценарии, например, использование Java-библиотек машинного обучения в .NET-приложениях или интеграция legacy-кода без полного рефакторинга.
🤖 GitHub
@javatg
Особенность проекта кроется в динамической трансляции байт-кода в CIL на лету или статической компиляции в DLL. Это открывает интересные сценарии, например, использование Java-библиотек машинного обучения в .NET-приложениях или интеграция legacy-кода без полного рефакторинга.
🤖 GitHub
@javatg
📊 Charty — библиотека для создания графиков через Compose. Проект предоставляет разработчикам простой и мощный инструмент для визуализации данных с использованием современных декларативных подходов. В отличие от других решений, Charty предлагает нативную поддержку мультиплатформенной разработки через KMP.
Библиотека поддерживает различные типы графиков — от линейных и столбчатых до круговых диаграмм, с возможностью кастомизации каждого элемента. Анимации реализованы на уровне фреймворка, что обеспечивает плавность даже при работе с динамическими данными. Особое внимание уделено производительности — рендеринг оптимизирован для работы на мобильных устройствах.
🤖 GitHub
@javatg
Библиотека поддерживает различные типы графиков — от линейных и столбчатых до круговых диаграмм, с возможностью кастомизации каждого элемента. Анимации реализованы на уровне фреймворка, что обеспечивает плавность даже при работе с динамическими данными. Особое внимание уделено производительности — рендеринг оптимизирован для работы на мобильных устройствах.
🤖 GitHub
@javatg
🌧️ Camunda 8 — облачная оркестрация бизнес-процессов. Этот open-source стек сочетает в себе движок процессов Zeebe, инструменты для мониторинга и выполнения ручных задач, образуя полноценную платформу для процессного управления.
Особенность инструмента в cloud-native архитектуре: горизонтальное масштабирование, интеграция с Kafka и Kubernetes, отсутствие жесткой привязки к реляционным СУБД. Процессы описываются визуально в BPMN 2.0, а реализовывать их можно практически на любом языке через gRPC-клиенты.
🤖 GitHub
@javatg
Особенность инструмента в cloud-native архитектуре: горизонтальное масштабирование, интеграция с Kafka и Kubernetes, отсутствие жесткой привязки к реляционным СУБД. Процессы описываются визуально в BPMN 2.0, а реализовывать их можно практически на любом языке через gRPC-клиенты.
🤖 GitHub
@javatg
Как ускорить разработку ИБ-решений?
🔥 Вебинар 28 мая в 16:00 (мск) — Реальный кейс от Crosstech Solutions Group.
Если вы занимаетесь ИТ-продуктами, проектированием архитектуры или руководите разработкой — это приглашение для вас.
🔍 Что будет на вебинаре?
Компания Crosstech Solutions Group расскажет, как они создали систему мониторинга и анализа активности в базах данных — от идеи до рабочего продукта.
В центре внимания — Jmix, современная платформа для быстрой разработки бизнес-приложений.
📌 Даже если вы никогда не слышали про Jmix — вам будет полезно:
✅ Реальный опыт создания ИБ-системы с нуля.
✅ Как реализовали ролевую модель, отчетность и гибкий конструктор политик.
✅ Демо системы: увидите все в действии.
✅ Ответы на вопросы от команды, которая создавала продукт.
🎯 Узнайте, как сэкономить ресурсы и ускорить релиз — без лишнего кода и с максимальной гибкостью.
📅 Участие бесплатное — регистрируйтесь сейчас! Не упустите шанс перенять опыт экспертов, которые уже нашли рабочее решение.
#реклама
О рекламодателе
🔥 Вебинар 28 мая в 16:00 (мск) — Реальный кейс от Crosstech Solutions Group.
Если вы занимаетесь ИТ-продуктами, проектированием архитектуры или руководите разработкой — это приглашение для вас.
🔍 Что будет на вебинаре?
Компания Crosstech Solutions Group расскажет, как они создали систему мониторинга и анализа активности в базах данных — от идеи до рабочего продукта.
В центре внимания — Jmix, современная платформа для быстрой разработки бизнес-приложений.
📌 Даже если вы никогда не слышали про Jmix — вам будет полезно:
✅ Реальный опыт создания ИБ-системы с нуля.
✅ Как реализовали ролевую модель, отчетность и гибкий конструктор политик.
✅ Демо системы: увидите все в действии.
✅ Ответы на вопросы от команды, которая создавала продукт.
🎯 Узнайте, как сэкономить ресурсы и ускорить релиз — без лишнего кода и с максимальной гибкостью.
📅 Участие бесплатное — регистрируйтесь сейчас! Не упустите шанс перенять опыт экспертов, которые уже нашли рабочее решение.
#реклама
О рекламодателе
🔐 Feeder — приватный RSS-ридер для Android без синхронизации. Этот open-source инструмент работает полностью локально на устройстве, не отправляя ваши подписки и историю чтения на сторонние серверы.
Проект развивается с 2014 года и сохраняет минималистичную философию: поддержка RSS/Atom/JSONFeed, нотификации о новых статьях и импорт/экспорт через OPML. Недавно добавили экспериментальную поддержку Nostr-лент. Установить можно через F-Droid или собрать вручную (`./gradlew installDebug`).
🤖 GitHub
@javatg
Проект развивается с 2014 года и сохраняет минималистичную философию: поддержка RSS/Atom/JSONFeed, нотификации о новых статьях и импорт/экспорт через OPML. Недавно добавили экспериментальную поддержку Nostr-лент. Установить можно через F-Droid или собрать вручную (`./gradlew installDebug`).
🤖 GitHub
@javatg
Команда Java отмечает это событие шестичасовым прямым эфиром, посвящённым эволюции языка, его глобальному влиянию и формированию его будущего.
💝 Поздравь коллегу
https://www.youtube.com/watch?v=LHHPbI7sYv8
@javatg
#Java #OpenJDK
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥 Самые нужные каналы для Java разработчика, чтобы расти в доходе 💸
• Java | Вопросы собесов
• Java | Вакансии с удаленкой
• Java | LeetCode
• Java | Тесты
Подпишись, чтобы не потерять ☝️
• Java | Вопросы собесов
• Java | Вакансии с удаленкой
• Java | LeetCode
• Java | Тесты
Подпишись, чтобы не потерять ☝️