Daulet's DevBlog
1 subscriber
9 photos
8 files
8 links
LinksPlatform Development Blog
Download Telegram
Сегодня я возможно нашел причину позникновения segfault(-a). Наверное причина в том что в нескольких декораторах удаления не проверяется использование связи(HasUsages).
Цель к изучению: хэндлеры. Желательно поскорее разобраться с их изучением.
Момент для изучения:
const WriteHandlerType& handler
Стоит так же доизучить примеры Константина в гист
Как удаление происходит в C# версии кода
Изучали и вникали в декораторы =)
Итоговый вывод:
Фасад дает конечный класс после всех декорации, а decorated дает класс с декораторами до текущего слоя/класса(в случае первого декоратора/слоя/класса дает base класс)
Channel name was changed to «LP Daulet's DevBlog»
Нашли причину segfault. Причина оказалось в том что декораторы при использовании динамического полиморфизма не обращались к базовым методам класса.
Синтаксис вызова базовых методов:
Class.Base::Update()
Channel photo updated
Channel name was changed to «Daulet's DevBlog»
Channel photo updated
cmake . -DCMAKE_TOOLCHAIN_FILE=conan_toolchain.cmake -DCMAKE_BUILD_TYPE=Release -DCMAKE_CXX_COMPILER=clang++ -DLINKS_PLATFORM_TESTS=TRUE
Random words epta
Конечно, вот как можно создать три миграции с помощью Artisan для описанных вами таблиц:

### Миграция 1: Создание таблицы "Жанры"
php artisan make:migration create_genres_table
Откройте сгенерированный файл миграции и добавьте следующий код:

use Illuminate\Database\Migrations\Migration;
use Illuminate\Database\Schema\Blueprint;
use Illuminate\Support\Facades\Schema;

class CreateGenresTable extends Migration
{
public function up()
{
Schema::create('genres', function (Blueprint $table) {
$table->id();
$table->string('name');
$table->timestamps();
});
}

public function down()
{
Schema::dropIfExists('genres');
}
}
### Миграция 2: Создание таблицы "Фильмы"
php artisan make:migration create_movies_table
Откройте сгенерированный файл миграции и добавьте следующий код:

use Illuminate\Database\Migrations\Migration;
use Illuminate\Database\Schema\Blueprint;
use Illuminate\Support\Facades\Schema;

class CreateMoviesTable extends Migration
{
public function up()
{
Schema::create('movies', function (Blueprint $table) {
$table->id();
$table->string('title');
$table->enum('publication_status', ['published', 'unpublished'])->default('unpublished');
$table->string('poster_link')->nullable();
$table->timestamps();
});
}

public function down()
{
Schema::dropIfExists('movies');
}
}
### Миграция 3: Создание таблицы связи "Фильмы с жанрами"
php artisan make:migration create_movie_genre_table
Откройте сгенерированный файл миграции и добавьте следующий код:

use Illuminate\Database\Migrations\Migration;
use Illuminate\Database\Schema\Blueprint;
use Illuminate\Support\Facades\Schema;

class CreateMovieGenreTable extends Migration
{
public function up()
{
Schema::create('movie_genre', function (Blueprint $table) {
$table->id();
$table->foreignId('movie_id')->constrained()->onDelete('cascade');
$table->foreignId('genre_id')->constrained()->onDelete('cascade');
$table->timestamps();
});
}

public function down()
{
Schema::dropIfExists('movie_genre');
}
}
После создания миграций, выполните их, используя команду:
php artisan migrate
Теперь у вас будут созданы три таблицы в базе данных: "genres", "movies" и "movie_genre", соответственно.
Task about website.
Font: Roboto 400 Regular
Max width of container is 1240px.
First element is picture with 1240x380
Second element is navbar with 1240x92px, also:
Logo inside on left side 169.02x45px
Location address inside 165x36px
Phone number inside 151x36px
Social network links 4 logo 176x32px, every logo is 32x32px
Last item on the right is button 156x32px
Continue...