JetBrains IDE로 Rust 배우기
프로그래밍 언어를 배우는 데 지름길은 없고, 사람마다 학습 방법은 다양합니다. 어떤 이는 많이 읽고(책, 블로그, 튜토리얼, 문서, Reddit 토론, StackOverflow 답변 등), 어떤 이는 질문을 하고 예시를 찾으며, 어떤 이는 직접 코드를 작성하고 취미 프로젝트를 만들며, 어떤 이는 문제를 해결하고, 어떤 이는 에코시스템을 탐구하는 등 자신에게 가장 적합한 길을 찾아갑니다. 심지어 전부 다 하는 이들도 있습니다. 일반적으로 사람들은 언어 기능을 배우고 이를 프로그램에서 결합하는 방법을 배우는 것으로 시작합니다. 어느 시점이 되면, 문제를 해결하는 다양한 접근 방식을 배웁니다. 그리고 머지않아 표준 라이브러리 구성 요소 사용에서 외부 라이브러리 사용으로 이동하고 테스트, 디버그, 로그 작성, 앱 프로파일링 방법 등을 탐색합니다.
Rust도 예외는 아닙니다. 하나의 교육 리소스로는 Rust를 마스터하기에 충분하지 않습니다. 그래도 JetBrains에서는 몇 가지 제안드릴 사항이 있습니다. 무료 Learn Rust(Rust 배우기) 과정은 방금 언급한 학습자의 여러 가지 요구 사항을 충족합니다.
이 과정은 Steve Klabnik과 Carol Nichols가 작성한 책인 The Rust Programming Language(Rust 프로그래밍 언어)의 내용을 차용하고 Rust 커뮤니티의 기여 내용을 포함합니다. 잘 알려진 rustlings 세트의 연습 문제 대부분이 포함되어 있지만, 연습 문제의 1/4 정도는 이 과정을 위해 특별히 제작했습니다. 기존 자료를 단순히 합치는 데 그치지 않고 텍스트와 연습 문제를 신중하게 결합하고 IDE 형식으로 정리하여 Rust를 배우는 새로운 방법을 제공합니다.
Rust여야 하는 이유
Rust는 7년 연속으로 StackOverflow 개발자 설문조사에서 최고 인기 프로그래밍 언어로 선정되었을 뿐만 아니라 가장 기대되는 프로그래밍 언어(Python과 함께)이기도 합니다.
최근 Rust는 Linux 커널 구성 요소를 작성하기 위해 지원되는 언어 목록에 들어갔습니다(이 목록에서 C에 이어 두 번째 비중을 차지한 언어입니다!). 네트워크에서 데이터를 가져오는 데 가장 많이 사용되는 라이브러리 중 하나인 Libcurl이 Rust로 점차 이동하고 있습니다. Google이 보고한 바에 따르면, Android 구현에서 Rust 코드의 점유율이 릴리스마다 증가하고 있으며, 이는 취약점으로 인한 위험을 줄이고 보안을 개선하는 데 도움이 된다고 합니다. Microsoft는 제품의 메모리 안전을 제공하기 위해 Rust에 상당히 의존하고, Amazon은 Rust를 사용하여 인프라의 지속 가능성을 보장합니다.
JavaScript 또는 Python 같은 다른 프로그래밍 언어를 사용하는 개발자들은 종종 툴링 및 라이브러리의 성능을 개선해야 할 때 Rust를 사용합니다.
마지막으로 Rust에는 매우 열정적인 커뮤니티가 있으며 항상 초보자를 기꺼이 돕고 격려합니다.
이와 같은 사항을 염두에 두면서, 잠재적 학습자들은 Rust가 가파른 학습 곡선을 가지고 있고 체계적인 학습 방법이 필요하다는 것을 알아야 합니다. 후자는 저희가 Learn Rust 과정으로 제공하고자 하는 바로 그것입니다.
IDE에서 Rust 배우기
Learn Rust 과정은 JetBrains Academy 플러그인에서 제공하는 교육 플랫폼을 기반으로 합니다. 이 플러그인은 CLion, GoLand 및 IntelliJ IDEA Community Edition을 비롯한 많은 JetBrains IDE에서 사용할 수 있으며, Rust뿐만 아니라 여러 다른 프로그래밍 언어를 무료로 배울 수 있습니다.
IDE 기반 과정에는 교육 자료 읽기, 코드 예제 탐색 및 문제 해결이 포함되며 수업 및 과정 섹션으로 구성됩니다. 각 수업은 일련의 작은 단계로 구성되며, 각 단계는 직접 작업해볼 수 있는 예시가 있는 이론 단계이거나 해결해야 할 문제가 있는 문제 단계입니다. 문제 단계는 학생의 해결책을 확인해볼 수 있는 쉬운 방법을 제공합니다.
IDE 기반 과정을 이용할 때 아래 스크린샷과 같이 과정 보기, 코드 에디터, 설명이라는 3가지 패널이 있는 완벽한 기능의 IDE 창이 제공됩니다.
IDE에서 과정을 수강하는 추가적인 이점은 언어를 배우는 동시에 소프트웨어 개발 경험을 해볼 수 있다는 것입니다. 연습 문제를 공부하면서 실제 코더가 일상적인 소프트웨어 개발 루틴의 일부로 작업하듯이 코드를 작성, 확인, 수정, 실행, 디버그, 테스트할 수도 있습니다. 과정이 끝나면 프로그래밍 언어에 대한 확실한 지식을 갖추게 될 뿐만 아니라, 전문 개발 도구에 익숙해지고 소프트웨어 개발자가 될 준비가 됩니다.
교육용 IntelliJ IDEA 페이지를 확인하여 IDE에서 프로그래밍 학습을 하는 것의 장점을 자세히 알아보세요.
과정 세부 정보
Learn Rust 과정은 바탕이 된 책과 마찬가지로 학습자가 일부 프로그래밍 언어에 대한 실무 지식을 갖추고 있다고 가정합니다. 프로그래밍에 대한 소개를 제공하기보다는 구체적으로 Rust로 프로그래밍하는 방법을 가르치므로 프로그래밍 과정에서 일반적으로 발견되는 대부분의 기초에 관한 주제를 건너뜁니다.
The Rust Programming Language의 구조에 따라 과정에는 다음 섹션이 포함되어 있습니다.
- 소개
- 일반 프로그래밍 개념
- 소유권 이해
- 구조체, 메서드, 열거형 및 패턴 일치
- 모듈
- 공통 컬렉션
- 오류 처리
- 제네릭 타입, 특성 및 수명
- 자동화된 테스트 작성
- 표준 라이브러리 타입
- 대담한 동시성
- 매크로
Learn Rust에는 210개의 이론 단계와 121개의 문제 단계를 포함하여 총 331개의 단계가 있습니다. 각 과정 단계는 Cargo 패키지 형태로 제공되므로, Rust 언어의 기본 기능뿐만 아니라 모듈, 크레이트, 매크로, 패키지 수준 테스트, 외부 종속성 등도 시연하며 학습할 수 있습니다.
모든 단계에는 코드 읽기 및 작업하기가 포함됩니다. 단계의 코드에 main 함수가 있는 경우 실행할 수 있습니다.
대부분의 문제 단계에서 단일 코드 파일(위의 스크린샷과 같이)가 제시되지만, 때로는 전체 패키지 구조에 액세스하여 프로젝트 설명 파일과 같은 모든 주요 구성 요소를 탐색할 수도 있습니다.
여기에서 크레이트 문서에 액세스하거나 사용 가능한 릴리스에 대해 알아볼 수 있습니다.
물론 Rust 패키지 테스트에 대해 설명할 때 테스트 파일을 보여 드립니다.
Check(확인) 버튼을 클릭하기 전에 자신의 해결책을 확인하기 위해 개별 테스트 또는 모든 테스트를 한 번에 실행할 수 있습니다.
이러한 과정 기능은 최대한 빨리 IDE에서 소프트웨어 개발의 모범 사례를 알려 드릴 수 있도록 설계되었습니다. 학습 여정의 맨 처음부터 전문 도구를 사용하면 크나큰 이점이 있다고 생각합니다. JetBrains IDE의 최상급 Rust 지원으로 이제 Rust를 배우면서 전문 도구도 익힐 수 있습니다.
Rust를 배워보고 의견을 전해주세요!
분명히 Rust에 대한 탄탄한 지식을 쌓으려면 이 과정을 따르는 것 이상이 필요하지만, 미래의 많은 개발자들에게 흥미진진한 Rust 프로그래밍 세계로 가는 완벽한 출발점이 될 수 있다고 생각합니다. JetBrains Academy에서 Rust를 즐겁게 학습하시기를 바랍니다! 아래 댓글란이나 academy@jetbrains.com으로 연락하여 의견을 공유해 주세요.
게시물 원문 작성자