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

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

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

Реклама на бирже: https://telega.in/c/java_tg
Download Telegram
👩‍💻 Liquibase + Spring Boot: настройка и написание миграций баз данных

Благодаря этой статье вы узнаете, как подключить и настроить Liquibase в Spring Boot приложении, сгенерировать скрипты инициализации и миграции схемы БД, а также дополнить уже существующие changelog файлы новыми скриптами миграции.

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

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

Что такое JAXP?

Ответ: JAXP, The Java API for XML Processing (Java API для обработки XML) — набор API, упрощающих обработку XML данных в программах написанных на Java. Содержит реализации DOM, SAX и StAX парсеров, поддерживает XSLT и возможность работать с DTD.

➡️ Java Developer | #собеседование
Please open Telegram to view this post
VIEW IN TELEGRAM
126💯2
Please open Telegram to view this post
VIEW IN TELEGRAM
72😁35💯8👍2
👩‍💻 Принципы SOLID (Часть 1)

Что такое SOLID?

🟣 S: Single Responsibility Principle (Принцип единственной ответственности).

🟣 O: Open-Closed Principle (Принцип открытости-закрытости).

🟣 L: Liskov Substitution Principle (Принцип подстановки Барбары Лисков).

🟣 I: Interface Segregation Principle (Принцип разделения интерфейса).

🟣 D: Dependency Inversion Principle (Принцип инверсии зависимостей).

1. Принцип единственной ответственности

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

Рассмотрим код:
class Animal {
constructor(name: string){ }
getAnimalName() { }
saveAnimal(a: Animal) { }
}


Класс Animal описывает какое-то животное и нарушает принцип единственной ответственности:
В соответствии с принципом класс должен решать лишь какую-то одну задачу. Он же решает две, занимаясь работой с хранилищем данных в методе saveAnimal и манипулируя свойствами объекта в конструкторе и в методе getAnimalName.


Как такая структура класса может привести к проблемам?

Если изменится порядок работы с хранилищем данных, то придётся вносить изменения во все классы, работающие с хранилищем. Такая архитектура не отличается гибкостью, изменения одних подсистем затрагивают другие, что напоминает эффект домино.

Приведём в порядок и создадим ещё один класс, единственной задачей которого является работа с хранилищем, в частности — сохранение в нём объектов класса Animal:
class Animal {
constructor(name: string){ }
getAnimalName() { }
}
class AnimalDB {
getAnimal(a: Animal) { }
saveAnimal(a: Animal) { }
}


В следующих частях мы рассмотрим остальные принципы SOLID, а пока что оставьте свои реакции:

❤️ — если было полезно
🕺если уже знаком с SOLID

«Проектируя классы, мы должны стремиться к тому, чтобы объединять родственные компоненты, то есть такие, изменения в которых происходят по одним и тем же причинам. Нам следует стараться разделять компоненты, изменения в которых вызывают различные причины» — Стив Фентон.


➡️ Java Developer | #полезное #solid
Please open Telegram to view this post
VIEW IN TELEGRAM
12145🔥2
Вопрос с собеседования

Для чего используется аннотация @Bean?

Ответ: В классах конфигурации Spring, @Bean используется для определения компонентов с кастомной логикой.

➡️ Java Developer | #собеседование
Please open Telegram to view this post
VIEW IN TELEGRAM
2110
👩‍💻 Деплой Java приложения на удаленный сервер

К вашему вниманию любимая рубрика «инструкция для чайников — как самостоятельно сделать свой первый деплой».

Ссылка на статью

➡️ Java Developer | #статья
Please open Telegram to view this post
VIEW IN TELEGRAM
195💯1
👩‍💻 Создатель Java вышел на пенсию

Джеймс Гослинг, создатель Java, вышел на пенсию и поделился этой новостью в LinkedIn:

Наконец-то я вышел на пенсию. После многих лет работы инженером-программистом настало время просто наслаждаться жизнью. Последние 7 лет в Amazon были замечательными, несмотря на COVID-19 и индустриальные потрясения. У меня длинный список сторонних проектов, которые теперь могу завершить. Это будет весело.


❤️ — если заслуживает уважения

➡️ Java Developer | #новости
Please open Telegram to view this post
VIEW IN TELEGRAM
2252
👩‍💻 Библиотека Instancio

