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

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

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

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

Сообщество VK https://vk.com/javatutorial
Download Telegram
Лучшие практики для Java-приложений в Kubernetes

В этой статье вы прочитаете о лучших практиках запуска Java-приложений в Kubernetes. Большинство из этих рекомендаций будут справедливы и для других языков.

Однако я рассматриваю все правила в рамках характеристик Java, а также показываю решения и инструменты, доступные для приложений на базе JVM.

Некоторые из этих рекомендаций по Kubernetes навязаны дизайном при использовании самых популярных Java-фреймворков, таких, как Spring Boot или Quarkus. Я покажу вам, как эффективно использовать их для упрощения жизни разработчиков.

Читать статью
🔥12👍51
Предметно-ориентированное проектирование в Enterprise Java (2020) PDF

В книге подробно рассматриваются реализации шаблонов предметно-ориентированного проектирования с применением различных инструментальных средств и рабочих программных сред из Enterprise Java Space. При таком подходе читатель получает завершенную картину и возможность практического применения любого из этих средств в процессе предметно-ориентированного проектирования.
В начальных главах описывается эталонная реализация проекта Cargo Tracker - создание монолитного приложения с использованием платформы Jakarta EE. Затем рассматривается полный процесс преобразования монолитного приложения в архитектуру, основанную на микросервисах. В заключительных главах демонстрируется создание версии приложения с использованием шаблонов CQRS и Event Sourcing (ES); основной рабочей средой является Axon Framework.
👍115🔥21
Как контейнер сервлетов управляет жизненным циклом сервлета, когда и какие методы вызываются?

Контейнер сервлетов управляет четырьмя фазами жизненного цикла сервлета:
• Загрузка класса сервлета — когда контейнер получает запрос для сервлета, то происходит загрузка класса сервлета в память и вызов его конструктора без параметров.
• Инициализация класса сервлета — после того как класс загружен контейнер инициализирует объект ServletConfig для этого сервлета и внедряет его через init() метод. Это и есть место где сервлет класс преобразуется из обычного класса в сервлет.
• Обработка запросов — после инициализации сервлет готов к обработке запросов. Для каждого запроса клиента сервлет контейнер порождает новый поток и вызывает метод service() путем передачи ссылки на объекты ответа и запроса.
• Удаление - когда контейнер останавливается или останавливается приложение, то контейнер сервлетов уничтожает классы сервлетов путем вызова destroy() метода.

Таким образом, сервлет создаётся при первом обращении к нему и живёт на протяжении всего времени работы приложения (в отличии от объектов классов, которые уничтожаются сборщиком мусора после того, как они уже не используются) и весь жизненный цикл сервлета можно описать как последовательность вызова методов:
public void init(ServletConfig config) – используется контейнером для инициализации сервлета. Вызывается один раз за время жизни сервлета.
public void service(ServletRequest request, ServletResponse response) – вызывается для каждого запроса. Метод не может быть вызван раньше выполнения init() метода.
public void destroy() – вызывается для уничтожения сервлета (один раз за время жизни сервлета).
👍173🔥2
🔥 Переходи на новый уровень в Java и разнообразь свою работу!

Пройди тест по Java и проверь как хорошо ты знаешь язык.

Ответишь — пройдешь на продвинутый курс «Java Developer. Professional» от OTUS по специальной цене + получишь масстер-класс от преподавателя

👉 ПРОЙТИ ТЕСТИРОВАНИЕ

Реклама. ООО «Отус онлайн-образование», ОГРН 1177746618576, www.otus.ru
👍63🔥2
JAVA FROM EPAM (2020)

Пособие предназначено для программистов, начинающих и продолжающих изучение технологий Java SE. В книге рассматриваются основы языка Java и концепции объектно-ориентированного и функционального программирования. Также изложены аспекты применения библиотек классов языка Java, включая файлы, коллекции, Stream API, сетевые и многопоточные приложения, а также взаимодействие с СУБД и ХМL. В конце каждой главы даются теоретические вопросы по изученной главе, тестовые вопросы по материалу главы и задания для выполнения. В приложениях приведены дополнительные материалы с кратким описанием технологий Log4J2 и TestNG.
👍15😁3🔥2
В каком случае требуется переопределять метод service()?

