🤣41 23😁6👍2
Благодаря этой статье вы узнаете, как подключить и настроить Liquibase в Spring Boot приложении, сгенерировать скрипты инициализации и миграции схемы БД, а также дополнить уже существующие changelog файлы новыми скриптами миграции.
Ссылка на статью — КЛИК
Please open Telegram to view this post
VIEW IN TELEGRAM
❤12 7💯4👍1
Что такое JAXP?
Ответ:
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
Что такое SOLID?
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, а пока что оставьте свои реакции:
«Проектируя классы, мы должны стремиться к тому, чтобы объединять родственные компоненты, то есть такие, изменения в которых происходят по одним и тем же причинам. Нам следует стараться разделять компоненты, изменения в которых вызывают различные причины» — Стив Фентон.
Please open Telegram to view this post
VIEW IN TELEGRAM
❤121 45🔥2
Для чего используется аннотация
@Bean?Ответ:
Please open Telegram to view this post
VIEW IN TELEGRAM
❤21 10
К вашему вниманию любимая рубрика «инструкция для чайников — как самостоятельно сделать свой первый деплой».
Please open Telegram to view this post
VIEW IN TELEGRAM
❤19 5💯1
Джеймс Гослинг, создатель Java, вышел на пенсию и поделился этой новостью в LinkedIn:
Наконец-то я вышел на пенсию. После многих лет работы инженером-программистом настало время просто наслаждаться жизнью. Последние 7 лет в Amazon были замечательными, несмотря на COVID-19 и индустриальные потрясения. У меня длинный список сторонних проектов, которые теперь могу завершить. Это будет весело.
Please open Telegram to view this post
VIEW IN TELEGRAM
❤225 2
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);
❤️ — если было полезно
Please open Telegram to view this post
VIEW IN TELEGRAM
Эта статья для тех, кто только начинает свой путь в изучении Java.
Здесь автор не сильно углубляется в детали каждой коллекции в отдельности, ведь чтобы начать ими пользоваться, достаточно хотя бы на базовом уровне понять, что это такое и с чем это "едят".
Please open Telegram to view this post
VIEW IN TELEGRAM
❤14 8⚡1👍1
Что такое Reflection?
Ответ:
Please open Telegram to view this post
VIEW IN TELEGRAM
❤15 8
Метод
shuffle() случайным образом перемешивает все элементы переданного списка.В примере на картинке создаётся список из упорядоченных элементов, затем срабатывает метод
shuffle(), элементы перемешиваются в случайном порядке и выводятся на экран при помощи цикла for.❤️ — если было полезно
Please open Telegram to view this post
VIEW IN TELEGRAM
Вам дана целочисленная матрица
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Вывод:
falsePlease open Telegram to view this post
VIEW IN TELEGRAM
На данном этапе автор показывает, как зарегистрировать бота в Telegram, создать maven проект и реализовать базовый функционал.
Please open Telegram to view this post
VIEW IN TELEGRAM
Formatter — это класс, который предоставляет возможность форматирования строк с использованием специальных спецификаторов для описания формата вывода.
Этот класс позволяет более точно контролировать формат вывода значений, таких как числа, строки и т. д.
Please open Telegram to view this post
VIEW IN TELEGRAM
На данном этапе автор показывает, как написать логи для телеграм бота из прошлой части и установить его на Linux сервер.
🔖 Предыдущая часть — КЛИК
Please open Telegram to view this post
VIEW IN TELEGRAM
❤14 5💯2
ordinal() — метод, который возвращает порядковый номер константы перечисления, начиная с нуля.В этом примере создается перечисление
Days с днями недели. В методе main создаются переменные для нескольких констант и выводятся их порядковые номера с помощью метода ordinal().Please open Telegram to view this post
VIEW IN TELEGRAM