Java библиотека
31.6K subscribers
2.31K photos
78 videos
8 files
2.05K links
Книги, статьи, мемы и многое другое для Java программиста!

По сотрудничеству и рекламе: @NadikaKir

Канал в перечне РКН: https://vk.cc/cJrT4A

Мы на бирже: https://telega.in/c/javalib/

Сообщество VK https://vk.com/javatutorial
Download Telegram
CompletableFuture

CompletableFuture в пакете java.util.concurrent является классом, который предоставляет мощный и гибкий подход к асинхронному программированию. Он позволяет выполнять асинхронные операции и обрабатывать их результаты, комбинировать несколько операций и управлять зависимостями между ними.

Помимо операций, представленных на изображении, CompletableFuture также предоставляет множество других методов для работы с асинхронными операциями, таких как thenApply(), thenCompose(), thenCombine(), exceptionally() и другие, которые позволяют обрабатывать результаты, комбинировать операции, обрабатывать исключения и многое другое. Это делает CompletableFuture мощным инструментом для асинхронного программирования.
👍24🔥31😁1
👩‍💻 Какие компетенции отличают востребованных Java-разработчиков?

➡️ Узнайте и освойте его на бесплатном практическом уроке «Разрабатываем appender для Logback».

На вебинаре разберём, как можно сделать самодельный appender для Logback, который будет отправлять логи в TCP-сервер логирования.
Также эксперт подробно ответит на любые возникающие вопросы.

📢📢 Занятие пройдёт 12 декабря в 20:00 мск и будет приурочено к старту курса «Java Developer. Professional». После урока вы сможете продолжить обучение в рассрочку.

👉 Для бесплатного участия и получения записи зарегистрируйтесь прямо сейчас: https://otus.pw/QYRL/

Реклама. ООО «Отус онлайн-образование», ОГРН 1177746618576, www.otus.ru
Please open Telegram to view this post
VIEW IN TELEGRAM
👍5🔥1
👩‍💻 Гексагональная архитектура и микросервисы

Проектирование и разработка архитектуры программного обеспечения является неотъемлемой и крайне важной составляющей процесса разработки. Гибкая и хорошо проработанная архитектура значительно упрощает процесс разработки как монолитных проектов, так и проектов с микросервисным подходом. А в идеальных условиях архитектура должна позволять получить из одной кодовой базы как модульный монолит, так и набор микросервисов.

На взгляд автора хорошей отправной точкой может стать гексагональная архитектура, которая является частной реализацией идей чистой архитектуры. В этом
ролике автор рассматривает основные элементы гексагональной архитектуры, а так же демонстрирует её применение в процессе разработки простого сервиса, модульного монолита и набора микросервисов.
Please open Telegram to view this post
VIEW IN TELEGRAM
14👍6
Какие подходы применять в разработке микросервисов?

Узнайте на бесплатном практическом уроке «Основные паттерны использования GraphQL и gRPC» от OTUS. На вебинаре:

- рассмотрим основные паттерны и подходы к использованию GraphQL и gRPC;
- рассмотрим паттерн запрос-ответ;
- обсудим различия между GraphQL и gRPC и их преимущества и недостатки в различных сценариях;
- изучим паттерны запроса типа «одно на много» и «много на много», а также подходы к управлению версиями.

Занятие пройдёт 12 декабря в 17:00 мск и будет будет приурочено к старту курса «Microservice Architecture». После урока вы сможете продолжить обучение в рассрочку.

Для бесплатного участия и получения записи зарегистрируйтесь прямо сейчас: https://otus.pw/dFM7/
👍4🔥41
Можно ли сузить уровень доступа/тип возвращаемого значения при переопределении метода?

• При переопределении метода нельзя сузить модификатор доступа к методу (например с public в MainClass до private в Class extends MainClass).
• Изменить тип возвращаемого значения при переопределении метода нельзя, будет ошибка attempting to use incompatible return type.
• Можно сузить возвращаемое значение, если они совместимы.
Например:

public class Animal {

public Animal eat() {
System.out.println("animal eat");
return null;
}

public Long calc() {
return null;
}

}
public class Dog extends Animal {

public Dog eat() {
return new Dog();
}
/*attempting to use incompatible return type
public Integer calc() {
return null;
}
*/
}
👍212🔥2😁2
Команда Поиска и рекламных технологий Яндекса приглашает на митап для senior бэкенд-разработчиков в Екатеринбурге.

Поговорим про разработку, поиграем в квиз, понетворкаемся и просто хорошо проведем время.