Instancio — это библиотека, которая позволяет автоматически создавать объекты для юнит-тестов.

Вместо ручной настройки данных:
Address address  = new Address();
address.setStreet("street");
address.setCity("city");
//...

Person person = new Person();
person.setFirstName("first-name");
person.setLastName("last-name");
person.setAge(22);
person.setGender(Gender.MALE);
person.setAddress(address);
//...


Вы можете просто выполнить следующее:
Person person = Instancio.create(Person.class);


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

❤️если было полезно
🕺если видишь это впервые

➡️ Java Developer | #полезное
Please open Telegram to view this post
VIEW IN TELEGRAM
11332👍2
8
Под какой буквой правильный ответ?
Anonymous Quiz
43%
A
39%
B
5%
C
13%
D
213
👩‍💻 Java: Введение в коллекции

Эта статья для тех, кто только начинает свой путь в изучении Java.

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

Ссылка на статью

➡️ Java Developer | #статья
Please open Telegram to view this post
VIEW IN TELEGRAM
1481👍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
158
👩‍💻 Метод Collections.shuffle

Метод shuffle() случайным образом перемешивает все элементы переданного списка.

В примере на картинке создаётся список из упорядоченных элементов, затем срабатывает метод shuffle(), элементы перемешиваются в случайном порядке и выводятся на экран при помощи цикла for.

❤️если было полезно
🕺если не знал об этом

➡️ Java Developer | #обучение
Please open Telegram to view this post
VIEW IN TELEGRAM
5436
Задача с LeetCode «Search a 2D Matrix №74»

Вам дана целочисленная матрица m x n со следующими свойствами:

Каждая строка отсортирована в неубывающем порядке.
Первое целое число каждой строки больше последнего целого числа предыдущей строки.

Если число target находится в матрице вернуть true, в противном случае — false.

Пример 1:
Картинка: открыть
Входные данные: matrix = [[1,3,5,7],[10,11,16,20],[23,30,34,60]], target = 3
Вывод: true

Пример 2:
Картинка: открыть
Входные данные: matrix = [[1,3,5,7],[10,11,16,20],[23,30,34,60]], target = 13
Вывод: false

➡️ Java Developer | #задача #easy
Please open Telegram to view this post
VIEW IN TELEGRAM
112
👩‍💻 Telegram бот на Java и Spring Boot: Базовый функционал (Часть №1)

На данном этапе автор показывает, как зарегистрировать бота в Telegram, создать maven проект и реализовать базовый функционал.

📱 Смотреть на YouTube

➡️ Java Developer | #видео #обучение
Please open Telegram to view this post
VIEW IN TELEGRAM
309
👩‍💻 Formatter

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

Этот класс позволяет более точно контролировать формат вывода значений, таких как числа, строки и т. д.

🕺если было полезно

➡️ Java Developer | #обучение
Please open Telegram to view this post
VIEW IN TELEGRAM
566😁1
👩‍💻 Telegram бот на Java и Spring Boot: Пишем логи, установка приложения на Linux сервер (Часть №2)

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

📱 Смотреть на YouTube

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


➡️ Java Developer | #видео #обучение
Please open Telegram to view this post
VIEW IN TELEGRAM
145💯2
10
Под какой буквой правильный ответ?
Anonymous Quiz
11%
A
12%
B
69%
C
8%
D
20💯1
👩‍💻 Как получить порядковый номер элемента в enum?

ordinal() — метод, который возвращает порядковый номер константы перечисления, начиная с нуля.

В этом примере создается перечисление Days с днями недели. В методе main создаются переменные для нескольких констант и выводятся их порядковые номера с помощью метода ordinal().

🕺если было полезно

➡️ Java Developer | #обучение
Please open Telegram to view this post
VIEW IN TELEGRAM
71👍533
Вопрос с собеседования

Что такое класс Assert? Зачем и как его использовать?

Ответ: Класс Assert — это класс в Java, который позволяет проверять утверждения (assertions) и генерировать ошибку AssertionError в случае нарушения этих утверждений.

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

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

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

➡️ Java Developer | #собеседование
Please open Telegram to view this post
VIEW IN TELEGRAM
21👍6