Java библиотека
31.6K subscribers
2.32K 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
Бесплатный курс по Backend-разработке от Газпромбанка 💻

Газпромбанк приглашает тебя в бесплатную академию GPB IT Factory с оффером для лучших студентов.

Ты сможешь прокачать свои скиллы в backend-разработке, создать с нуля чат-бот «Минибанк» на языке Java/Kotlin и Java Spring Boot приложение, которые сможешь добавить в свое портфолио.

Кроме этого, лучшие студенты программы смогут присоединиться к команде Газпромбанка на позицию начинающего специалиста с перспективой роста до middle-позиции. 

Мы ждем студентов 2 курса магистратуры или тех, кто уже завершил(-а) обучение в вузе и сможет посещать занятия в Москве. Для прохождения отбора достаточно обладать инженерным мышлением, владеть одним из языков программирования, а также знать основы SQL, Computer Science и Linux. 

📍 Оставить заявку
7😁2👍1🔥1
Контейнер Optional

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

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

Для получения значения из Optional используются методы get(), или orElse() с указанием значения по умолчанию. Также есть методы фильтрации значений, например filter(), map() и flatMap().
👍17🔥41
🔥 Какие актуальные технологии нужно знать для разработки на Spring?

🎙 Расскажет Александр Оруджев — Senior Software Engineer. Встречаемся на бесплатном практическом уроке от OTUS, где вы вместе с опытным экспертом разберете:

- паттерны Controller, Service и Repository;
- какую пользу они могут принести;
- особенности использования данных шаблонов в Spring.


📅 Занятие пройдёт 20 марта в 20:00 мск и будет приурочено к старту курса «Разработчик на Spring Framework». Доступна рассрочка на обучение!

👉 Пройдите короткий тест прямо сейчас, чтобы занять место на открытом уроке и получить запись: https://otus.pw/xfKP/

Реклама. ООО «Отус онлайн-образование», ОГРН 1177746618576, www.otus.ru
Please open Telegram to view this post
VIEW IN TELEGRAM
👍43🔥2
👩‍💻 Keycloak и Spring Security

Keycloak - популярный SSO-сервис (Single Sign On), предоставляющий единую точку входа для всех ваших приложений, реализующий протоколы OAuth и OIDC. Keycloak может быть использован в связке со Spring Security с минимальным количеством дополнительного кода. В этом ролике автор продемонстрирует настройку ресурс-сервера и логина Spring Security OAuth2 с использованием Keycloak.
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥9👍71
Можно ли считать Final переменную константой?

Поскольку у нас не получится присвоить новое значение для final переменной, кажется, что это переменные константы. Но это только на первый взгляд. Если тип данных, на который ссылается переменная — immutable, то да, это константа.

А если тип данных mutable, то есть изменяемый, при помощи методов и переменных можно будет изменить значение объекта, на который ссылается final переменная, и в таком случае назвать ее константой нельзя. Так вот, на примере видно, что часть финальных переменных действительно константы, а часть — нет, и их можно изменить.
👍2522🔥1🍾1
👩‍💻 Тестирование веб-приложений - Разработка проектов со Spring

Тестирование является неотъемлемым этапом разработки программного обеспечения и обеспечивает качество разрабатываемых проектов, соблюдение требований и спецификаций, а также позволяет выявлять ошибки на ранних этапах. В пятом ролике серии речь пойдёт о модульном и интеграционном тестировании проектов на основе Spring WebMVC. Кроме этого в ролике рассматривается применение Testcontainers для развёртывания тестовой БД, а так же WireMock - для имитации сторонних REST-сервисов.

В цикле роликов "Разработка проектов со Spring" автор рассказывает на простых примерах о процессе разработки веб-приложений и REST-сервисов на языке программирования Java с использованием экосистемы Spring. Данный цикл охватывает разработку классических и реактивных проектов, вопросы их сопровождения, такие как документация и мониториг, адаптацию их к облачной инфраструктуре и процесс их развёртывания в Docker и Kubernetes.
Please open Telegram to view this post
VIEW IN TELEGRAM
👍214🔥2
Екатеринбург, 21 марта приглашаем на митап IT Talk by Sber! 😉


Поговорим о том, как сделать правильную анимацию в браузере, обсудим управление UI через backend и узнаем о проблемах наследования кода. А после — ответим на все вопросы, пообщаемся и просто отлично проведём время.

