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

Публікації

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

Шпаргалка по командах Laravel

Ініціалізація проєкту Створити новий проєкт Laravel за допомогою глобального інсталятора. laravel new project-name Створити новий проєкт Laravel через Composer. composer create-project laravel/laravel project-name Запуск локального сервера Запустити вбудований локальний сервер Laravel. php artisan serve Міграції Створити файл міграції. php artisan make:migration create_users_table Виконати всі міграції. php artisan migrate Перестворити базу даних з нуля. php artisan migrate:fresh Відкотити останню міграцію. php artisan migrate:rollback Перевірити статус міграцій. php artisan migrate:status Сідери (Seeders) Сідери (Seeders) — використовуються для автоматичного заповнення бази даних тестовими або початковими даними. Це зручно при розробці або при розгортанні проєкту на новому сервері. Створити Seeder для заповнення бази даних. php artisan make:seeder UsersTableSeeder Запустити всі Seeder-и. php artisan db:seed Запустити конкретний Seeder. php artisan db:seed...

Робота 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...