Gelişmiş Konular

Gelişmiş Konular

Bu bölümde, ödeme yöntemleri oluşturma, soru yöntemleri, veri ızgaraları ve daha fazlası gibi e-Sınav'ın ileri düzey konularını tartışacağız. Bu konuya girmeden önce, Laravel'e aşina olduğunuzu varsayıyoruz.

Minio

MinIO Yüksek Performanslı Nesne Depolama

MinIO, Amazon Web Services S3 uyumlu bir API sağlayan ve tüm temel S3 özelliklerini destekleyen yüksek performanslı bir nesne depolama çözümüdür. MinIO, genel veya özel bulut, yalın donanım altyapısı, düzenlenmiş ortamlar ve uç altyapısı gibi her yerde devreye almak için tasarlanmıştır.

Kurulum

Bulut

MinIO (opens in a new tab) bulut tabanını kullanmak için kayıt olup dökümanları takip edebilirsiniz.

Docker

Docker kullanıyorsanız bulutu kullanmanız gerekmez. Bunun yerine, komut satırını kullanarak projeyi başlatın ve 'localhost:9000'de çalıştırın.

./vendor/bin/sail up

.env'de MinIO'yu yapılandırın:

MINIO_ENDPOINT=http://minio:9000
MINIO_URL=http://localhost:9000
MINIO_KEY=sail
MINIO_SECRET=password
MINIO_REGION=us-east-1
MINIO_BUCKET=imtihan

Meilisearch

Meilisearch'ü yükleme, belge ekleme, ilk aramanızı yapma, arama önizlemesini kullanma ve bulut sunucunuzu koruma konularında size yol gösterecektir.

Kurulum

Bulut

Meilisearch (opens in a new tab) bulut tabanını kullanmak için kayıt olup dökümanları takip edebilirsiniz.

Docker

Docker kullanıyorsanız bulutu kullanmanız gerekmez. Bunun yerine, komut satırını kullanarak projeyi başlatın ve 'localhost:7700'de çalıştırın.

./vendor/bin/sail up

.env'de Meilisearch'ü yapılandırın:

SCOUT_DRIVER=meilisearch
MEILISEARCH_HOST=http://meilisearch:7700
MEILISEARCH_KEY=masterKey
SCOUT_QUEUE=true

Toplu İçe Aktarma

Scout'u mevcut bir projeye kuruyorsanız, dizinlerinize aktarmanız gereken veritabanı kayıtlarınız zaten olabilir. Scout, mevcut tüm kayıtlarınızı arama dizinlerinize içe aktarmak için kullanabileceğiniz bir scout:import Artisan komutu sağlar:

sail artisan scout:import "App\Models\Name"

flush komutu, bir modelin tüm kayıtlarını arama dizinlerinizden kaldırmak için kullanılabilir:

sail artisan scout:flush "App\Models\Name"

Kuyruk

Scout'u kullanmak için kesinlikle gerekli olmamakla birlikte, kitaplığı kullanmadan önce bir kuyruk sürücüsü (opens in a new tab) yapılandırmayı kesinlikle düşünmelisiniz. Bir sıra çalışanı çalıştırmak, Scout'un model bilgilerinizi arama dizinlerinizle senkronize eden tüm işlemleri kuyruğa almasına izin vererek, uygulamanızın web arayüzü için çok daha iyi yanıt süreleri sağlar.

Bir kuyruk sürücüsü yapılandırdıktan sonra, config/scout.php yapılandırma dosyanızdaki kuyruk seçeneğinin değerini true olarak ayarlayın:

'queue' => true,

kuyruk seçeneği yanlış olarak ayarlandığında bile, Algolia ve Meilisearch gibi bazı Scout sürücülerinin kayıtları her zaman eşzamansız olarak indekslediğini unutmamak önemlidir. Yani laravel uygulamanız içerisinde indeksleme işlemi tamamlanmış olsa bile arama motorunun kendisi yeni ve güncellenmiş kayıtları hemen yansıtmayabilir.

Scout işlerinizin kullandığı bağlantıyı ve kuyruğu belirtmek için, kuyruk yapılandırma seçeneğini bir dizi olarak tanımlayabilirsiniz:

'queue' => [
    'connection' => 'redis',
    'queue' => 'scout'
],