Спикеры и темы:

- Михаил Прядун, Frontend Developer, «Правильная анимация и хороший CSS»
- Алексей Кардашов, Java Developer, «Управление UI через backend в стеке jvm с использованием composite screen platform»
- Ирина Шахтарина, аналитик, «Это всё, что останется после меня: проблемы наследования кода и передачи права на него»
Встречаемся 21 марта в 18:30 в Технохабе Сбера по адресу ул. Розы Люксембург, 56а.

Ждём всех крутых разработчиков Урала! Регистрируйтесь по ссылке 💚
8👍3🔥2
Маркерный интерфейс — это интерфейс, который не содержит ни одного метода.

Он используется для пометки классов, чтобы указать на определенные свойства или функциональность, которые могут быть использованы во время выполнения программы.
👍26🔥32
♨️ Хочешь выйти на новый профессиональный уровень джавист?
- Осваивай Spring!


Тест на знание языка Java

— Ответь на 21 вопрос
и проверь, насколько хорошо ты знаешь язык Java и готов освоить Spring. Сможешь сдать — пройдёшь на продвинутый онлайн-курс "Разработчик на Spring" Framework со скидкой!

👉 ПРОЙТИ ТЕСТ ОНЛАЙН-КУРСА "Разработчик на Spring Framework": https://otus.pw/486T/

🎫 Курс можно приобрести в рассрочку

Реклама. ООО «Отус онлайн-образование», ОГРН 1177746618576, www.otus.ru
Please open Telegram to view this post
VIEW IN TELEGRAM
👍32🔥1🎅1
Предположим, есть метод, который может выбросить IOException и FileNotFoundException в какой последовательности должны идти блоки catch? Сколько блоков catch будет выполнено?

Общее правило: обрабатывать исключения нужно от «младшего» к старшему. Т.е. нельзя поставить в первый блок catch(Exception ex) {}, иначе все дальнейшие блоки catch() уже ничего не смогут обработать, т.к. любое исключение будет соответствовать обработчику catch(Exception ex).

Таким образом, исходя из факта, что
FileNotFoundException extends IOException сначала нужно обработать FileNotFoundException, а затем уже IOException.
👍1614😁6🔥1
Что такое «абстракция»?

Абстрагирование – это способ выделить набор общих характеристик объекта, исключая из рассмотрения частные и незначимые. Соответственно, абстракция – это набор всех таких характеристик.

Представьте, что водитель едет в автомобиле по оживлённому участку движения. Понятно, что в этот момент он не будет задумываться о химическом составе краски автомобиля, особенностях взаимодействия шестерёнок в коробке передач или влияния формы кузова на скорость (разве что, автомобиль стоит в глухой пробке и водителю абсолютно нечем заняться). Однако, руль, педали, указатель поворота он будет использовать регулярно.
👍126🔥4
👩‍💻 Разработка реактивного веб-приложения - Разработка проектов со Spring

В шестом ролике серии автор снова возвращается к теме разработки веб-приложений, но на этот раз речь пойдёт о реактивных веб-приложениях на основе Spring WebFlux и Project Reactor. Попутно будут задеты темы применения инструментов интернационализации, Thymeleaf, а так же Jakarta Bean Validation, включая нюансы применения последней в реактивных веб-приложениях.

В цикле роликов "Разработка проектов со Spring" автор рассказывает на простых примерах о процессе разработки веб-приложений и REST-сервисов на языке программирования Java с использованием экосистемы Spring. Данный цикл охватывает разработку классических и реактивных проектов, вопросы их сопровождения, такие как документация и мониторинг, адаптацию их к облачной инфраструктуре и процесс их развёртывания в Docker и Kubernetes.
Please open Telegram to view this post
VIEW IN TELEGRAM
👍235😁1
С чего начать изучение микросервисной архитектуры?

Прийти на бесплатный практический урок «Аутентификации и авторизация микросервисов», где опытный эксперт разберет:

1. Введение в микросервисную архитектуру
2. Паттерн аутентификации в микросервисах
3. Паттерн авторизации и управление доступом
4. Безопасность и мониторинг

Занятие пройдёт 3 апреля в 20:00 мск в рамках курса «Microservice Architecture». Доступна рассрочка на обучение!

Пройдите короткий тест прямо сейчас, чтобы посетить бесплатный урок и получить запись: https://vk.cc/cvyTCi