12 декабря, 18:00.
Регистрируйтесь, количество мест в офлайне ограничено!
8👍4🔥3🎉1
👩‍💻 Основы REST API на Spring Boot 3: Создание простейшего REST сервиса

В видео создаем новый Spring Boot 3 проект для простейшего REST сервиса, рассматриваем аннотации RestController, GetMapping.

Тестируем работоспособность сервиса через веб браузер и Postman
Please open Telegram to view this post
VIEW IN TELEGRAM
👍9🔥1
12 декабря в 18:00 по МСК пройдёт бесплатный вебинар «Продвинутые аспекты Java collections framework»

На вебинаре мы разберем тонкости при работе с массивами, списками и мапами.
Ты узнаешь про разницу в производительности основных коллекций, use cases и а также популярные вопросы с собеседований на позицию Java Middle Developer.

Вебинар подойдет для Java-разработчиков, которые хотят повысить свой грейд до Java Middle

Спикер: Роман Оборин, Software Engineer at Tesco

🚀 Бесплатная регистрация: https://vk.cc/csZu1L

Реклама. ООО "Платформа непрерывного обучения" education.dhabits.ru
erid:2VtzqvH1ZqU
👍10🔥3🎉1
👩‍💻 Простой Telegram-бот на Java и Spring Boot 👩‍💻

В данном видеоуроке автор показывает как можно разработать свой собственный Telegram-бот на Java с использованием Spring Boot. После просмотра данного видео, вы сможете создать свой собственный Telegram-бот, но уже с более сложным функционалом.
Please open Telegram to view this post
VIEW IN TELEGRAM
👍32🔥83
Forwarded from Яндекс
This media is not supported in your browser
VIEW IN TELEGRAM
🔥 Разыгрываем Станцию Дуо Макс! Это первая колонка Яндекса с камерой и сенсорным экраном — флагман новой линейки устройств.

Что делать? Подпишитесь на телеграм-каналы @yandex и @techno_yandex, а потом нажмите кнопку «Участвовать» под этим постом. 15 декабря в 13:00 бот рандомно выберет победителя из числа участников.

▶️ А как производят и тестируют умные устройства Яндекса на заводе в Гуанчжоу, смотрите в мини-сериале YaC 2023 — на Кинопоиске и YouTube.
👍8🎉2
Sorted set

SortedSet — это интерфейс в Java Collection Framework, который предоставляет упорядочение элементов в множестве. Элементы упорядочиваются с помощью их естественного порядка или с помощью компаратора, который обычно предоставляется при создании отсортированного множества.

SortedSet имеет несколько дополнительных операций, которые позволяют использовать упорядочение элементов:
— first() и last() возвращают первый и последний элементы в множестве соответственно.
— headSet(), tailSet() и subSet() возвращают подмножества элементов, которые находятся до, после или между заданными элементами соответственно.

В этом примере мы создаем TreeSet (класс, который реализует SortedSet) и добавляем в него несколько строк. Поскольку строки реализуют интерфейс Comparable, они упорядочиваются в алфавитном порядке. Затем мы используем различные методы SortedSet для получения первого и последнего элементов, а также подмножеств элементов.
👍23🔥3
Как проектировать базы данных в highload проектах?

Обычно при проектировании БД используется метод нормальных форм (NF), но с ростом проекта и увеличением объема данных он может работать медленно и приводить к проблемам производительности.

Узнайте, что делать в этой ситуации на бесплатном открытом уроке от OTUS. На вебинаре:

- рассмотрим особенности проектирования баз данных в условиях highload-проектов;
- обсудим альтернативный подход к проектированию.

Занятие пройдёт 13 декабря в 20:00 мск в рамках курса «Highload Architect». После урока вы сможете продолжить обучение в рассрочку.

Чтобы задать свои вопросы преподавателю, переходите на наш сайт прямо сейчас, регистрируйтесь и воспользуйтесь функцией напоминание в календаре, чтобы не пропустить прямой эфир: https://otus.pw/OVqn/
👍82
Абстракция в Java

Абстракция — это способность выделять существенные характеристики объекта и упускать несущественные.
Абстракция позволяет сосредоточиться на важных свойствах и поведении объекта, скрыв детали реализации.

В Java абстракция реализуется с помощью абстрактных классов и интерфейсов.

Абстрактный класс содержит абстрактные методы без реализации. Подклассы обязаны реализовать эти методы.
Интерфейс задает «контракт», описывая поведение классов без деталей реализации. Классы реализуют интерфейс.

