- 강의자: 강지훈 (KAIST 전산학부)
- 시간
- 2024/08/28-29 (수-목)
- 2024/10/10-11 (목-금)
- 2024/11/21-22 (목-금)
- 주최: 현대오토에버
- 웹사이트: https://github.com/kaist-cp/rust-school
- 공지: issue tracker
Rust는 안전한 고성능 소프트웨어를 작성하기에 매우 용이한 프로그래밍 언어입니다. Java와 같이 안전한 소프트웨어를 작성하기에 용이한 프로그래밍 언어도 있고, C/C++과 같이 저수준 고성능 시스템 소프트웨어를 작성하기에 용이한 프로그래밍 언어도 있지만, 안전성과 고성능 두 마리 토끼를 모두 잡은 프로그래밍 언어는 Rust가 거의 유일하다고 할 수 있습니다. 이를 위한 핵심 아이디어는 소유권이라는 개념을 사용하여 포인터의 안전성을 컴파일 시점에 검증하는 타입 시스템입니다.
이러한 장점 덕택에 Rust는 Mozilla, Amazon AWS, Cloudflare, FuriosaAI를 비롯한 대기업 및 딥테크 스타트업에서 널리 사용되고 있습니다. 프로그래밍 도구도 활발히 개발되어 라이브러리 생태계, 빌드 시스템, language server / IDE, linter, 컴파일러 에러 메시지, 비동기 프로그래밍 등은 오히려 오랜 역사를 가진 C/C++보다 나은 면도 있을 정도입니다.
이번 Rust 입문 강의는 Rust의 소유권 개념을 공부하고 또 실습을 통해 손에 익히는 것을 목표로 합니다. 효율적인 진행을 위해 현업에서 C/C++을 활용하여 프로그래밍을 하고 계신 분들을 대상으로 합니다. 강의를 통해 Rust에 익숙해지시고 앞으로 하실 개발에 도움이 되시길 간절히 바라겠습니다.
다음 두 교과서를 기준으로 강의를 진행할 예정입니다:
매일 실습 과제가 주어질 것입니다.
- 강의 중에 아무때나 질문해주시면 감사하겠습니다.
- 강의 중에 하기 어려운 질문은 (예: 코드에 관한 질문) issue tracker를 활용해주세요.
효율적인 진행을 위해 겨울학교에 참석하실 분들은 사전에 다음을 준비해주시면 감사하겠습니다.
-
Rust 개발 환경 준비
- 설치: 설치 안내 웹사이트를 보시고 개발 환경을 준비해주세요.
- 실행: 토이 프로젝트를 생성, 빌드, 실행할 수 있는지 확인해주세요.
- IDE: Visual Studio Code를 추천합니다만, 더 편하신 IDE가 있다면 그걸 쓰셔도 됩니다. 서버에 접속하실 거라면 Rust analyzer 플러그인을 설치해주세요.
-
Rust 톺아보기
-
"The Rust Book" 1-3장을 읽어와주시면 감사하겠습니다.
강의에서는 짧은 시간동안 Rust의 소유권 개념과 프로그래밍 도구에 집중할 예정이라, Rust의 문법이나 기본적인 도구 사용법은 미리 확인하고 와주시면 효율적인 진행에 매우 큰 도움이 될 것 같습니다.
-
Rust Playground 사용해보기
인터넷에서 Rust 프로그램을 실행해볼 수 있는 도구입니다.
-
(선택사항) Compiler Explorer 사용해보기
Rust 프로그램이 어떻게 컴파일되는지 확인해볼 수 있는 도구입니다. 저수준 프로그래밍에 관심있으신 분들은 보셔도 좋을 것 같습니다.
-
-
실습 실습 리파지토리 다운로드
터미널에서 다음을 실행해주세요:
git clone git@github.com:kaist-cp/rust-school.git
-
클라우드 접속
-
https://cloud.fearless.systems/ 접속
- "OpenID Connect"로 로그인
- 아이디: hyundai@fearless.systems
- 비번: (추후 공지)
-
기 생성된 "20241121" 서버에 접속
-
VSCode가 설치된 PC에서는 "VS Code Desktop" 눌러서 앱으로 접속, 아닌 곳에서는 "code-server" 눌러서 웹으로 접속
-
수강생 번호에 따라 (예: "03") "~/20241010/03/cs220", "~/20241010/03/cs431" 폴더를 vscode에서 열어서 사용 다른 번호로 접속하면 혼선이 생기므로 자제 요망
-