Библиотека джависта | Java, Spring, Maven, Hibernate
24.9K subscribers
1.86K photos
38 videos
42 files
2.64K links
Все самое полезное для Java-разработчика в одном канале.

Список наших каналов: https://yangx.top/proglibrary/9197

Обратная связь: @proglibrary_feedback_bot

По рекламе: @proglib_adv

РКН: https://gosuslugi.ru/snet/67a5bbda1b17b35b6c1a55c4
加入频道
Что выведет программа?
Anonymous Quiz
54%
12
32%
11
13%
01
1%
10
Reactive Systems in Java: Resilient, Event-Driven Architecture with Quarkus (2021)
Авторы: Ken Finnigan, Clement Escoffier
Количество страниц: 298

Реактивные системы и архитектура, управляемая событиями, становятся незаменимыми при разработке приложений, и компании это понимают. Реактивные системы гарантируют, что приложения будут отзывчивыми, отказоустойчивыми и гибкими независимо от того, какие сбои или ошибки могут произойти, в то время как архитектура, управляемая событиями, предлагает гибкий и компоновочный вариант для распределенных систем. Эта практическая книга помогает разработчикам Java объединить эти подходы с помощью Quarkus 2.x, среды Java, родной для Kubernetes.

Скачать книгу
🧑‍💻 Зарплаты в ИТ-сфере — одни из самых высоких по стране. Сравниться с айтишниками могут, к примеру, летчики и капитаны судов. Только представьте: Java-разработчики могут претендовать на зарплату от 160 до 400 тысяч рублей, а дата-аналитик получает не меньше 250 тысяч в месяц.

Сегодня, чтобы попасть в мир ИТ, уже не нужно учиться 5 лет в вузе - для старта достаточно получить дополнительное образование.

В проекте #цифровыепрофессии освоить новую специальность можно с финансовой поддержкой от государства на курсах таких известных брендов, как: Нетология, СберУниверситет, Университет Иннополис, Яндекс.Практикум, Академия АйТи, ИТМО, Ланит. Половину стоимости обучения компенсирует государство, а оставшиеся 50% оплачивает сам слушатель или его работодатель.
По итогам обучения будет выдан диплом о профессиональной переподготовке гособразца. Условия участия – гражданство РФ, возраст от 16 лет до пенсионного, наличие законченного среднего профессионального или высшего образования (любой специальности).
В этом году принять участие в проекте #цифровыепрофессии смогут только 25 тысяч человек. Количество учащихся на потоках ограничено. Нажимайте на кнопку «подать заявку»! https://clck.ru/YtMS5
#вопросы_с_собеседований
Какие наиболее распространенные задачи выполняются в контейнере сервлетов?
☕️ Поддержка обмена данными. Контейнер сервлетов предоставляет легкий способ обмена данными между веб клиентом (браузером) и сервлетом. Благодаря контейнеру нет необходимости создавать слушателя сокета на сервере для отслеживания запросов от клиента, а так же разбирать запрос и генерировать ответ. Все эти важные и комплексные задачи решаются с помощью контейнера и разработчик может сосредоточиться на бизнес-логике приложения.
☕️ Управление жизненным циклом сервлетов и ресурсов. Начиная от загрузки сервлета в память, инициализации, внедрения методов и заканчивая уничтожением сервлета. Контейнер так же предоставляет дополнительные утилиты, например JNDI, для управления пулом ресурсов.
☕️ Поддержка многопоточности. Контейнер самостоятельно создает новую нить для каждого запроса и предоставляет ей запрос и ответ для обработки. Таким образом сервлет не инициализируется заново для каждого запроса и тем самым сохраняет память и уменьшает время до обработки запроса.
☕️ Поддержка JSP. JSP классы не похожи на стандартные классы джавы, но контейнер сервлетов преобразует каждую JSP в сервлет и далее управляется контейнером как обычным сервлетом.
☕️ Различные задачи. Контейнер сервлетов управляет пулом ресурсов, памятью приложения, сборщиком мусора. Предоставляются возможности настройки безопасности и многое другое.
#вопросы_с_собеседований
Как организовать подключение к базе данных, обеспечить журналирование в сервлете?
При работе с большим количеством подключений к базе данных рекомендуется инициализировать их в servlet context listener, а также установить в качестве атрибута контекста для возможности использования другими сервлетами.

