Все новости проекта теперь доступны в telegram-канале – подписывайтесь! А ниже по темам сгруппированы все статьи, которые вы можете найти на сайте.
Стандарт взаимодействия между клиентом и сервером. Альтернатива restful-сервисам.
Базовые алгоритмы, которые могут быть реализованы на любом языке программирования.
Различные задачи, которые можно решить с помощью популярных библиотек.
Kotlin, Java, Spring, Spring Boot, Spring Data, SQL, PostgreSQL, Oracle, Linux, Hibernate, Collections, Stream API, многопоточность, файлы, Nginx, Apache, maven, gradle, JUnit, YouTube, новости, руководство, ООП, алгоритмы, головоломки, rest, GraphQL, Excel, XML, json, yaml.
Статья и проект на github обновлены и переведены на Spring Boot 3.
Обновил статью про кеширование запросов в Spring. Также перевёл пример на github на Spring Boot 3 и Java 21.
Актуализировал статью про Springdoc, т.к. она пользуется стабильным спросом. Также обновил проект на github, переведя его на Spring Boot 3 и Java 21.
Актуализировал статью про валидацию бинов в Spring Boot. Также для этой статьи создал репозиторий с примерами на github.
Актуализировал статью про аудит изменений. Перевёл репозиторий на github на Spring Boot 3 и Java 21.
Добавил раздел "Настройка переадресации с www и http на https" в nginx.
В более простом случае можно просто отсортировать строки в алфавитном порядке или изменить регистр букв.
Редактирование списков - это на самом деле достаточно мощный инструмент, который позволяет упростить рутинные действия. Как правило, при преобразовании из одного формата в другой.
Например, если есть названия, перечисленные через запятую - тут его довольно легко можно преобразовать в html-список путём добавления тэгов <li> в префикс и </li> в постфикс.
Владимир, спасибо, обязательно добавлю ваш вариант в статью!
И там лучше вместо int сразу использовать long, чтобы можно было до 92 индекса дойти.
мб добавить вариант рекурсии с оптимизацией попроще?
class FibonacciSearcher {
int get(int n) {
if (n <= 1)
return n;
return get(n, 0, 1);
}
private int get(int n, int left, int right) {
if (n < 2)
return right;
int sum = left + right;
return get(n - 1, right, sum);
}
}
внатуре без терминалки peek не запустится. проверено.
Большое спасибо за разъяснения!
Хороший пример! Поскольку оба типа являются ссылочным, то nulltype пойдёт в более конкретную спецификацию MyChildObject
будет что-то вроде @Query("select u from User u where u.id = :id order by u.created desc")
то есть в отличие от обычного native sql в запросах участвуют объекты.
А как делается метод с явным JPA-запросом с помощью аннотации @Query? Интересно.
Я понял что с параметром не получается использовать метод по соглашению из-за нижнего подчеркивания "_". В поле и в классе Report параметр был как time_now. Переименовал в Report как timeNow и указал аннотацию @Column(name = "time_now")
Работает нормально с методом findByOrderByTimeNow()
Как называется это поле Timestamp? Вообще вместо него можно например LocalDateTime использовать. Обратная сортировка будет выглядеть как OrderByИмяПоляDesc.
Как выглядит метод с произвольным именем и явным JPA-запросом с помощью аннотации @Query?
У меня в классе есть параметр типа java.sql.Timestamp, по нему, к сожалению, не удаётся реализовать findByOrderByTime_now() в dao. Почему?
Можно ли сделать сортировку OrderBy в обратном порядке?
Спасибо большое, кратко, понятно и без воды!