Перейти до основного вмісту

Публікації

Показано дописи з міткою "web-розробка"

Робота SpringBoot 3 з базою даних Redis

Redis Redis (Remote Dictionary Server) — це in-memory база даних ключ-значення з відкритим вихідним кодом, що використовується для зберігання структурованих даних. Вона підтримує різні типи даних, такі як рядки, списки, множини, упорядковані множини з діапазонами, хеші, бітові масиви, потоки і т. д. Redis широко використовується для кешування, управління сесіями, систем обміну повідомленнями, черг задач та інших сценаріїв, що вимагають високої продуктивності і низької затримки. Redis з SpringBoot Розглянемо простий проєкт на SpringBoot, що використовує Redis, як базу даних. Створимо такий проєкт: Створимо entity Cat: import lombok.Data; import org.springframework.data.annotation.Id; import org.springframework.data.redis.core.RedisHash; @Data @RedisHash("cat") public class Cat { @Id private String id; private String name; private Integer age; public Cat(String name, Integer age) { this.name = name; this.age = age; } } Звер...

Проблема при запуску Liquibase на Digital Ocean та її вирішення

Нещодавно зустрівся з такою проблемою: SpringBoot-проєкт не запустився на сервері через проблему пов’язану з Liquibase. Детальніше про проєкт Сам проєкт повністю написаний на SpringBoot, база даних на MySQL, міграція здійснюється за допомогою Liquibase. Проєкт відносно невеликий і локально запускався і працював без проблем. Але при запуску на продакт-сервері отримувалася помилка: ERROR org.springframework.boot.SpringApplication [main] Application run failed org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'liquibase' defined in class path resource [org/springframework/boot/autoconfigure/liquibase/LiquibaseAutoConfiguration$LiquibaseConfiguration.class]: Invocation of init method failed; nested exception is liquibase.exception.DatabaseException: Unable to create or change a table without a primary key, when the system variable 'sql_require_primary_key' is set. Add a primary key to the table or unset this variable to avoid this me...

The Twelve-Factor App

12-факторні застосунки 12-факторні застосунки - це методологія розробки web-застосунків. Застосовується для різних мов програмування. Власне, самі 12 факторів : I. Кодова база Одна кодова база, що відслідковується в системі контролю версій та має багато розгортань II. Залежності Явно оголошуйте та ізолюйте залежності III. Конфігурація Зберігайте конфігурацію в середовищі виконання IV. Сторонні служби Вважайте сторонні служби (backing services) підключеними ресурсами V. Збірка, реліз, виконання Суворо відокремлюйте етапи збірки та виконання VI. Процеси Запускайте застосунок як один або декілька процесів без збереження внутрішньго стану (stateless) VII. Прив’язка портів Експортуйте сервіси за допомогою прив’язки портів (port binding) VIII. Конкурентність Масштабуйте застосунок за допомогою процесів IX. Утилізовуваність Підвищуйте надійність за допомогою швидкого запуску і коректного вимкнення X. Dev/prod паритет Прагніть максимальної ідентичності development, staging...