1. 러스트 설치및 카고사용법
- 러스트 설치
- 헬로월드
- 카고사용법
2. 추리게임
3. 일반적인 프로그래밍의 개념들
- 변수와 가변성
- 데이터 타입
- 함수
- 주석
- 제어흐름문
4. 소유권 이해하기
- 소유권이 뭔가요?
- 참조와 대여
- 슬라이스
5. 구조체로 데이터 구조화하기
- 구조체정의 및 인스턴스화
- 구조체를 사용한 예제프로그램
- 메서드 문법
6. 열거형과 패턴매칭
- 열거형 정의하기
- match 제어흐름 구조
- if let을 사용한 간결한 제어흐름
7. 커져가는 프로젝트를 패키지, 크레이트, 모듈로 관리하기
- 패키지와 크레이트
- 모듈을 정의하여 스코프 제어하기
- 경로를 사용하여 모듈트리의 아이템 참조하기
- use 키워드로 경로를 스코프 안으로 가져오기
- 별개의 파일로 모듈 분리하기
8. 일반적인 컬렉션
- 벡터에 여러 값의 목록 저장하기
- 문자열에 텍스트 저장하기
- 해시맵에 키밸류 저장하기
9. 에러처리
- panic!으로 복구불가능한 에러 처리하기
- Result로 복구 가능한 에러 처리하기
10. 제네릭타입, 트레이트, 라이프타임
- 제네릭 데이터타입
- 트레이트로 공통된 동작을 정의하기
- 라이프타임으로 참조자의 유효성 검증하기
11. 테스트 작성하기
- 테스트 작성방법
- 테스트 실행방법 제어하기
- 테스트 조직화
12. IO프로젝트: 커맨드라인 프로그램 만들기
- 커맨드라인 인수 받기
- 파일 읽기
- 모듈성과 에러처리 향상을 위한 리팩터링
- 테스트 주도 개발로 라이브러리 기능 개발하기
- 환경변수 사용하기
- 표준출력 대신 표준에러로 에러메시지 작성하기
13. 함수형 언어의 특성: 반복자와 클로저
- 클로저: 자신의 환경을 캡쳐하는 익명함수
- 반복자로 일련의 아이템들 처리하기
- IO프로젝트 개선하기
- 성능비교하기: 루프 vs 반복자
14. 카고와 Crates.io 더 알아보기
- 릴리즈 프로필을 통한 빌드 커스터마이징하기
- Crates.io에 크레이트 배포하기
- 카고 작업공간
- cargo install로 Crates.io에 있는 바이너리 설치하기
- 커스텀 명령어로 카고 확장하기
15. 스마트포인터
- Box<T>를 사용하여 힙에있는 데이터 가리키기
- Deref 트레이트로 스마트포인터를 보통의 참조자처럼 취급하기
- Drop 트레이트로 메모리정리 코드 실행하기
- Rc<T>, 참조 카운트 스마트 포인터
- RefCell<T>와 내부 가변성 패턴
- 순환참조는 메모리누수를 발생시킬 수 있습니다
16. 겁 없는 동시성
- 스레드를 이용하여 코드를 동시에 실행하기
- 메시지 패싱을 사용하여 스레드간 데이터 전송하기
- 공유 상태 동시성
- Sync와 Send 트레이트를 이용한 확장가능한 동시성
17. 러스트의 객체지향 프로그래밍 기능들
- 객체지향언어의 특성
- 트레이트 객체를 사용하여 다른 타입의 값 허용하기
- 객체지향 디자인패턴 구현하기
18. 패턴과 매칭
- 패턴이 사용될 수 있는 모든곳
- 반박가능성: 패턴이 매칭에 실패할지의 여부
- 패턴 문법
19. 고급기능
- 안전하지 않은 러스트
- 고급 트레이트
- 고급 타입
- 고급 함수와 클로저
- 매크로
20. 최종 프로젝트: 멀티 스레드 웹 서버 구축하기
- 싱글스레드 웹 서버 구축하기
- 싱글스레드 서버를 멀티스레드 서버로 바꾸기
- 우아한종료와 정리
부록
- 키워드
- 연산자와 기호
- 파생 가능한 트레이트
- 유용한 개발도구
- 에디션
- 번역본
- 러스트가 만들어지는 과정과 nightly 러스트
댓글 0