
Database Integration
SQLx, Diesel, async 데이터베이스 액세스, connection pooling, 마이그레이션, query builder, ORM 패턴
20 면접 질문·
Senior
1쿼리 검증 측면에서 SQLx와 Diesel의 주요 차이점은 무엇입니까?
1
쿼리 검증 측면에서 SQLx와 Diesel의 주요 차이점은 무엇입니까?
답변
SQLx는 빌드 과정에서 실제 데이터베이스에 연결하여 컴파일 타임에 쿼리를 검증합니다. Diesel은 Rust DSL(Domain-Specific Language)을 사용하여 컴파일 타임에 데이터베이스 연결 없이 type-safe한 쿼리를 구성합니다. 두 접근 방식 모두 타입 안전성을 보장하지만, SQLx는 검증된 raw SQL을 작성할 수 있게 해주는 반면 Diesel은 자체 Rust API 사용을 요구합니다.
2SQLx에서 쿼리를 실행하고 결과를 Rust struct에 자동으로 매핑할 수 있는 매크로는 무엇입니까?
2
SQLx에서 쿼리를 실행하고 결과를 Rust struct에 자동으로 매핑할 수 있는 매크로는 무엇입니까?
답변
SQLx의 query_as! 매크로는 SQL 쿼리를 실행하고 결과를 지정된 Rust struct에 자동으로 매핑합니다. 이 매크로는 반환된 컬럼이 struct 필드와 일치하는지 컴파일 타임에 검증하여 타입 안전성을 보장합니다. query! 매크로는 익명 타입을 반환하고, query_scalar!는 단일 값을 추출하는 데 사용됩니다.
3async PostgreSQL 애플리케이션을 위해 SQLx로 connection pool을 구성하는 방법은 무엇입니까?
3
async PostgreSQL 애플리케이션을 위해 SQLx로 connection pool을 구성하는 방법은 무엇입니까?
답변
SQLx는 PgPoolOptions를 사용하여 비동기 PostgreSQL connection pool을 구성합니다. max_connections 메서드는 최대 연결 수를 정의하고, connect는 데이터베이스 URL로부터 풀을 생성합니다. 풀은 연결의 획득과 해제를 자동으로 관리하며, 구성 가능한 timeout과 retry를 지원합니다.
4
Diesel에서 type-safe한 CRUD 작업을 활성화하기 위해 테이블 스키마를 정의하는 방법은 무엇입니까?
5
테이블에 데이터를 삽입하려면 struct는 어떤 Diesel trait를 구현해야 합니까?
+17 면접 질문
기타 Rust 면접 주제
Rust 기초
Junior
25개 질문Ownership & Borrowing
Junior
22개 질문Structs & Enums
Junior
20개 질문에러 처리
Junior
18개 질문컬렉션
Junior
20개 질문모듈과 패키지
Junior
18개 질문Traits
Mid-Level
22개 질문Generics
Mid-Level
20개 질문Lifetimes
Mid-Level
20개 질문Iterators & Closures
Mid-Level
22개 질문Smart Pointers
Mid-Level
22개 질문Concurrency Basics
Mid-Level
20개 질문async/await
Mid-Level
22개 질문Testing
Mid-Level
18개 질문Cargo & Ecosystem
Mid-Level
18개 질문Pattern Matching
Mid-Level
18개 질문매크로
Mid-Level
20개 질문Serde와 직렬화
Mid-Level
20개 질문Unsafe Rust
Senior
20개 질문고급 트레잇
Senior
22개 질문고급 lifetime
Senior
20개 질문Type System
Senior
20개 질문Tokio & Async I/O
Senior
22개 질문성능 최적화
Senior
20개 질문Memory Management
Senior
20개 질문Web Frameworks
Senior
22개 질문Rust 디자인 패턴
Senior
20개 질문