Интерфейс Supplier
Интерфейс Supplier — это функциональный интерфейс в языке программирования Java, определенный в пакете java.util.function. Он представляет собой интерфейс, который может использоваться для предоставления значений, но не принимает аргументов. В этом интерфейсе есть один метод, который не принимает аргументов и возвращает значение.
Метод Supplier:
T get();
Где T — это тип возвращаемого значения.
Supplier может быть полезным, когда вам нужно получить значение, но не требуется передавать какие-либо аргументы для его получения. Этот интерфейс часто используется, например, в лямбда-выражениях и стримах для предоставления значений.
Интерфейс Supplier — это функциональный интерфейс в языке программирования Java, определенный в пакете java.util.function. Он представляет собой интерфейс, который может использоваться для предоставления значений, но не принимает аргументов. В этом интерфейсе есть один метод, который не принимает аргументов и возвращает значение.
Метод Supplier:
T get();
Где T — это тип возвращаемого значения.
Supplier может быть полезным, когда вам нужно получить значение, но не требуется передавать какие-либо аргументы для его получения. Этот интерфейс часто используется, например, в лямбда-выражениях и стримах для предоставления значений.
👍21❤5🔥2
✅ Что нужно знать для работы с PostgreSQL?
Расскажет опытный эксперт на бесплатном практическом уроке «MVCC, vacuum и autovacuum в PostgreSQL» от OTUS
На вебинаре мы разберём как работают MVCC, vacuum и autovacuum в postgres
Расскажем как работают мультиверсионирование и механизмы оптимизации в PostgreSQL
Встречаемся 12 февраля в 20:00 мск в рамках курса «Базы данных». Доступна рассрочка на обучение!
👉 Регистрация
https://otus.pw/Wwao/?erid=LjN8KXrJ5
Расскажет опытный эксперт на бесплатном практическом уроке «MVCC, vacuum и autovacuum в PostgreSQL» от OTUS
На вебинаре мы разберём как работают MVCC, vacuum и autovacuum в postgres
Расскажем как работают мультиверсионирование и механизмы оптимизации в PostgreSQL
Встречаемся 12 февраля в 20:00 мск в рамках курса «Базы данных». Доступна рассрочка на обучение!
👉 Регистрация
https://otus.pw/Wwao/?erid=LjN8KXrJ5
👍5❤3🎉3
Как обеспечить безопасность в Docker контейнерах?
💻Расскажет Senior DevOps Engineer Андрей Бирюков на бесплатном практическом уроке от OTUS, где вы вместе с экспертом обсудите:
- разбор практик безопасной сборки, тестирования и Run-Time защиты Docker контейнеров;
- Docker Security топ-10 лучших практик;
- обзор Cloud Native Buildpacks.
👉Встречаемся 14 февраля в 20:00 мск в рамках курса «Внедрение и работа в DevSecOps».
Пройдите короткий тест прямо сейчас, чтобы занять место на уроке и получить запись: https://otus.pw/xIzu/
Реклама. ООО «Отус онлайн-образование», ОГРН 1177746618576, www.otus.ru
💻Расскажет Senior DevOps Engineer Андрей Бирюков на бесплатном практическом уроке от OTUS, где вы вместе с экспертом обсудите:
- разбор практик безопасной сборки, тестирования и Run-Time защиты Docker контейнеров;
- Docker Security топ-10 лучших практик;
- обзор Cloud Native Buildpacks.
👉Встречаемся 14 февраля в 20:00 мск в рамках курса «Внедрение и работа в DevSecOps».
Пройдите короткий тест прямо сейчас, чтобы занять место на уроке и получить запись: https://otus.pw/xIzu/
Реклама. ООО «Отус онлайн-образование», ОГРН 1177746618576, www.otus.ru
❤4👍2😁1
Метод compareTo()
Используется для сравнения двух объектов. Обычно он применяется к объектам, реализующим интерфейс Comparable, чтобы определить их относительный порядок. Вот как обычно выглядит сигнатура метода compareTo():
int compareTo(T obj)
где T — это тип объектов, с которыми сравнивается текущий объект. Метод возвращает отрицательное целое число, ноль или положительное целое число в зависимости от того, как текущий объект сравнивается с переданным объектом obj.
➖ Отрицательное число указывает на то, что текущий объект меньше, чем объект obj.
➖ Ноль указывает на то, что текущий объект равен объекту obj.
➖ Положительное число указывает на то, что текущий объект больше, чем объект obj.
Используется для сравнения двух объектов. Обычно он применяется к объектам, реализующим интерфейс Comparable, чтобы определить их относительный порядок. Вот как обычно выглядит сигнатура метода compareTo():
int compareTo(T obj)
где T — это тип объектов, с которыми сравнивается текущий объект. Метод возвращает отрицательное целое число, ноль или положительное целое число в зависимости от того, как текущий объект сравнивается с переданным объектом obj.
➖ Отрицательное число указывает на то, что текущий объект меньше, чем объект obj.
➖ Ноль указывает на то, что текущий объект равен объекту obj.
➖ Положительное число указывает на то, что текущий объект больше, чем объект obj.
👍16❤7
Предметно-ориентированное проектирование в Enterprise Java (2020) PDF
В книге подробно рассматриваются реализации шаблонов предметно-ориентированного проектирования с применением различных инструментальных средств и рабочих программных сред из Enterprise Java Space. При таком подходе читатель получает завершенную картину и возможность практического применения любого из этих средств в процессе предметно-ориентированного проектирования.
В начальных главах описывается эталонная реализация проекта Cargo Tracker - создание монолитного приложения с использованием платформы Jakarta EE. Затем рассматривается полный процесс преобразования монолитного приложения в архитектуру, основанную на микросервисах. В заключительных главах демонстрируется создание версии приложения с использованием шаблонов CQRS и Event Sourcing (ES); основной рабочей средой является Axon Framework.
В книге подробно рассматриваются реализации шаблонов предметно-ориентированного проектирования с применением различных инструментальных средств и рабочих программных сред из Enterprise Java Space. При таком подходе читатель получает завершенную картину и возможность практического применения любого из этих средств в процессе предметно-ориентированного проектирования.
В начальных главах описывается эталонная реализация проекта Cargo Tracker - создание монолитного приложения с использованием платформы Jakarta EE. Затем рассматривается полный процесс преобразования монолитного приложения в архитектуру, основанную на микросервисах. В заключительных главах демонстрируется создание версии приложения с использованием шаблонов CQRS и Event Sourcing (ES); основной рабочей средой является Axon Framework.
👍9❤5🔥3
⁉️Как написать проект одновременно на двух языках – Kotlin и Rust?
👨🏫Расскажет Сергей Окатов – кандидат физико-математических наук, руководитель управления разработки БФТ.ЦР. Встречаемся на бесплатном практическом уроке от OTUS, где мы:
- расскажем о двух молодых и активно развивающихся языках, вошедших в TIOBE-20; - обсудим их преимущества, недостатки и причины, почему они занимают ниши популярных языков Java, JS и C/C++;
- изучим сочетание преимуществ обоих языков;
- продемонстрируем, как можно интегрировать их в одном проекте.
📆Занятие пройдёт 13 февраля в 19:00 мск и будет приурочено к старту курса «Kotlin Backend Developer. Professional». Доступна рассрочка на обучение!
➡️Пройдите бесплатный тест прямо сейчас, чтобы занять место на открытом уроке и получить запись: https://otus.pw/gf30/
Реклама. ООО "ОТУС ОНЛАЙН-ОБРАЗОВАНИЕ". ИНН 9705100963. erid: LjN8JwyAh
👨🏫Расскажет Сергей Окатов – кандидат физико-математических наук, руководитель управления разработки БФТ.ЦР. Встречаемся на бесплатном практическом уроке от OTUS, где мы:
- расскажем о двух молодых и активно развивающихся языках, вошедших в TIOBE-20; - обсудим их преимущества, недостатки и причины, почему они занимают ниши популярных языков Java, JS и C/C++;
- изучим сочетание преимуществ обоих языков;
- продемонстрируем, как можно интегрировать их в одном проекте.
📆Занятие пройдёт 13 февраля в 19:00 мск и будет приурочено к старту курса «Kotlin Backend Developer. Professional». Доступна рассрочка на обучение!
➡️Пройдите бесплатный тест прямо сейчас, чтобы занять место на открытом уроке и получить запись: https://otus.pw/gf30/
Реклама. ООО "ОТУС ОНЛАЙН-ОБРАЗОВАНИЕ". ИНН 9705100963. erid: LjN8JwyAh
👍9❤3☃1
В одном из предыдущих роликов автор рассказал теорию об OAuth 2.0 и OIDC, а на этот раз предлагает перейти к практике. Spring Security реализует практически полноценную поддержку протокола авторизации OAuth 2.0 и его расширения аутентификации OpenID Connect (OIDC), и с минимальными изменениями в своём проекте вы можете внедрить поддержку этих протоколов. В этом ролике автор рассматривает возможность применения Spring Security OAuth 2.0 для реализации сервера ресурсов, клиента и логина в веб-приложениях на основе Spring WebMVC и Spring Webflux. Так же в качестве сервера авторизации снова будет рассмотрен Keycloak, а так же процесс его настройки.
Please open Telegram to view this post
VIEW IN TELEGRAM
YouTube
Client, Resource Server, Login - Spring Security OAuth 2.0 #java #spring #security #oauth #oidc
В одном из предыдущих роликов я рассказал теорию об OAuth 2.0 и OIDC, а на этот раз предлагаю перейти к практике. Spring Security реализует практически полноценную поддержку протокола авторизации OAuth 2.0 и его расширения аутентификации OpenID Connect (OIDC)…
❤14👍4🔥3💯1
Вебинар является частью продвинутого онлайн-курса "Observability: мониторинг, логирование, трейсинг".
На вебинаре мы разберём:
Реклама. ООО «Отус онлайн-образование», ОГРН 1177746618576, www.otus.ru
Please open Telegram to view this post
VIEW IN TELEGRAM
❤8👍2🔥2☃1
Можно ли считать Final переменную константой?
Поскольку у нас не получится присвоить новое значение для final переменной, кажется, что это переменные константы. Но это только на первый взгляд. Если тип данных, на который ссылается переменная — immutable, то да, это константа.
А если тип данных mutable, то есть изменяемый, при помощи методов и переменных можно будет изменить значение объекта, на который ссылается final переменная, и в таком случае назвать ее константой нельзя. Так вот, на примере видно, что часть финальных переменных действительно константы, а часть — нет, и их можно изменить.
Поскольку у нас не получится присвоить новое значение для final переменной, кажется, что это переменные константы. Но это только на первый взгляд. Если тип данных, на который ссылается переменная — immutable, то да, это константа.
А если тип данных mutable, то есть изменяемый, при помощи методов и переменных можно будет изменить значение объекта, на который ссылается final переменная, и в таком случае назвать ее константой нельзя. Так вот, на примере видно, что часть финальных переменных действительно константы, а часть — нет, и их можно изменить.
❤22👍13🔥2
Освоить крутой инструмент на бесплатном практическом уроке «Selenium Grid 4, многопоточное выполнение JUnit/TestNG» от OTUS, где мы:
- познакомимся с Selenium Grid 4 и настроим его;
- научимся запускать тесты с помощью Selenium Grid 4;
- рассмотрим параллельный запусĸ тестов через JUnit/TestNG.
Реклама. ООО «Отус онлайн-образование», ОГРН 1177746618576
Please open Telegram to view this post
VIEW IN TELEGRAM
👍7❤3🔥2😁2
JAVA FROM EPAM (2020)
Пособие предназначено для программистов, начинающих и продолжающих изучение технологий Java SE. В книге рассматриваются основы языка Java и концепции объектно-ориентированного и функционального программирования. Также изложены аспекты применения библиотек классов языка Java, включая файлы, коллекции, Stream API, сетевые и многопоточные приложения, а также взаимодействие с СУБД и ХМL. В конце каждой главы даются теоретические вопросы по изученной главе, тестовые вопросы по материалу главы и задания для выполнения. В приложениях приведены дополнительные материалы с кратким описанием технологий Log4J2 и TestNG.
Пособие предназначено для программистов, начинающих и продолжающих изучение технологий Java SE. В книге рассматриваются основы языка Java и концепции объектно-ориентированного и функционального программирования. Также изложены аспекты применения библиотек классов языка Java, включая файлы, коллекции, Stream API, сетевые и многопоточные приложения, а также взаимодействие с СУБД и ХМL. В конце каждой главы даются теоретические вопросы по изученной главе, тестовые вопросы по материалу главы и задания для выполнения. В приложениях приведены дополнительные материалы с кратким описанием технологий Log4J2 и TestNG.
🔥17👍8❤4🎉3
❓Java Guru - вопросы и задачи с собеседований. Канал с помощью которого ты точно получишь оффер!
👩💻 Android Developer - канал для андроид разработчиков! Статьи, вопросы и задачи с собеседований, лайфхаки.
👩💻 Kotlin Developer - самый топовый канал для котлин разработчика!
📕 Книги для Java программиста - канал с книгами по Java. Постоянно выходят новинки как на русском так и на английском языке!
📰 Java News - канал с последними новостями из мира Java!
📕 Книги для Java программиста - канал с книгами по Java. Постоянно выходят новинки как на русском так и на английском языке!
📰 Java News - канал с последними новостями из мира Java!
Please open Telegram to view this post
VIEW IN TELEGRAM
👍6❤3🔥3😁1
Можно ли в конструкторе использовать return?
Можно, но без возвращаемого значения справа от return. То есть можно использовать return как вспомогательную конструкцию при вычислениях в конструкторе, чтобы срочно закончить (прервать) выполнение дальнейшего кода и завершить инициализацию объекта.
Например, у нас есть класс Cat, и если Cat бездомный — isHomeless = true, нам нужно закончить инициализацию и не заполнять другие поля (ведь они нам неизвестны, так как котик бездомный).
Но если говорить о конкретных значениях, конструктор не может использовать return для возврата какого-то значения, потому что:
⏺ При объявлении конструктора у вас не будет ничего похожего на возвращаемый тип;
⏺ Как правило, конструктор неявно вызывается во время создания экземпляра;
⏺ Конструктор — это не метод: это отдельный механизм, единственная цель которого — инициализировать переменные экземпляра.
Можно, но без возвращаемого значения справа от return. То есть можно использовать return как вспомогательную конструкцию при вычислениях в конструкторе, чтобы срочно закончить (прервать) выполнение дальнейшего кода и завершить инициализацию объекта.
Например, у нас есть класс Cat, и если Cat бездомный — isHomeless = true, нам нужно закончить инициализацию и не заполнять другие поля (ведь они нам неизвестны, так как котик бездомный).
Но если говорить о конкретных значениях, конструктор не может использовать return для возврата какого-то значения, потому что:
⏺ При объявлении конструктора у вас не будет ничего похожего на возвращаемый тип;
⏺ Как правило, конструктор неявно вызывается во время создания экземпляра;
⏺ Конструктор — это не метод: это отдельный механизм, единственная цель которого — инициализировать переменные экземпляра.
👍28❤8🔥5
Облачные технологии. Практическое руководство по созданию инновационных приложений (2024) PDF, ePUB, rtf
Эта книга представляет собой всестороннее руководство по разработке приложений с использованием современных облачных технологий. В ней рассматриваются ключевые аспекты от базовых концепций облачных вычислений до передовых методик и стратегий оптимизации. Читатели получат углубленное понимание моделей облачных вычислений, архитектуры облачных приложений и эффективного использования облачных сервисов и ресурсов. Книга акцентирует внимание на вопросах безопасности в облачных средах и предлагает конкретные рекомендации по управлению доступом, шифрованию данных и мониторингу безопасности. Особое внимание уделяется управлению и мониторингу облачных ресурсов, оптимизации расходов на облачные вычисления, а также внедрению DevOps-практик для ускорения цикла разработки. Книга также затрагивает разработку облачных мобильных приложений, интеграцию с устройствами IoT и использование контейнеризации с оркестрацией.
Эта книга представляет собой всестороннее руководство по разработке приложений с использованием современных облачных технологий. В ней рассматриваются ключевые аспекты от базовых концепций облачных вычислений до передовых методик и стратегий оптимизации. Читатели получат углубленное понимание моделей облачных вычислений, архитектуры облачных приложений и эффективного использования облачных сервисов и ресурсов. Книга акцентирует внимание на вопросах безопасности в облачных средах и предлагает конкретные рекомендации по управлению доступом, шифрованию данных и мониторингу безопасности. Особое внимание уделяется управлению и мониторингу облачных ресурсов, оптимизации расходов на облачные вычисления, а также внедрению DevOps-практик для ускорения цикла разработки. Книга также затрагивает разработку облачных мобильных приложений, интеграцию с устройствами IoT и использование контейнеризации с оркестрацией.
👍19❤5🔥2😁2
С Java Flight Recorder – это легко.
JFR:
- Регистрирует множество событий внутри виртуальной машины Java
- Не ухудшает производительность
- Помогает детально разобраться в причинах сбоев и ошибок
Хотите освоить?
Приглашаем java-разработчиков и тестировщиков
на бесплатный онлайн-урок «Обзор инструмента Java Flight Recorder»!
Вы узнаете:
что такое Java Flight Recorder и для каких целей используется
как запустить и остановить JFR
как настроить интересующий вас профиль по событиям JVM
как прочитать готовый журнал с помощью Java Mission Control
Ведущий – Александр Царёв, техлид в Сбере.
После открытого урока вы сможете записаться на курс для продвинутых разработчиков «Java Developer. Advanced».
Событие начнётся 14 февраля в 20:00 МСК
Участие бесплатное
Реклама. ООО «Отус онлайн-образование», ОГРН 1177746618576
Please open Telegram to view this post
VIEW IN TELEGRAM
👍6❤3🔥2
Метод putAll()
Метод putAll() принадлежит интерфейсу Map и используется для добавления всех элементов из одной карты (Map) в другую. Этот метод принимает в качестве аргумента другую карту и добавляет все ее записи в вызывающую карту.
Например, если у вас есть две карты, содержащие данные, и вам нужно объединить их для выполнения операций на полном объеме данных, метод putAll() предоставляет простой способ объединения.
Метод putAll() принадлежит интерфейсу Map и используется для добавления всех элементов из одной карты (Map) в другую. Этот метод принимает в качестве аргумента другую карту и добавляет все ее записи в вызывающую карту.
Например, если у вас есть две карты, содержащие данные, и вам нужно объединить их для выполнения операций на полном объеме данных, метод putAll() предоставляет простой способ объединения.
👍16🔥5❤4
Программируй Event Sourcing системы и получи преимущество на рынке!
Уникальный для русскоязычного сегмента курс от преподавателя Спб НИУ ИТМО и разработчика ПО Андрея Суховицкого
Целишься на позиции senior или architect? Хочешь знать больше, чем твои коллеги? Этот курс для тебя!
На курсе ты:
✅ Разберешься в event-driven системах
✅ Узнаешь Event sourcing, паттерн CQRS лучше, чем 99.9% разработчиков
✅ Пройдешь путь создания Kafka, узнаешь best practice для RabbitMQ и как масштабировать свои системы
✅ Твердо поймешь основы Domain-driven design
✅ Глубоко залезешь в паттерн Saga и реализуешь распределенную транзакцию
✅ Будешь уверен в себе на system design интервью
Твоими менторами станут ребята из Амазон, Револют, Яндекс и Озон.
❗️Старт курса - 15 февраля, лекции и задания доступны уже сейчас! ❗️
Промокод JAVALIB на 10% до 15 февраля
Переходи по ссылке и начинай учиться!
Уникальный для русскоязычного сегмента курс от преподавателя Спб НИУ ИТМО и разработчика ПО Андрея Суховицкого
Целишься на позиции senior или architect? Хочешь знать больше, чем твои коллеги? Этот курс для тебя!
На курсе ты:
✅ Разберешься в event-driven системах
✅ Узнаешь Event sourcing, паттерн CQRS лучше, чем 99.9% разработчиков
✅ Пройдешь путь создания Kafka, узнаешь best practice для RabbitMQ и как масштабировать свои системы
✅ Твердо поймешь основы Domain-driven design
✅ Глубоко залезешь в паттерн Saga и реализуешь распределенную транзакцию
✅ Будешь уверен в себе на system design интервью
Твоими менторами станут ребята из Амазон, Револют, Яндекс и Озон.
❗️Старт курса - 15 февраля, лекции и задания доступны уже сейчас! ❗️
Промокод JAVALIB на 10% до 15 февраля
Переходи по ссылке и начинай учиться!
🔥9❤3🎅3👍2
В серии коротких роликов "Spring по верхам" автор вкратце рассказывает о применении экосистемы Spring при разработке приложений на платформе Java.
Четвёртый ролик посвящён использованию Spring Security для управления доступом к данным при разработке REST-сервисов.
Please open Telegram to view this post
VIEW IN TELEGRAM
YouTube
Spring по верхам: Безопасность REST-сервиса
В серии коротких роликов "Spring по верхам" я вкратце рассказываю о применении экосистемы Spring при разработке приложений на платформе Java.
Четвёртый ролик посвящён использованию Spring Security для управления доступом к данным при разработке REST-сервисов.…
Четвёртый ролик посвящён использованию Spring Security для управления доступом к данным при разработке REST-сервисов.…
❤9👍3🔥2
🔥 Хардовый Тест по Java QA (не для новичков), который проходит всего 30% 🔥
Оцените свой уровень пройдя короткий тест по автоматизации тестирования на Java! Результат сразу!
👉🏻 ПРОЙТИ ТЕСТ: https://otus.pw/DqAv/
Пройдите тест, смотрите наши открытые уроки - и приходите учиться на онлайн-курс «Java QA Engineer. Professiona». Ждем!
🎁 Сможете успешно пройти тест, получите запись урока с курса бесплатно!
Реклама. ООО «Отус онлайн-образование», ОГРН 1177746618576, www.otus.ru
Оцените свой уровень пройдя короткий тест по автоматизации тестирования на Java! Результат сразу!
👉🏻 ПРОЙТИ ТЕСТ: https://otus.pw/DqAv/
Пройдите тест, смотрите наши открытые уроки - и приходите учиться на онлайн-курс «Java QA Engineer. Professiona». Ждем!
🎁 Сможете успешно пройти тест, получите запись урока с курса бесплатно!
Реклама. ООО «Отус онлайн-образование», ОГРН 1177746618576, www.otus.ru
👍4😁4☃2❤2🔥2