Пишем простую интеграцию с GitHub используя feign и jsonschema2pojo maven plugin
В эпоху микросервисов приходится все чаще и чаще писать интеграции для их взаимодействия как между собой, так и со сторонними системами. Кто-то создаёт отдельные библиотеки с интеграцией и переиспользует их в нескольких микросервисах, кто-то захламляет проект огромным количеством POJO классов, некоторые же создают один POJO класс с множеством вложенных классов. В этой статье автор делится подходом, используя который вы сможете спрятать большую часть кода, которая мешает чтению и пониманию проекта.
Читать статью
В эпоху микросервисов приходится все чаще и чаще писать интеграции для их взаимодействия как между собой, так и со сторонними системами. Кто-то создаёт отдельные библиотеки с интеграцией и переиспользует их в нескольких микросервисах, кто-то захламляет проект огромным количеством POJO классов, некоторые же создают один POJO класс с множеством вложенных классов. В этой статье автор делится подходом, используя который вы сможете спрятать большую часть кода, которая мешает чтению и пониманию проекта.
Читать статью
Пробовали ли программировать на планшете?
#интерактив
#интерактив
IdentityHashMap
Класс IdentityHashMap в Java является реализацией интерфейса Map и работает на основе проверки на равенство ссылок объектов, а не на основе метода equals.
Это означает, что если два объекта, хранящихся в IdentityHashMap, содержат одинаковые значения полей, но разные ссылки, то они будут считаться разными ключами.
IdentityHashMap может быть полезной альтернативой для HashMap в тех случаях, когда ключом является объект, и необходимо учесть различие между ссылками на объект.
#код
Класс IdentityHashMap в Java является реализацией интерфейса Map и работает на основе проверки на равенство ссылок объектов, а не на основе метода equals.
Это означает, что если два объекта, хранящихся в IdentityHashMap, содержат одинаковые значения полей, но разные ссылки, то они будут считаться разными ключами.
IdentityHashMap может быть полезной альтернативой для HashMap в тех случаях, когда ключом является объект, и необходимо учесть различие между ссылками на объект.
#код
Очередной #дайджест по Java:
☕ Создание и тестирование gRPC сервиса (Spring Boot приложение)
Как создать и протестировать gRPC-сервис в приложении на Spring Boot.
☕ Я хотел сломать Java и я это сделал
Автор привнесальтернативную математику в Java.
☕ Борьба с временем ответа сервиса
История о том, как время ответа сервиса выросло в несколько раз в течение месяца, в чем была причина, и какое в итоге нашли решение.
☕ Используем Elasticsearch вместе со Spring Boot
Как можно интегрировать Elasticsearch в Spring Boot приложение.
☕ Создание и тестирование gRPC сервиса (Spring Boot приложение)
Как создать и протестировать gRPC-сервис в приложении на Spring Boot.
☕ Я хотел сломать Java и я это сделал
Автор привнес
☕ Борьба с временем ответа сервиса
История о том, как время ответа сервиса выросло в несколько раз в течение месяца, в чем была причина, и какое в итоге нашли решение.
☕ Используем Elasticsearch вместе со Spring Boot
Как можно интегрировать Elasticsearch в Spring Boot приложение.
Динамический массив
В Java динамический массив представляет собой структуру данных, которая позволяет хранить и управлять коллекцией элементов переменного размера.
Он реализуется с помощью класса ArrayList. ArrayList представляет собой реализацию списка, который может изменять свой размер по мере необходимости.
#код
В Java динамический массив представляет собой структуру данных, которая позволяет хранить и управлять коллекцией элементов переменного размера.
Он реализуется с помощью класса ArrayList. ArrayList представляет собой реализацию списка, который может изменять свой размер по мере необходимости.
#код
🐧📖 ТОП-10 книг по Linux в 2023 году
Популярные книги по изучению Linux на русском языке, опубликованные за последние несколько лет.
Читать статью
Популярные книги по изучению Linux на русском языке, опубликованные за последние несколько лет.
Читать статью
Узнаем версию Java
В Java можно узнать версию текущего экземпляра JVM (Java Virtual Machine) с помощью функции System.getProperty("java.version");
Этот код вернет текущую версию Java, установленную на компьютере.
#код
В Java можно узнать версию текущего экземпляра JVM (Java Virtual Machine) с помощью функции System.getProperty("java.version");
Этот код вернет текущую версию Java, установленную на компьютере.
#код
Зачем нужны и какие бывают блоки инициализации?
Блоки инициализации представляют собой код, заключенный в фигурные скобки и размещаемый внутри класса вне объявления методов или конструкторов.
• Существуют статические и нестатические блоки инициализации.
• Блок инициализации выполняется перед инициализацией класса загрузчиком классов или созданием объекта класса с помощью конструктора.
• Несколько блоков инициализации выполняются в порядке следования в коде класса.
• Блок инициализации способен генерировать исключения, если их объявления перечислены в throws всех конструкторов класса.
• Блок инициализации возможно создать и в анонимном классе.
#вопросы_с_собеседований
Блоки инициализации представляют собой код, заключенный в фигурные скобки и размещаемый внутри класса вне объявления методов или конструкторов.
• Существуют статические и нестатические блоки инициализации.
• Блок инициализации выполняется перед инициализацией класса загрузчиком классов или созданием объекта класса с помощью конструктора.
• Несколько блоков инициализации выполняются в порядке следования в коде класса.
• Блок инициализации способен генерировать исключения, если их объявления перечислены в throws всех конструкторов класса.
• Блок инициализации возможно создать и в анонимном классе.
#вопросы_с_собеседований
Класс "обертка" (wrapper class)
Класс-обертка (wrapper class) — это класс, который обеспечивает возможность использования примитивных типов данных как объектов. Каждый примитивный тип данных в Java имеет соответствующий класс-обертку: byte — Byte, short — Short, int — Integer, long — Long, float — Float, double — Double, boolean — Boolean и char — Character.
Классы-обертки используются, например, при работе с объектами коллекций, такими как ArrayList, где примитивные типы не могут быть использованы (список может хранить только объекты).
В этом примере мы создаем объекты классов-оберток для примитивных типов int, double, char и выводим значения этих объектов с помощью метода println().
#код
Класс-обертка (wrapper class) — это класс, который обеспечивает возможность использования примитивных типов данных как объектов. Каждый примитивный тип данных в Java имеет соответствующий класс-обертку: byte — Byte, short — Short, int — Integer, long — Long, float — Float, double — Double, boolean — Boolean и char — Character.
Классы-обертки используются, например, при работе с объектами коллекций, такими как ArrayList, где примитивные типы не могут быть использованы (список может хранить только объекты).
В этом примере мы создаем объекты классов-оберток для примитивных типов int, double, char и выводим значения этих объектов с помощью метода println().
#код
🧩 Задача: Поиск Знаменитости. Метод двух указателей
Знаменитость — человек, который не знает никого в компании, но при этом каждый знает его самого. Ваша задача — найти такого человека.
Автор рассказывает как оптимально решить эту задачу с использованием двух указателей. Пример кода написан на Java.
Перейти к просмотру
Знаменитость — человек, который не знает никого в компании, но при этом каждый знает его самого. Ваша задача — найти такого человека.
Автор рассказывает как оптимально решить эту задачу с использованием двух указателей. Пример кода написан на Java.
Перейти к просмотру
👨🏫Библиотека программиста» находится в поиске преподавателя на курс по базам данных SQL
Proglib — это не только медиа, но еще и образовательный проект. Сейчас мы разрабатываем курс по базам данных SQL и ищем преподавателя в «Академию». Если вы опытный и творческий эксперт в сфере, желающий делиться знаниями и обучать, мы будем рады поработать с вами в команде.
Что важно:
● Готовность сотрудничать в формате part-time
● Опыт работы с базами данных от 2 лет
● Понимание базового и продвинутого SQL
● Знание и умение работать: с индексами, PL SQL-процедурами, организацией миграций, агрегатными, аналитическими и оконными функциями, вложенными запросами, опыт проектирования схем данных, OLAP-преобразованиями
● Умение объяснять простые вещи легко и захватывающе
Что нужно будет делать:
● Проектирование программы курса
● Создание тематических модулей и заданий к ним
● Проведение онлайн событий и Q and A встреч со студентами
● Запись видеоуроков
Мотивация:
● До 200 000 рублей
● Доступ к курсам академии
● Поддержка методистом
➡️ Заполнить анкету для отклика ⬅️
Proglib — это не только медиа, но еще и образовательный проект. Сейчас мы разрабатываем курс по базам данных SQL и ищем преподавателя в «Академию». Если вы опытный и творческий эксперт в сфере, желающий делиться знаниями и обучать, мы будем рады поработать с вами в команде.
Что важно:
● Готовность сотрудничать в формате part-time
● Опыт работы с базами данных от 2 лет
● Понимание базового и продвинутого SQL
● Знание и умение работать: с индексами, PL SQL-процедурами, организацией миграций, агрегатными, аналитическими и оконными функциями, вложенными запросами, опыт проектирования схем данных, OLAP-преобразованиями
● Умение объяснять простые вещи легко и захватывающе
Что нужно будет делать:
● Проектирование программы курса
● Создание тематических модулей и заданий к ним
● Проведение онлайн событий и Q and A встреч со студентами
● Запись видеоуроков
Мотивация:
● До 200 000 рублей
● Доступ к курсам академии
● Поддержка методистом
➡️ Заполнить анкету для отклика ⬅️
Интерфейс Delayed
Интерфейс Delayed используется для объектов, у которых есть время истечения задержки.
Он позволяет организовать очередь объектов с учетом их задержки.
Основные методы:
getDelay(TimeUnit unit) — возвращает оставшееся время задержки в указанных единицах измерения.
compareTo(Delayed o) — сравнивает текущий объект с переданным по оставшемуся времени задержки.
Этот интерфейс реализуется классами, которые должны храниться в очереди с задержкой, например в DelayQueue.
#код
Интерфейс Delayed используется для объектов, у которых есть время истечения задержки.
Он позволяет организовать очередь объектов с учетом их задержки.
Основные методы:
getDelay(TimeUnit unit) — возвращает оставшееся время задержки в указанных единицах измерения.
compareTo(Delayed o) — сравнивает текущий объект с переданным по оставшемуся времени задержки.
Этот интерфейс реализуется классами, которые должны храниться в очереди с задержкой, например в DelayQueue.
#код