반응형

Rust 프로그래밍 정리 사이트

글. 수알치 오상문

 

러스트 프로그래밍 레퍼런스 삼을 사이트가 있어서 소개합니다.

 

https://rinthel.github.io/rust-lang-book-ko/ch01-01-installation.html

설치하기 - The Rust Programming Language

이 문서는 2판 번역본입니다. 최신 2021 에디션 문서는 https://doc.rust-kr.org 에서 확인하실 수 있습니다. 설치하기 첫 번째 단계는 러스트를 설치하는 것입니다. 우리는 rustup 이라고 하는 러스트 버전 및 관련 도구들을 관리하기 위한 커멘드 라인 도구를 통하여 러스트를 다운로드할 것입니다. 다운로드를 위해서는 인터넷 연결이 필요할 것입니다. 다음 단계들이 러스트 컴파일러의 최신 안정 버전을 설치합니다. 이 책에 나오는 모든 예제들과 출력들은 안정화된 러스트 1.21.0을 사용했습니다. 러스트의 안정성에 대...

rinthel.github.io

 

 

  1. 들어가기에 앞서
  2. 소개
  3. 1. 시작하기
    1. 1.1. 설치하기
    2. 1.2. Hello, World!
    3. 1.3. Hello, Cargo!
  4. 2. 추리 게임 튜토리얼
  5. 3. 보편적인 프로그래밍 개념
    1. 3.1. 변수와 가변성
    2. 3.2. 데이터 타입들
    3. 3.3. 함수 동작 원리
    4. 3.4. 주석
    5. 3.5. 제어문
  6. 4. 소유권 이해하기
    1. 4.1. 소유권이 뭔가요?
    2. 4.2. 참조자와 빌림
    3. 4.3. 슬라이스
  7. 5. 연관된 데이터들을 구조체로 다루기
    1. 5.1. 구조체를 정의하고 생성하기
    2. 5.2. 구조체를 이용한 예제 프로그램
    3. 5.3. 메소드 문법
  8. 6. 열거형과 패턴 매칭
    1. 6.1. 열거형 정의하기
    2. 6.2. match 흐름 제어 연산자
    3. 6.3. if let을 사용한 간결한 흐름 제어
  9. 7. 모듈
    1. 7.1. mod와 파일 시스템
    2. 7.2. pub으로 가시성 제어하기
    3. 7.3. use로 이름 가져오기
  10. 8. 일반적인 컬렉션
    1. 8.1. 벡터
    2. 8.2. 스트링
    3. 8.3. 해쉬맵
  11. 9. 에러 처리
    1. 9.1. panic!과 함께하는 복구 불가능한 에러
    2. 9.2. Result와 함께하는 복구 가능한 에러
    3. 9.3. panic!이냐, panic!이 아니냐, 그것이 문제로다
  12. 10. 제네릭 타입, 트레잇, 그리고 라이프타임
    1. 10.1. 제네릭 데이터 타입
    2. 10.2. 트레잇: 공유 동작을 정의하기
    3. 10.3. 라이프타임을 이용한 참조자 유효화
  13. 11. 테스팅
    1. 11.1. 테스트 작성하기
    2. 11.2. 테스트 실행하기
    3. 11.3. 테스트 조직화
  14. 12. I/O 프로젝트: 커맨드 라인 프로그램 만들기
    1. 12.1. 커맨드 라인 인자 허용하기
    2. 12.2. 파일 읽기
    3. 12.3. 모듈성과 에러처리의 향상을 위한 리팩토링
    4. 12.4. 테스트 주도 개발로 라이브러리의 기능 개발하기
    5. 12.5. 환경 변수들을 활용하기
    6. 12.6. 표준출력 대신 표준에러로 에러메시지 출력하기
  15. 13. 함수형 언어의 특성들: 반복자들과 클로저들
    1. 13.1. 클로저: 환경을 캡쳐할 수 있는 익명 함수
    2. 13.2. 반복자로 일련의 항목들 처리하기
    3. 13.3. I/O 프로젝트 개선하기
    4. 13.4. 성능 비교하기: 루프 vs. 반복자
  16. 14. Cargo와 Crates.io 더 알아보기
    1. 14.1. 릴리즈 프로필을 이용해 빌드 커스터마이징하기
    2. 14.2. Crates.io에 크레이트 배포하기
    3. 14.3. Cargo 작업공간
    4. 14.4. cargo install을 이용해 Crates.io에서 바이너리 설치하기
    5. 14.5. 커스텀 명령어로 Cargo 확장하기
  17. 15. 스마트 포인터
    1. 15.1. Box<T>는 힙에 있는 데이터를 가리키고 알려진 크기를 갖습니다
    2. 15.2. Deref 트레잇은 참조자를 통하여 데이터로의 접근을 허용합니다
    3. 15.3. Drop 트레잇은 메모리 정리 코드를 실행시킵니다
    4. 15.4. Rc<T>, 참조 카운팅 스마트 포인터
    5. 15.5. RefCell<T>와 내부 가변성 패턴
    6. 15.6. 순환 참조를 만드는 것과 메모리 누수는 안전한 것에 해당됩니다
  18. 16. 겁없는 동시성
    1. 16.1. 스레드
    2. 16.2. 메세지 패싱
    3. 16.3. 공유 상태
    4. 16.4. 확장 가능한 동시성: Sync와 Send
  19. 17. 러스트의 객체 지향 프로그래밍 기능들
    1. 17.1. 객체 지향 언어의 특성
    2. 17.2. 트레잇 객체를 사용하여 다른 타입 간의 값 허용하기
    3. 17.3. 객체 지향 디자인 패턴 구현하기
  20. 18. 값의 구조와 매칭되는 패턴
    1. 18.1. 패턴이 사용될 수 있는 모든 곳
    2. 18.2. 반증 가능성: 패턴의 매칭이 실패할 수도 있는 경우
    3. 18.3. 패턴 문법의 모든 것
  21. 19. 고급 기능들
    1. 19.1. 안전하지 않은 러스트
    2. 19.2. 고급 라이프타임
    3. 19.3. 고급 트레잇
    4. 19.4. 고급 타입
    5. 19.5. 고급 함수와 클로저
  22. 20. 마지막 프로젝트: 멀티스레드 웹서버 만들기
    1. 20.1. 싱글 스레드 웹서버
    2. 20.2. 싱글 스레드 서버를 멀티스레드 서버로 바꾸기
    3. 20.3. 우아한 종료와 정리
  23. 21. Appendix
    1. 21.1. A - 키워드
    2. 21.2. B - 연산자 및 기호
    3. 21.3. C - derive 가능한 트레잇
    4. 21.4. D - 매크로
    5. 21.5. E - 본 책의 번역본 목록
    6. 21.6. F - 새로운 기능
    7. 21.7. G - 러스트가 만들어지는 과정과 “Nightly Rust”
    8. 21.8. H - 번역 용어 정리

 

 

반응형

+ Recent posts