Журналирование подключается к сервлету стандартным для логгера способом (например для log4j это может быть property-файл или XML-конфигурация) , а далее эта информация используется при настройке соответствующего context listener.
#вопросы_с_собеседований
Какие способы аутентификации доступны сервлету?
Спецификация сервлетов определяет четыре типа проверки подлинности:
HTTP Basic Authentication - BASIC. При доступе к закрытым ресурсам появится окно, которое попросит ввести данные для аутентификации.
Form Based Login - FORM. Используется собственная html форма:
HTTP Digest Authentication - DIGEST. Цифровая аутентификация с шифрованием.
HTTPS Authentication - CLIENT-CERT. Аутентификация с помощью клиентского сертификата.

<login-config>
<auth-method>FORM</auth-method>
<form-login-config>
<form-login-page>/login.html</form-login-page>
<form-error-page>/error.html</form-error-page>
</form-login-config>
</login-config>
🧩 5 интересных головоломок и задач, чтобы отвлечься от рутины и немного пошевелить извилинами (выпуск 5)

Читайте новый выпуск еженедельной подборки интересных алгоритмических и логических задач, которые не дадут вам заскучать.

https://proglib.io/sh/3cAQYlGkOo
Все о Java в одном месте👍

Привет!
Меня зовут Денис - я являюсь автором YouTube канала dmdev и java-разработчиком в Google по совместительству.

Можно читать множество книг, а можно подписаться на 1 канал и уже приступить к программированию.
Экономя время и тратя эффективно свои ресурсы.

На канале видео содержат как теорию, так и практику в формате live coding продолжительностью 10-15 минут.

Чему ты научишься?
Java Core
SQL
JDBC
HTTP. Servlets
Maven
JUnit 5
Groovy
Gradle
Hibernate
Spring - в разработке

После этих курсов обычно устраиваются разработчиком и/или повышают свой уровень до middle/senior
🤫

YouTube dmdev

При оформлении спонсорства на канале:
🎁 доступ в закрытый телеграм чат, где я и другие участники помогают с различными вопросами
🎁 купон от IntelliJ IDEA Ultimate на 6 месяцев бесплатного пользования

Также присоединяйся в Instagram
Пиши "java" в direct - и я вышлю тебе java roadmap 🎁

Instagram dmdev
#вопросы_с_собеседований
Опишите, как обрабатываются JSP страницы, начиная от запроса к серверу, заканчивая ответом пользователю.
Когда пользователь переходит по ссылке на страницу page.jsp, он отправляет http-запрос на сервер GET /page.jsp. Затем, на основе этого запроса и текста самой страницы, сервер генерирует java-класс, компилирует его и выполняет полученный сервлет, формирующий ответ пользователю в виде представления этой страницы, который сервер и перенаправляет обратно пользователю.
#вопросы_с_собеседований
Расскажите об этапах (фазах) жизненного цикла JSP.
Если посмотреть код внутри созданной JSP страницы, то он будет выглядеть как HTML и не будет похож на java класс. Конвертацией JSP страниц в HTML код занимается контейнер, который так же создает и сервлет для использования в веб приложении.

Жизненный цикл JSP состоит из нескольких фаз, которыми руководит JSP контейнер:
Translation – проверка и парсинг кода JSP страницы для создания кода сервлета.
Compilation – компиляция исходного кода сервлета.
Class Loading – загрузка скомпилированного класса в память.
Instantiation – внедрение конструктора без параметра загруженного класса для инициализации в памяти.
Initialization – вызов init() метода объекта JSP класса и инициализация конфигурации сервлета с первоначальными параметрами, которые указаны в дескрипторе развертывания (web.xml). После этой фазы JSP способен обрабатывать запросы клиентов. Обычно эти фазы происходят после первого запроса клиента (т.е. ленивая загрузка), но можно настроить загрузку и инициализацию JSP на старте приложения по аналогии с сервлетами.
Request Processing – длительный жизненный цикл обработки запросов клиента JSP страницей. Обработка является многопоточной и аналогична сервлетам — для каждого запроса создается новый поток, объекты ServletRequest и ServletResponse, происходит выполнение сервис методов.
Destroy – последняя фаза жизненного цикла JSP, на которой её класс удаляется из памяти. Обычно это происходит при выключении сервера или выгрузке приложения.
На вебинаре ты узнаешь:
- что необходимо знать об архитектуре, чтобы пройти собеседование на Middle-позицию
- как прокачать софт скилы перед собеседованием
- как знание Docker, Kafka и K8S влияет на твое конкурентное преимущества
- как продать себя на более высокую должность
- получишь чек-лист «Java Junior to Middle»

Спикер вебинара — Андрей Сундуков, Senior Java Developer. Больше 15 лет в IT. Lead в Digital Habits, сооснователь криптовалютного стартапа.

🚀 Участие бесплатное, регистрируйся по ссылке: https://cutt.ly/1TX3fEU
Spring Security in Action (2020)
Автор: Laurentiu Spilca
Количество страниц: 560

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

Скачать книгу