Метод service() переопределяется, когда необходимо, чтобы сервлет обрабатывал все запросы (и GET, и POST) в одном методе.

Когда контейнер сервлетов получает запрос клиента, то происходит вызов метода service(), который в зависимости от поступившего запроса вызывает или метод doGet() или метод doPost().
👍9🔥2
🔥 Проверьте, готовы ли вы изучить Apache Kafka?

Ответьте на 10 вопросов за 15 минут онлайн-курса «Apache Kafka» и узнайте, готовы ли вы к обучению в OTUS.

🟢 Пройти тестирование

➡️ В случае успешного прохождения вас ждут подарки – доступ к 3 открытым урокам для знакомства с форматом обучения и специальная цена на курс.

— «ksqlDB - анализируем потоки на SQL»
— «Kafka Streams»
— «Место Kafka в событийно-ориентированных системах»

💪 За 3 месяца обучения вы полностью освоите платформу Apache Kafka, а также научитесь работать с потоками на SQL (ksqlDB), познакомитесь со Schema Registry и освоите REST API.

Реклама. ООО «Отус онлайн-образование», ОГРН 1177746618576, www.otus.ru
Please open Telegram to view this post
VIEW IN TELEGRAM
👍5🔥2
SOLID в деталях: Принцип единственной ответственности

В серии роликов "SOLID в деталях" я постараюсь подробно рассказать о принципах SOLID, а так же продемонстрировать их практическое применение.

В первом
ролике речь пойдёт о принципе единственной ответственности (Single Responsibility Principle; SRP), его трактовках и их практическом применении.
👍26🔥3
Cyberduck — это бесплатный FTP, SFTP, WebDAV, Amazon S3, Backblaze B2, Microsoft Azure и OneDrive и клиент передачи файлов OpenStack Swift для Mac и Windows.

Language: Java

💥Stars: 2601
📝Forks: 264
https://github.com/iterate-ch/cyberduck
👍7🔥32
Техника «10 тестов в день» – одна из самых эффективных в изучении Java.

Канал Java Guru выложил в открытый доступ тесты, которые дают на собеседованиях в топовые компании, вроде Яндекс и MailRu.

➤ Открываете задачку – выбираете вариант – видите правильный ответ и детальное объяснение к нему. Так вы усвоите на 50% больше знаний в сжатые сроки.

Подписывайтесь и качайте свои скиллы: @javatasks
👍92🔥21
SOLID в деталях: Принцип открытости/закрытости

В серии роликов «SOLID в деталях» автор постарается подробно рассказать о принципах SOLID, а так же продемонстрировать их практическое применение.

Второй
ролик посвящён принципу открытости/закрытости.
👍14🔥42
В чем разница между методами GET и POST?

GET передает данные серверу используя URL, тогда как POST передает данные, используя тело HTTP запроса. Длина URL ограничена 1024 символами, это и будет верхним ограничением для данных, которые можно отослать через GET. POST может отправлять гораздо большие объемы данных. Лимит устанавливается web-server и составляет обычно около 2 Mb.
• Передача данных методом POST более безопасна, чем методом GET, так как секретные данные (например пароль) не отображаются напрямую в web-клиенте пользователя, в отличии от URL, который виден почти всегда. Иногда это преимущество превращается в недостаток - вы не сможете послать данные за кого-то другого.
GET метод является неизменяемым, тогда как POST — изменяемый.
👍37🔥62
Алгоритмы (2023) PDF

В этом руководстве содержатся основные сведения об алгоритмах: анализируются различные типы алгоритмов, рассматриваются мето-ды их построения (рекурсия, динамическое программирование и др.), приводятся практические примеры. В конце каждой главы приводятся упражнения, направленные на закрепление пройденного.Для изучения материала требуется знание основ дискретной математики и методов доказательств, а также представление об основных вычислительных задачах и алгоритмах. Желателен практический опыт работы с языком программирования, поддерживающим косвенную адресацию и рекурсию.Издание адресовано студентам и преподавателям технических вузов, а также тем, кто хочет изучить основы алгоритмизации.
👍18🔥62
Что такое cookies?

