CONTENTS
목차
읽음 표시는 직접 선택하며 자동 완료되지 않습니다.
- 01트레이트 객체 - 동적 디스패치와 제네릭 사이에서 고르기
dyn Trait 와 Box<dyn Trait>, 정적·동적 디스패치 비용, 객체 안전성 규칙, 이질적 컬렉션, 제네릭과의 선택 기준
- 02반복자 심화 - 어댑터 조합과 직접 구현
Iterator 트레이트 구현, map·filter·fold·zip·chain·flat_map, 지연 평가, collect 의 대상 타입 추론, iter·iter_mut·into_iter 차이
- 03클로저 - Fn·FnMut·FnOnce 와 캡처
캡처 방식(빌림·가변 빌림·이동), move 클로저, 세 트레이트의 관계, 클로저를 인자·반환값으로, impl Fn 과 Box<dyn Fn>
- 04스마트 포인터 - Box·Rc·RefCell·Weak
Box 와 재귀 타입, Rc 참조 카운트, RefCell 내부 가변성과 실행 중 빌림 검사, Rc<RefCell<T>>, Weak 로 순환 참조 끊기, Deref·Drop
- 05오류 설계 - 사용자 정의 오류와 변환
오류 열거형 설계, Display·Error 구현, From 구현으로 ? 변환, Box<dyn Error> 를 쓰는 자리, 라이브러리와 실행 파일의 오류 처리 차이
- 06수명 심화 - 구조체 속 참조와 'static 오해
참조를 담는 구조체, 생략 규칙 세 가지, 여러 수명 매개변수, 'static 경계의 진짜 뜻, 소유 타입으로 바꿔 수명 문제 피하기
- 07스레드와 공유 상태 - Arc·Mutex·채널
std::thread::spawn 과 join, scoped thread, Arc<Mutex<T>>, mpsc 채널, Send·Sync 의 의미, 교착 상태 피하기. 출력 순서를 결정적으로 만든다
- 08제네릭 심화 - 연관 타입·newtype·PhantomData
연관 타입과 제네릭 매개변수 비교, where 절, 기본 메서드, newtype 패턴과 단위 안전성, PhantomData 로 상태 표시, 연산자 오버로딩(std::ops)
- 09선언형 매크로 - macro_rules! 로 반복 줄이기
매크로 규칙과 프래그먼트 지정자, 반복 $(...)*, 위생성, 매크로가 필요한 때와 함수로 충분한 때, 절차적 매크로 개요(코드는 쓰지 않음)
- 10unsafe 의 경계 - 안전한 추상화 만들기
unsafe 가 허용하는 다섯 가지, 원시 포인터, 안전 불변식을 문서화하는 SAFETY 주석, 안전한 API 로 감싸기(split_at_mut 직접 구현), FFI 개요
- 11성능 - 할당 줄이기와 측정
Vec::with_capacity, Cow 로 복사 피하기, 문자열 슬라이스 활용, 릴리스 빌드와 std::time::Instant 측정(출력에는 결정적 값만), 반복자와 루프 성능
- 12종합 실습 - 재고 명령 처리기
트레이트 객체 명령 패턴, 사용자 정의 오류, 반복자 집계, 스레드로 주문 병렬 검증, 테스트 모듈
이 책은 Devin.KR 원고를 참조합니다. 원고의 원래 주소와 저작자 표기를 유지하며 같은 글을 다시 등록하지 않습니다. 수정된 원고는 읽기 화면에서 재검수 상태를 확인할 수 있습니다.