소개
이전 장에서 우리는 Ticket 구조체를 개별적으로 모델링해 보았습니다. 필드와 제약 조건을 정의하고 Rust에서 이를 가장 잘 표현하는 방법은 배웠지만, Ticket이 더 큰 시스템 내에서 어떻게 상호작용하는지는 아직 살펴보지 않았습니다.
이번 장에서는 Ticket을 중심으로 간단한 워크플로우를 구축해 보겠습니다. 티켓을 저장하고 검색하는 기초적인 관리 시스템을 구현하며 Rust의 다양한 기능들을 익혀볼 것입니다.
이 과정을 통해 다음과 같은 새로운 Rust 개념들을 탐색하게 됩니다:
- 배열(Arrays): 스택에 할당되는 고정 크기 컬렉션
- 벡터(Vec): 크기 조정이 가능한 유연한 배열 타입
- 반복자(Iterators) 및
IntoIterator: 컬렉션의 요소를 순회하는 방법 - 슬라이스(Slices,
&[T]): 컬렉션의 일부분을 다루는 방법 - 라이프타임(Lifetimes): 참조가 유효한 기간을 명시하는 방법
- 해시 맵(HashMap) 및 B-트리 맵(BTreeMap): 대표적인 키-값(key-value) 데이터 구조
Eq및Hash:HashMap의 키를 비교하기 위한 트레이트Ord및PartialOrd:BTreeMap을 다루기 위한 정렬 트레이트Index및IndexMut: 컬렉션의 요소에 접근하는 연산자 오버로딩
Exercise
The exercise for this section is located in 06_ticket_management/00_intro