Реализация абстракции требует тщательного анализа предметной области и выделения общих свойств объектов.
👍19🔥3
🌲Создайте интерактивную новогоднюю открытку на Java с нуля!

😳 Удивите близких, а заодно прокачайтесь в разработке на бесплатном практическом уроке от OTUS и Александра Фисунова – Senior Kotlin Developer в SSP Software на проекте ВТБ.

В результате урока вы:

✔️ Увидите, как пишется код и создаются программы на Java
✔️ Сможете повторить все шаги и делать подобные открытки на любую тематику

📢📢 Занятие пройдёт 20 декабря в 20:00 мск и будет приурочено к старту курса «Специализация Java-разработчик». На нем вы сможете освоить профессию с нуля до уверенного Middle.

🎫 После урока вы сможете продолжить обучение на курсе в рассрочку на выгодных условиях.

👉 Для бесплатного участия и получения записи урока регистрируйтесь прямо сейчас: https://otus.pw/tFqV/

Реклама. ООО «Отус онлайн-образование», ОГРН 1177746618576
Please open Telegram to view this post
VIEW IN TELEGRAM
6🔥3👍2
👩‍💻 Java. Enum на примерах.

В данном видео автор рассказывает о Enum в языке программирования Java. Показывает разные варианты применения Enum на примерах.
Please open Telegram to view this post
VIEW IN TELEGRAM
👍15🔥3
💡Начните изучение архитектуры ПО с бесплатного открытого урока «Модели взаимодействия или модели хранения данных» от OTUS.

На вебинаре:
— рассмотрим различные типы хранилищ: реляционные базы данных, NoSQL-базы и хранилища файлов;
— узнаем, как выбрать наиболее подходящий тип хранилища для различных сценариев и требований;
— изучим популярные модели CQRS и Event Sourcing.

Занятие пройдёт 20 декабря в 20:00 мск и будет приурочено к старту курса «Software Architect». После урока вы сможете продолжить обучение в рассрочку по специальной цене.

👉 Для бесплатного участия и получения записи пройдите короткое тестирование прямо сейчас 👈

Реклама. ООО «Отус онлайн-образование», ОГРН 1177746618576
Please open Telegram to view this post
VIEW IN TELEGRAM
👍7🔥21
Класс LocalDateTime

Класс LocalDateTime используется для работы с датой и временем без учета часового пояса.
Он появился в Java 8 в пакете java.time и является частью новой date/time API, которая пришла на смену устаревшим классам Date и Calendar.

Основные возможности класса LocalDateTime:
— Хранение даты и времени с точностью до наносекунд.
— Получение различных компонентов даты/времени (год, месяц, день недели и т. д.).
— Выполнение операций сложения и вычитания дат и интервалов.
— Сравнение и сортировка дат по времени.
— Форматирование и парсинг строк по заданному шаблону.
👍243🔥3
Как пройти интервью на позицию Data Warehouse Analyst?

Узнайте на бесплатном практическом уроке от OTUS, Алексея Железного – Senior Data Engineer в Wildberries и Александры Мерзлой – Team Lead DWH в Tinkoff.

На вебинаре:
- обсудим, как проходить интервью на позицию DWH-аналитика для middle+ специалистов;
- разберём практические кейсы;
- ответим на все вопросы в режиме реального времени.

Занятие пройдёт 20 декабря в 20:00 мск и будет приурочено к старту курса «Data Warehouse Analyst». После урока вы сможете продолжить обучение в рассрочку.

Регистрируйтесь на занятие: https://otus.pw/Ii9m/

Реклама. ООО «Отус онлайн-образование», ОГРН 1177746618576, www.otus.ru
5👍4🔥1
Скомпилируется ли код с картинки?

Да, код будет скомпилирован, потому что он следует спецификации функционального интерфейса, определяющей только один абстрактный метод. Второй метод, count, является методом по умолчанию, который не увеличивает количество абстрактных методов.
👍22😁42🔥2
Контейнер Optional

Optional — это контейнер, который может содержать какое-то значение или не содержать ничего.
Он используется для обозначения отсутствия значения вместо null. Это позволяет избежать ошибок NullPointerException.

Optional появился в Java 8. Он представлен классом java.util.Optional.
Чтобы создать экземпляр Optional, используются статические методы:
— empty() для пустого Optional.
— of() для Optional с заданным значением.

Для получения значения из Optional используются методы get(), или orElse() с указанием значения по умолчанию. Также есть методы фильтрации значений, например filter(), map() и flatMap().
🔥15👍8