Реклама. ООО «Отус онлайн-образование», ОГРН 1177746618576, www.otus.ru
👍64
👩‍💻 Абстрактный класс в Java

Вы пишете код для обслуживания банковских операций и определяете в нем три класса:

🔹 Person, описывает человека;
🔹 Employee, описывает банковского служащего;
🔹 Client, представляет клиента банка.

Классы Employee и Client будут производными от класса Person, так как оба класса имеют общие поля и методы. Поскольку все объекты будут представлять сотрудника или клиента банка, то напрямую мы от класса Person создавать объекты не будем.

Поэтому имеет смысл сделать его абстрактным, как на картинках.

Тем самым мы придерживаемся принципам ООП — наследование и полиморфизм (переопределяем метод display()). Также есть Инкапсуляция благодаря private полям класса Person.

С помощью всего этого, ваш код более гибкий для изменений, более читабельный и поддерживаемый.
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
👍293🎉3🔥2🎄1
⁉️ Как стать востребованным разработчиком на Java в 2024?

Освойте JVM и облачную инфраструктуру на онлайн-курсе
«Java Developer. Advanced» от OTUS.

После обучения вы сможете:

- реализовать проект с несколькими сервисами, развёрнутыми в Kubernetes с демонстрацией модели метрик на дашборде Grafana;
- подать нагрузку на приложение, снять дамп памяти и описать его содержимое;
- запустить профилирование приложения под нагрузкой.


Все это позволит вам претендовать на вакантные позиции в крупных российских и международных компаниях.

Стартуем уже 28 марта!

👉 Узнайте подробности и пройдите короткий тест прямо сейчас, это последний шанс попасть в группу: https://otus.pw/KdKdj/

Реклама. ООО «Отус онлайн-образование», ОГРН 1177746618576
Please open Telegram to view this post
VIEW IN TELEGRAM
5👍5🔥3
Вышла Java 22

Вышла общедоступная версия Java 22. В этот релиз попало около 2300 закрытых задач и 12 JEP'ов.

Java 22 не является LTS-релизом, и у неё будут выходить обновления только полгода (до сентября 2024 года).


Читать статью
👍2410🎉3
Хочешь прокачать свои знания по Spring на практике?

Мы разработали для тебя интенсив, посвященный только этому фреймворку. В режиме онлайн разберем все нюансы и тонкости на практике, а ты сможешь создавать надежные приложения.

Итак, интенсив Spring Professional.

📆 Старт – 25 марта в 19:00
✍️ Формат: 8 занятий и 4 мини-проекта.
💬 Стоимость обучения – 25 000 рублей.

Что мы для тебя приготовили:

- лекции по работе с ORM и Spring Data JPA/JDBC, Spring Security, Web, MVC, и Core,
- практические задания: создать RESTful сервис и веб-приложение, Back-end и Front-end,
- доступ в библиотеку для системного аналитика и Java-разработчика.

👉 Ты же понимаешь, Spring – это непростая тема, а мы смогли для тебя в одном интенсиве собрать все важные моменты и объясним их простым языком.

Подробная информация об интенсиве и возможность оставить заявку на участие, здесь: https://clck.ru/39YAYj

Реклама. ООО "Платформа непрерывного обучения" ИНН 7839405924
erid:2VtzqwMevBe
6🔥6👍3😁2
Инкапсуляция

Инкапсуляция в Java является механизмом обёртывания данных (переменных) и кода, работающего с данными (методами), в одно целое. В инкапсуляции переменные класса будут скрыты от других классов и доступ к ним может быть получен только с помощью метода их текущего класса. По-другому это называется скрытием данных.

Для достижения инкапсуляции в Java:
☕️ Объявите переменные класса как private.
☕️ Предоставьте public к методам установки и получения (сеттеру и геттеру) для изменения и просмотра значений переменных.

Преимущества инкапсуляции:
☕️ Поля класса можно сделать только для чтения или только для записи.
☕️ Класс может иметь полный контроль над тем, что хранится в его полях.
🔥21👍92😁1
Microservices | Вопросы с Собеседований

- Подборка вопросов по микросервисной архитектуре с реальных собеседований

- Авторские статьи по архитектуре, проектированию, базам данных

- Автор - Lead Developer на Java/Kotlin
🔥5👍42