Rust

Database Integration

SQLx, Diesel, async veritabanı erişimi, connection pooling, migration'lar, query builder'lar, ORM desenleri

20 mülakat soruları·
Senior
1

Query doğrulaması açısından SQLx ile Diesel arasındaki temel fark nedir?

Cevap

SQLx, build sürecinde gerçek bir veritabanına bağlanarak derleme zamanında query doğrulaması yapar. Diesel, derleme zamanında veritabanı bağlantısı gerektirmeden type-safe query'ler oluşturmak için bir Rust DSL'i (Domain-Specific Language) kullanır. Her iki yaklaşım da tip güvenliğini sağlar, ancak SQLx doğrulanmış ham SQL yazmaya izin verirken Diesel kendi Rust API'sinin kullanılmasını zorunlu kılar.

2

SQLx'te bir query çalıştırıp sonuçları otomatik olarak bir Rust struct'ına eşleyen makro hangisidir?

Cevap

SQLx'in query_as! makrosu bir SQL query'sini çalıştırır ve sonuçları otomatik olarak belirtilen bir Rust struct'ına eşler. Bu makro, döndürülen kolonların struct alanlarıyla eşleştiğini derleme zamanında doğrulayarak tip güvenliğini sağlar. query! makrosu anonim bir tip döndürürken, query_scalar! tek bir değer çıkarmak için kullanılır.

3

Async bir PostgreSQL uygulaması için SQLx ile connection pool nasıl yapılandırılır?

Cevap

SQLx, async bir PostgreSQL connection pool'unu yapılandırmak için PgPoolOptions kullanır. max_connections metodu maksimum bağlantı sayısını tanımlar ve connect, havuzu veritabanı URL'sinden oluşturur. Havuz, bağlantıların edinilmesini ve serbest bırakılmasını otomatik olarak yönetir ve yapılandırılabilir timeout'ları ve retry'ları destekler.

4

Diesel'de type-safe CRUD işlemlerini etkinleştirmek için bir tablo şeması nasıl tanımlanır?

5

Bir tabloya veri eklemek için bir struct hangi Diesel trait'ini implemente etmelidir?

+17 mülakat soruları

Bir sonraki mülakatın için Rust'de uzmanlaş

Tüm sorulara, flashcards'a, teknik testlere, code review alıştırmalarına ve mülakat simülatörlerine eriş.

Ücretsiz başla