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

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

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

Реклама на бирже: https://telega.in/c/java_tg
Download Telegram
Please open Telegram to view this post
VIEW IN TELEGRAM
🤣54😁14👍9💯1
Задача с LeetCode «Perfect Squares №279»

Дано целое число n, верните наименьшее число идеальных квадратных чисел, сумма которых равна n.

Идеальный квадрат - это целое число, равное квадрату целого числа (например, 1, 4, 9 и 16).

Пример 1:
Входные данные: n = 12
Вывод: 3
Пояснение: 12 = 4 + 4 + 4

Пример 2:
Входные данные: n = 13
Вывод: 2
Пояснение: 13 = 4 + 9

📱 Java Developer | #задача #medium
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥43
⌨️ Почему стоит избегать ветки default в switch?

На первый взгляд, ветка default в switch кажется удобным решением для обработки "всего остального". Но на самом деле это может стать источником ошибок. Разберем три подхода: с default, без нее и с выбросом исключения.

▶️Пример с веткой default

default часто используют для обработки неожиданных случаев. Это позволяет избежать ошибок компиляции, но может скрыть проблемы:
switch (type) {
case ADMIN -> handleAdmin();
case USER -> handleUser();
default -> logUnexpectedType();
}

Если добавить новое значение, например, GUEST, оно автоматически попадет в default. Это может привести к некорректной работе, если логика в default не подходит для нового значения.


▶️Пример без ветки default

Иногда лучший способ избежать проблем — вовсе отказаться от ветки default. Это особенно полезно, если вы работаете с перечислениями (enum).
switch (type) {
case ADMIN -> handleAdmin();
case USER -> handleUser();
}

Такой код заставит компилятор проверять, учтены ли все значения. Если вы забудете про новое, программа не соберется, что поможет выявить ошибку на этапе разработки.


▶️Пример с выбросом исключения

Если вы уверены, что ветка default необходима, используйте ее для выброса исключения:
switch (type) {
case ADMIN -> handleAdmin();
case USER -> handleUser();
default -> throw new IllegalArgumentException("Unexpected type: " + type);
}

В этом случае, если появится новое значение, программа не выполнит некорректную логику, а остановится с явной ошибкой. Это поможет быстрее найти и устранить проблему.


Подытожим: Ветка default может скрывать ошибки и усложнять поддержку. Лучше обрабатывать все варианты явно или использовать default только для выброса исключений. Такой подход сделает код безопаснее и надежнее.

❤️если было полезно

📱 Java Developer | #обучение
Please open Telegram to view this post
VIEW IN TELEGRAM
44👍13🔥4
Please open Telegram to view this post
VIEW IN TELEGRAM
🤩23😁14🤣51👨‍💻1
Вопрос с собеседования

Из чего состоит HTTP-запрос?

Ответ: HTTP-запрос состоит из начальной строки (определяет тип сообщения), заголовков (передают параметры передачи и характеристики сообщения) и тела сообщения (содержит данные, отделенные от заголовков пустой строкой).

📱 Java Developer | #собеседование
Please open Telegram to view this post
VIEW IN TELEGRAM
👍153🔥3
👩‍💻 Apache Flink: тестирование собственного сериализатора состояния (Часть №11)

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

В этой статье речь пойдет о том, как написать тесты, которые проверяют эволюцию схемы состояния при использовании собственного сериализатора.

Читать статью

🔖 Предыдущая часть — КЛИК


📱 Java Developer | #статья
Please open Telegram to view this post
VIEW IN TELEGRAM
👍42
Please open Telegram to view this post
VIEW IN TELEGRAM
😁60🤣208🔥7
🤯35👍72
👩‍💻 Spring Security + Telegram Auth

В статье объясняется, как реализовать аутентификацию через Telegram в Spring Boot приложении с использованием Spring Security.

Автор показывает, как настроить авторизацию, создать HTML-форму входа и обеспечить безопасность приложения.

Читать статью

📱 Java Developer | #статья
Please open Telegram to view this post
VIEW IN TELEGRAM
👍12🔥31
Please open Telegram to view this post
VIEW IN TELEGRAM
40🤣31😁6🏆3👍1
Вопрос с собеседования

Что такое Reflection?

Ответ: Рефлексия (Reflection) — это механизм получения данных о программе во время её выполнения (runtime). В Java Reflection осуществляется с помощью Java Reflection API, состоящего из классов пакетов java.lang и java.lang.reflect.

➡️ Java Developer | #собеседование
Please open Telegram to view this post
VIEW IN TELEGRAM
👍1687
👩‍💻 3D-игра на Java: от идеи до реализации

В статье рассказывается, как на Java разработать полноценную 3D-игру с использованием мощного движка jMonkeyEngine 3.

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

Читать статью

📱 Java Developer | #статья
Please open Telegram to view this post
VIEW IN TELEGRAM
15🔥3👍2
Коварный mobile-first 😂

📱 Java Developer | #memes
Please open Telegram to view this post
VIEW IN TELEGRAM
🤣37😁7🤩3
Под какой буквой правильный ответ?
Anonymous Quiz
9%
A
46%
B
5%
C
40%
D
👍14🤯65
👩‍💻 Инверсия управления (IoC)

Инверсия управления (IoC) — это принцип ООП, используемый для уменьшения связанности между классами и объектами.

В Java IoC часто реализуется с помощью контейнера внедрения зависимостей (Dependency Injection Container). Он отвечает за создание, настройку и предоставление объектов зависимым классам.

Говоря простым языком, при использовании IoC кодом будет управлять фреймворк, а не программист.

❤️ — если применяешь IoC

📱 Java Developer | #обучение
Please open Telegram to view this post
VIEW IN TELEGRAM
129🔥5👍4
Please open Telegram to view this post
VIEW IN TELEGRAM
2😁53🔥43
Вопрос с собеседования

Что такое livelock?

Ответ: livelock — тип взаимной блокировки, при котором несколько потоков выполняют бесполезную работу, попадая в зацикленность при попытке получения каких-либо ресурсов.

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


📱 Java Developer | #собеседование
Please open Telegram to view this post
VIEW IN TELEGRAM
115😁5👍1🔥1
Блог владельца «Java Developer»

Жизнь в Telegram и за его пределами, бизнес на каналах и никакого программирования:

https://news.1rj.ru/str/+ZE-gNjvcEn5mNzdi
154🔥4
⌨️ Микросервисы: вопросы с собеседования на Java-разработчика

Делимся подборкой вопросов и ответов для подготовки к собеседованию на позицию Java-разработчика: 114 теоретических и практических вопросов с разными уровнями сложности.

Ссылка на подборку

📱 Java Developer | #полезное
Please open Telegram to view this post
VIEW IN TELEGRAM
16🔥5