
Database Integration
SQLx, Diesel, async veritabanı erişimi, connection pooling, migration'lar, query builder'lar, ORM desenleri
1Query doğrulaması açısından SQLx ile Diesel arasındaki temel fark nedir?
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.
2SQLx'te bir query çalıştırıp sonuçları otomatik olarak bir Rust struct'ına eşleyen makro hangisidir?
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.
3Async bir PostgreSQL uygulaması için SQLx ile connection pool nasıl yapılandırılır?
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.
Diesel'de type-safe CRUD işlemlerini etkinleştirmek için bir tablo şeması nasıl tanımlanır?
Bir tabloya veri eklemek için bir struct hangi Diesel trait'ini implemente etmelidir?
+17 mülakat soruları
Diğer Rust mülakat konuları
Rust Temelleri
Ownership & Borrowing
Structs & Enums
Hata Yönetimi
Koleksiyonlar
Modüller ve Paketler
Traits
Generics
Lifetimes
Iterators & Closures
Smart Pointers
Concurrency Basics
async/await
Testing
Cargo & Ecosystem
Pattern Matching
Makrolar
Serde ve Serileştirme
Unsafe Rust
Gelişmiş Trait'ler
İleri Düzey Lifetime
Type System
Tokio & Async I/O
Performans Optimizasyonu
Memory Management
Web Frameworks
Rust Tasarım Desenleri
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