Skip to content

Latest commit

 

History

History
142 lines (89 loc) · 8.21 KB

2024-hyundai.md

File metadata and controls

142 lines (89 loc) · 8.21 KB

Rust 입문

소개

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 개발 환경 준비

  • 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/ 접속

    • 기 생성된 "20241121" 서버에 접속

    • VSCode가 설치된 PC에서는 "VS Code Desktop" 눌러서 앱으로 접속, 아닌 곳에서는 "code-server" 눌러서 웹으로 접속

    • 수강생 번호에 따라 (예: "03") "~/20241010/03/cs220", "~/20241010/03/cs431" 폴더를 vscode에서 열어서 사용 다른 번호로 접속하면 혼선이 생기므로 자제 요망