Сookies («куки») — небольшой фрагмент данных, отправленный web-сервером и хранимый на устройстве пользователя. Всякий раз при попытке открыть страницу сайта, web-клиент пересылает соответствующие этому сайту cookies web-серверу в составе HTTP-запроса. Применяется для сохранения данных на стороне пользователя и на практике обычно используется для:
• аутентификации пользователя;
• хранения персональных предпочтений и настроек пользователя;
• отслеживания состояния сеанса доступа пользователя;
• ведения разнообразной статистики.
👍47🔥42
Как часто вы делаете code-review в своих проектах? 

Проверка кода – важная часть функционала разработчика, этот процесс помогает выявить ошибки, пропуски, уязвимости и стилистические недочеты. 

Хотите научиться правильно проводить ревью, чтобы повысить качество своих конечных результатов? 

Приходите на бесплатный открытый урок «Code-review онлайн» от OTUS.

Преподаватель курса «С# Developer Professional» Антон Герасименко, .net developer + lead с опытом в разработке более 10 лет:
— проведет code-review нескольких учебных проектов;
— расскажет о сode-review в целом: стоит ли его проводить, кому и когда он полезен.

🔥Во второй части урока у вас будет возможность отправить свой код и разобрать его вместе с преподавателем прямо на вебинаре!

📆 Занятие пройдёт 5 октября в 20:00 мск в рамках курса «C# Developer. Professional». После открытого урока вы сможете поступить на курс на специальных условиях.

➡️Пройдите бесплатное вступительное тестирование прямо сейчас и зарегистрируйтесь на событие: https://otus.pw/zR92/

Реклама. ООО «Отус онлайн-образование», ОГРН 1177746618576, www.otus.ru
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥4👍311
Что такое «сессия»?

Сессия - это сеанс связи между клиентом и сервером, устанавливаемый на определенное время. Сеанс устанавливается непосредственно между клиентом и веб-сервером в момент получения первого запроса к веб-приложению. Каждый клиент устанавливает с сервером свой собственный сеанс, который сохраняется до окончания работы с приложением.
👍25🔥42
Принцип подстановки Барбары Лисков - SOLID в деталях

Третий ролик серии «SOLID в деталях» посвящён принципу подстановки Барбары Лисков (Liskov Substitution Principle; LSP).

В серии роликов «SOLID в деталях» автор постарается подробно рассказать о принципах SOLID, а так же продемонстрировать их практическое применение.
👍14🔥3
Дайте определение терминам «простой», «составной» (composite), «потенциальный» (candidate) и «альтернативный» (alternate) ключ.

Простой ключ состоит из одного атрибута (поля). Составной - из двух и более.

Потенциальный ключ - простой или составной ключ, который уникально идентифицирует каждую запись набора данных. При этом потенциальный ключ должен обладать критерием неизбыточности: при удалении любого из полей набор полей перестает уникально идентифицировать запись.

Из множества всех потенциальных ключей набора данных выбирают первичный ключ, все остальные ключи называют альтернативными.
👍14🔥21
🤖 Пройди тест по Java

👩‍💻 Проверь свои знания. Сможешь сдать — пройдёшь на продвинутый курс "Java Developer. Professional" от OTUS по специальной цене.

За 6 месяцев обучения:
- Научишься создавать современные java-приложения
- Поймешь основы функционирования JVM (сборка мусора, byteCode)
- Освоишь приемы применения многопоточности
- Напишите выпускной проект на любую тему под наставничеством преподавателя

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

👉 ПРОЙТИ ТЕСТ

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

Догоняя уходящий поезд хайпа по релизу 21 версии платформы Java, автор рассказывает о том, что нового и интересного на его взгляд появилось в языке программирования и на платформе Java.
В этом
ролике он не преследует целью рассказать в подробностях вообще обо всех изменениях, остановится только на наиболее значимых и важных для большинства разработчиков с его точки зрения.
Please open Telegram to view this post
VIEW IN TELEGRAM
👍233🔥3