Java Developer – Telegram
Java Developer
15.8K subscribers
1.85K photos
135 videos
2 files
2.07K links
Авторский канал действующего разработчика — интересные заметки, новые технологии, библиотеки и фреймворки

Сотрудничество: @bape_ads
Прайс: @bape_media

РКН: https://clck.ru/3GHfTK

Реклама на бирже: https://telega.in/c/java_tg
Download Telegram
⌨️ Шаблон проектирования: Chain of Responsibility

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

Рассмотрим простой пример:
«Представьте ситуацию, когда вы идете в банк и стоите в очереди. Клиент перед вами может быть обслужен кассиром, менеджером или руководителем, в зависимости от сложности его запроса. Если кассир не может справиться с запросом, он передает его менеджеру, а если и менеджер не может помочь, запрос передается руководителю»


Каждый «обработчик» (кассир, менеджер, руководитель) представляет звено в цепочке обязанностей. Клиент (запрос) передается от одного звена к другому, пока его запрос не будет обработан или цепочка не закончится.

🕺 — если нравится такой формат

➡️ Java Developer | #алгоритмы
Please open Telegram to view this post
VIEW IN TELEGRAM
996
Кому знакомо?😤

➡️ Java Developer | #memes
Please open Telegram to view this post
VIEW IN TELEGRAM
62🤣20💯71😁1
👩‍💻 5 полезных библиотек и фреймворков Java

В данной статье автор рассматривает библиотеки и фреймворки, которые могут быть весьма полезными для вас. Статья рассчитана на разработчиков начинающего уровня, а если вы — профессионал, посоветуйте в комментариях тот инструмент, который используете сами.

Ссылка на статью — КЛИК

➡️ Java Developer | #статья
Please open Telegram to view this post
VIEW IN TELEGRAM
1251🤣1
Please open Telegram to view this post
VIEW IN TELEGRAM
🤣4930
Вопрос с собеседования

Какова роль equals() и hashCode() в HashMap?

Ответ: hashCode позволяет определить корзину для поиска элемента, а equals используется для сравнения ключей элементов в списке корзины и искомого ключа.

➡️ Java Developer
Please open Telegram to view this post
VIEW IN TELEGRAM
2372
👩‍💻 Javalin

Javalin — это очень легкий веб-фреймворк для Kotlin и Java, который поддерживает WebSockets, HTTP2 и асинхронные запросы. Основные цели — это простота, отличный опыт разработчика и первоклассная совместимость между Kotlin и Java.

Преимущества Javalin, которые я могу выделить:

Вы никогда не расширяете классы и редко реализуете интерфейсы.

Многие облегченные веб-фреймворки Java и Kotlin не поддерживают OpenAPI, но Javalin поддерживает (включая Swagger UI и ReDoc).

Javalin работает поверх Jetty, одного из наиболее используемых и стабильных веб-серверов на JVM. Вы можете полностью настроить сервер Jetty, включая SSL и HTTP3, а также все остальное, что предлагает Jetty.

Maven:
<dependency>
<groupId>io.javalin</groupId>
<artifactId>javalin</artifactId>
<version>6.1.3</version>
</dependency>


Gradle:
implementation("io.javalin:javalin:6.1.3")


🖥 GitHub

➡️ Java Developer | #статья
Please open Telegram to view this post
VIEW IN TELEGRAM
1852🤣1
Почему код выдаст ошибку?

Ответ: ключевые слова final и abstract противоположны друг другу.

➡️ Java Developer
Please open Telegram to view this post
VIEW IN TELEGRAM
3015
👩‍💻 Enum в Java: Руководство для разработчиков

Перечисления (Enum) в Java предоставляют разработчикам удобный инструмент для создания констант. Они не ограничиваются только этим, так как могут включать в себя конструкторы, поля, а также реализовывать интерфейсы и абстрактные методы.

Об этом всём рассказывает автор в данной статье, подкрепляя сказанное реальными примерами.

Ссылка на статью — КЛИК

➡️ Java Developer | #статья
Please open Telegram to view this post
VIEW IN TELEGRAM
116
Please open Telegram to view this post
VIEW IN TELEGRAM
🤣7719💯2
👩‍💻 BlockingQueue

BlockingQueue — это интерфейс, который используется для реализации очередей с блокировками.

Он позволяет безопасно работать с очередью из нескольких потоков.

➡️ Java Developer
Please open Telegram to view this post
VIEW IN TELEGRAM
10
Вопрос с собеседования

Что значит выражение System.out::println?

Ответ: выражение иллюстрирует механизм instance method reference: передачи ссылки на метод println() статического поля out класса System.

➡️ Java Developer
Please open Telegram to view this post
VIEW IN TELEGRAM
1871👍1
👩‍💻 Запускаем PostgreSQL в Docker: от простого к сложному

В данной статье автор рассматривает типовые способы запуска ванильного PostgreSQL в контейнере, а также проблемы и их возможные решения, с которыми может столкнуться software engineer.

Ссылка на статью — КЛИК

➡️ Java Developer | #статья
Please open Telegram to view this post
VIEW IN TELEGRAM
114
Please open Telegram to view this post
VIEW IN TELEGRAM
🤣29😁66
У всех было?

➡️ Java Developer | #memes
Please open Telegram to view this post
VIEW IN TELEGRAM
57😁12🤣42💯2
Что выведет код сверху?
Anonymous Quiz
36%
datadata
22%
dataa
21%
datadatadataa
21%
Ошибка компиляции
11💯432
⌨️ Паттерн «Poison Pill» в Java

Poison Pill, или «ядовитая пилюля», — это шаблон, используемый для мягкой остановки потока или процесса.

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

Принцип работы:
1. Архитектура Poison Pill включает несколько компонентов: Message, Producer, Consumer и MessageQueue.

2. Message определяет структуру сообщений. Сообщения могут включать различные заголовки и тело сообщения. Пример реализации — SimpleMessage.

3. MessageQueue объединяет точки публикации MqPublishPoint и подписки MqSubscribePoint. Он представляет собой очередь, через которую сообщения передаются от производителей к потребителям. Пример реализации — SimpleMessageQueue, использующий BlockingQueue для хранения сообщений.

4. Producer создает сообщения и помещает их в очередь. Т. е. когда производитель завершает свою работу, он отправляет сообщение Poison Pill, чтобы уведомить потребителей о необходимости остановки.

5. Consumer является потребителем и извлекает сообщения из очереди и обрабатывает их. Если потребитель получает Poison Pill, он завершает свою работу.


100 🕺 — и я пишу новый пост (тему предлагайте в комментариях)

➡️ Java Developer | #паттерн
Please open Telegram to view this post
VIEW IN TELEGRAM
10710