본문 바로가기

F - 추가 학습 자료

공식 문서·실습 자료·커뮤니티를 학습 목적에 맞게 선택하고 기본기 보강부터 프로젝트 확장까지 후속 경로를 구성합니다.

이 교재를 마친 뒤에는 무엇을 더 볼지보다, 지금 가진 질문에 어떤 자료가 알맞은지를 먼저 고르는 것이 좋습니다. 같은 공식 자료라도 질문에 따라 믿고 볼 정도가 다르기 때문입니다. 아래 표는 질문의 종류마다 먼저 볼 자료와, 직접 확인하는 방법을 정리한 것입니다.

Rust 학습 질문을 개념 학습, 언어 의미, API, Cargo, 설계 역사, 오류 조사로 나누고 각 질문의 권위 수준, 먼저 볼 1차 자료, 작은 코드와 compiler 또는 test로 확인하는 방법을 비교한 표와 모바일 카드

Rust · learning evidence · semantic table

질문이 달라지면 먼저 믿을 자료와 검증 방법도 달라진다

자료의 유명세보다 질문과 권위 수준을 맞춥니다. 현재 동작은 Reference·rustdoc·Cargo 문서를 우선하고 작은 코드의 compiler·test 결과로 닫습니다. RFC는 역사적 설계 근거이며, 커뮤니티 답변은 탐색을 돕는 2차 자료입니다.

질문 유형 × 권위 수준 × 우선 1차 자료 × 실습 확인
질문 유형권위 수준우선할 1차 자료실습으로 닫는 방법
개념 학습공식 교육 자료. 흐름과 용어를 배우는 출발점The Rust Programming Language, Rust by Example, Rustlings예제를 직접 다시 쓰고 cargo check의 타입 진단을 설명
언어 의미현재 언어 규칙을 다루는 높은 우선순위의 1차 자료Rust Reference와 Edition Guide. edition별 차이는 해당 migration 문서edition을 명시한 최소 코드로 rustc 결과와 동작을 비교
API현재 공개 signature와 계약을 제공하는 1차 자료표준 라이브러리 rustdoc 또는 해당 crate 버전의 rustdoc와 source문서 예제를 현재 dependency로 컴파일하고 경계 사례를 cargo test로 고정
Cargo현재 resolver와 명령 동작을 설명하는 1차 자료Cargo Book의 reference와 cargo update 같은 command 문서작은 manifest에서 cargo tree, lockfile diff, --locked 결과 확인
설계 역사제안 당시 의도를 보여 주는 역사적 1차 자료. 현재 계약은 아님Rust RFC, tracking issue, 해당 릴리스의 공식 release note현재 Reference나 API 문서와 다시 대조하고 compiler·test로 차이를 확인
오류 조사compiler 결과가 직접 근거. 포럼과 글은 2차 자료rustc 진단, error 설명, 현재 공식 문서와 재현에 관련된 upstream issue최소 재현 코드에 기대 결과를 적고 실패하는 test와 수정 후 test를 함께 남김
concept

개념 학습 · 공식 교육 자료

The Rust Programming Language, Rust by Example, Rustlings로 흐름을 잡습니다. 예제를 다시 쓰고 cargo check 진단을 자기 말로 설명합니다.

current language

언어 의미 · 현재 규칙

Rust Reference와 Edition Guide를 우선합니다. edition을 명시한 최소 코드를 compiler로 실행해 문서 해석과 실제 결과를 대조합니다.

API

표준·crate API · 현재 rustdoc

표준 라이브러리 또는 사용 중인 crate 버전의 rustdoc와 source를 봅니다. 문서 예제를 컴파일하고 경계 사례를 test로 고정합니다.

Cargo

빌드·의존성 · Cargo Book

reference와 command 문서를 우선하고, 작은 manifest에서 cargo tree, lockfile diff, --locked 동작을 확인합니다.

history

설계 역사 · RFC와 tracking issue

제안 당시의 문제와 의도를 읽되 현재 계약으로 단정하지 않습니다. 최신 Reference·API와 compiler 결과를 다시 확인합니다.

debug

오류 조사 · 최소 재현과 test

rustc 진단과 현재 공식 문서를 직접 근거로 둡니다. 커뮤니티 답변은 후보를 찾는 2차 자료로 사용하고 실패·수정 test를 함께 남깁니다.

RFC의 시간 경계

RFC는 기능을 왜 제안했는지 설명하는 역사적 설계 근거입니다. 안정화 이후 바뀐 이름, 범위와 예외는 현재 Reference, rustdoc, release note에서 다시 확인합니다.

커뮤니티의 역할

포럼, 사용자 모임과 개인 글은 검색어, 사례와 대안을 발견하는 데 유용합니다. 언어, API, Cargo 계약의 최종 근거는 1차 자료와 재현 가능한 compiler·test 결과입니다.

하나의 자료가 모든 질문에서 최고 권위를 갖지는 않습니다. 질문 유형을 먼저 적고, 현재 1차 자료를 선택하고, 작은 실행 근거를 남기면 학습 기록을 다시 검증할 수 있습니다.

개념을 배울 때는 공식 Book(The Rust Programming Language), Rust by Example, Rustlings 같은 공식 교육 자료로 흐름과 용어를 잡고, 예제를 다시 써 보며 cargo check의 진단을 스스로 설명해 봅니다. 언어의 지금 규칙이 궁금하다면 Rust Reference와 Edition Guide를 먼저 보고, 에디션을 밝힌 작은 코드를 컴파일해 문서의 해석과 실제 결과를 대조합니다. API는 표준 라이브러리나 해당 크레이트 버전의 rustdoc과 소스를 보고, 문서의 예제를 지금의 의존성으로 컴파일하며 경곗값 사례를 cargo test로 고정합니다. Cargo의 동작은 Cargo Book의 참고 문서와 cargo update 같은 명령 문서를 보고, 작은 매니페스트에서 cargo tree, Cargo.lock의 차이, --locked의 결과를 확인합니다. 설계의 역사는 RFC와 추적 이슈, 그 릴리스의 공식 릴리스 노트에서 제안할 때의 의도를 볼 수 있지만, 그것이 지금의 동작이라는 뜻은 아니므로 지금의 Reference나 API 문서와 다시 대조합니다. 오류를 조사할 때는 컴파일러의 진단과 오류 설명이 가장 직접적인 자료이고, 포럼과 글은 그다음에 참고하며, 작은 재현 코드에 기대한 결과를 적고 실패하는 테스트와 고친 뒤의 테스트를 함께 남깁니다.

부록 F: 추가 학습 자료

이 부록은 본문을 마친 뒤 실력을 넓힐 때 도움이 되는 자료를 정리한 목록입니다. 수준과 목적에 맞게 골라 함께 보면 좋습니다.

공식 문서

자료쓰임
The Rust Programming Language러스트의 핵심 개념을 차례로 정리한 공식 책. 이 교재가 다루지 않은 비동기 프로그래밍(async와 await) 장도 있습니다.
Rust by Example짧은 예제로 문법과 표준 라이브러리를 빠르게 익히는 자료
Rust Standard Library표준 라이브러리의 API 참고 문서
The Rust Reference언어의 문법과 의미를 자세히 확인하는 참고 문서. 정식 명세는 아닙니다.
The Edition Guide에디션마다 바뀐 점과 옮기는 방법
The Cargo Book매니페스트, 의존성 해석, 명령의 동작을 확인하는 Cargo의 문서
The Rustonomicon안전하지 않은 러스트를 올바르게 쓰는 방법
Rust RFC Book기능이 어떻게 제안되고 설계되었는지 보여 주는 기록. 지금의 동작은 Reference와 최신 문서에서 다시 확인합니다.

공식 자료도 질문에 따라 믿고 볼 정도가 다릅니다. 언어의 지금 동작은 Reference와 에디션 문서를, 표준 API는 지금의 rustdoc을, Cargo의 동작은 Cargo Book과 해당 명령의 문서를 먼저 봅니다.

실습 중심 자료

자료쓰임
Rustlings작은 문제를 직접 고치며 문법과 컴파일러 오류에 익숙해지는 실습 프로젝트
Exercism Rust Track단계별 문제를 풀고 다른 사람의 풀이와 리뷰를 볼 수 있는 플랫폼

커뮤니티와 업데이트 채널

자료쓰임
Rust 공식 블로그릴리스 노트와 주요 변경 사항
Rust 사용자 포럼구현과 설계에 관한 질문과 토론
한국 러스트 사용자 모임국내 자료와 커뮤니티 소식

공식 블로그와 릴리스 노트는 어떤 릴리스에서 무엇이 바뀌었는지 확인하는 가장 직접적인 자료입니다. 포럼, 사용자 모임, 개인의 글과 답변은 찾아보고 사례를 모으는 데 쓸모가 있지만, 지금의 동작은 공식 문서와 직접 실행한 결과로 다시 확인합니다.

목적별 추천 학습 순서

상황할 일
문법에 빈 곳이 남아 있다공식 Book이나 이 교재의 해당 장을 먼저 다시 읽습니다.
개념을 막 읽었다Rust by Example이나 Rustlings로 곧바로 손으로 확인합니다.
실전 감각이 필요하다Exercism 문제를 풀고 리뷰를 반영합니다.
구현하다 막혔다포럼에 묻기 전에 작은 재현 코드와 기대한 동작을 먼저 정리합니다.

확인하며 배우는 순서

자료를 읽기만 하고 끝내면 무엇을 알게 되었는지가 흐려지기 쉽습니다. 아래 그림은 읽은 내용을 작은 코드와 실행 결과로 확인하고, 그 기록을 다음 질문으로 이어 가는 과정을 보여 줍니다.

근거를 다음 약점으로 되돌리는 Rust 학습 루프

자료→최소 코드와 기대 결과→compiler/test 근거→학습 로그→다음 질문으로 기록이 누적되는 작업 루프다. 한 규칙을 예로 들어 기록의 source/code/evidence/next 필드가 실제로 채워지는 변화를 표시할 수 있다.

자료 확인, 작은 코드, compiler와 test 근거, 학습 로그, 다음 약점의 다섯 station이 시계 방향으로 연결되고, 각 station이 검증된 학습 기록 hub에 근거를 쓰며 다음 약점이 다시 자료 확인 질문이 되는 true loop

Rust · evidence-based learning · true loop

자료를 읽은 뒤 실행 근거를 남겨야 다음 학습이 선명해진다

목록을 소비하는 순환이 아니라 근거가 누적되는 학습 loop입니다. 현재 질문의 1차 자료를 확인하고 작은 코드로 줄인 뒤 compiler·test 결과를 기록합니다. 마지막에 고른 다음 약점이 새 질문이 되어 첫 station으로 되돌아갑니다.

학습 5단계와 공통 기록자료 확인, 최소 코드, compiler test, 학습 로그, 다음 약점이 시계 방향으로 반복되며 모든 단계가 같은 source code evidence next 기록에 근거를 쓴다.1 · 자료 확인Reference · rustdoc · Cargo2 · 작은 코드최소 재현·기대 결과3 · 실행 근거cargo check · cargo test4 · 학습 로그규칙 · 실패 · 수정 · 예외5 · 다음 약점다음 질문 1–2개검증된 학습 기록source · code · evidencenext question실선: 학습 순서와 다음 질문으로 반복점선: 같은 기록에 근거 축적
공식 자료를 작은 재현 코드와 compiler/test 증거로 확인하고 남은 약점을 다음 학습으로 되돌린다.docs→code: 규칙을 최소 예제로 변환。code→verify: 주장을 실제 compiler로 확인。verify→record: 관찰 결과와 출처를 함께 기록。record→next: 다음에 검증할 가정 찾기。next→docs: 새 학습 질문으로 반복공식 자료공식 자료규칙 · API 근거 읽기최소 코드 작성최소 코드 작성가정 하나를 실험compiler · testcompiler · test성공 · 오류를 확인같은 학습 기록같은 학습 기록출처 · 코드 · 증거 ·다음 질문남은 약점이 있나?남은 약점이 있나?다음 질문 또는 마무리
단계별 조건과 보충 설명
  1. 자료 확인

    질문에 맞는 현재 1차 자료를 하나 고르고, RFC나 커뮤니티 자료의 시간·권위 경계를 적습니다.

  2. 작은 코드

    동작을 가르는 최소 재현 코드를 만들고 toolchain, edition, dependency와 기대 결과를 명시합니다.

  3. compiler · test 근거

    cargo check와 cargo test로 성공·실패 경계를 확인하고 실제 진단과 출력을 보존합니다.

  4. 학습 로그

    확인한 규칙, 실패 원인, 수정과 남은 예외를 source·code·evidence 항목으로 기록합니다.

  5. 다음 약점 → 자료 확인

    남은 약점을 한두 개로 줄여 다음 질문으로 만들고 첫 station의 자료 선택으로 되돌립니다.

shared record

검증된 학습 기록이 중앙에 누적된다

각 station은 같은 기록에 근거를 씁니다. 다음 반복은 기억이 아니라 이전 source, code, test와 질문에서 시작합니다.

true-loop의 닫힘

마지막 station의 다음 약점은 종료 메모가 아니라 다음 반복의 입력입니다. 새 약점이 없으면 loop가 끝나고, 있으면 자료 확인으로 실제로 돌아갑니다.

근거의 우선순위

현재 공식 문서와 compiler·test가 동작 결론을 지지합니다. RFC는 설계 역사, 커뮤니티는 후보 탐색을 담당하고 로그에는 그 권위 차이도 함께 남깁니다.

완료 조건은 자료를 읽은 횟수가 아니라, 최소 코드와 test로 확인한 규칙이 학습 기록에 남고 그 기록에서 다음 질문을 선택할 수 있는 상태입니다.

이 예의 조건

  • 본문과 원 도표에 제시된 사례의 입력·조건을 사용합니다. 설명용 수치나 독립 비교 경로는 각 단계에 표시합니다.
  • 현재 상태·값과 전환 근거의 위치는 모든 단계에서 같습니다. 조건이 맞지 않거나 실행되지 않은 경로를 성공한 동작으로 해석하지 않습니다.
관계도의 보충 설명
원 도표의 제목·노드·관계·조건·주석
범위원문
본문·주석자료 확인, 작은 코드, 컴파일러와 테스트 근거, 학습 로그, 다음 약점의 다섯 단계가 시계 방향으로 연결되고, 각 단계가 검증된 학습 기록에 근거를 쓰며 다음 약점이 다시 자료 확인 질문이 되는 순환
본문·주석목록을 소비하는 순환이 아니라 근거가 누적되는 학습 순환입니다.
본문·주석현재 질문의 1차 자료를 확인하고 작은 코드로 줄인 뒤 compiler·test 결과를 기록합니다. 마지막에 고른 다음 약점이 새 질문이 되어 첫 단계로 되돌아갑니다.
본문·주석남은 약점을 한두 개로 줄여 다음 질문으로 만들고 첫 단계의 자료 선택으로 되돌립니다.
본문·주석각 단계는 같은 기록에 근거를 씁니다. 다음 반복은 기억이 아니라 이전 source, code, test와 질문에서 시작합니다.
본문·주석마지막 단계의 다음 약점은 종료 메모가 아니라 다음 반복의 입력입니다. 새 약점이 없으면 순환이 끝나고, 있으면 자료 확인으로 실제로 돌아갑니다.
예의 값과 변화
관찰·상황값·보충 정보변화·이유
질문과 코드

현재 1차 자료에서 한 규칙을 확인해 최소 코드를 쓴다.

  • 기록: source/code
  • 추가: 기대 결과
  • 자료를 읽었다는 사실만으로 동작 근거가 완성되지 않는다.
실행 근거

compiler와 test 결과를 남긴다.

  • 기록: evidence
  • 비교: 예상↔실제
  • 기록한 환경·edition에서 문서 해석과 관측을 대조한다.
다음 질문

실패·수정·예외를 로그에 남기고 약점을 선택한다.

  • 기록: 규칙·실패·수정·예외
  • next: 다음 질문 1–2개
  • 새 질문은 같은 기록의 근거에서 나와 다음 자료 확인으로 돌아간다.

근거를 다음 약점으로 되돌리는 Rust 학습 루프

자료→최소 코드와 기대 결과→compiler/test 근거→학습 로그→다음 질문으로 기록이 누적되는 작업 루프다. 한 규칙을 예로 들어 기록의 source/code/evidence/next 필드가 실제로 채워지는 변화를 표시할 수 있다.

자료 확인, 작은 코드, compiler와 test 근거, 학습 로그, 다음 약점의 다섯 station이 시계 방향으로 연결되고, 각 station이 검증된 학습 기록 hub에 근거를 쓰며 다음 약점이 다시 자료 확인 질문이 되는 true loop

Rust · evidence-based learning · true loop

자료를 읽은 뒤 실행 근거를 남겨야 다음 학습이 선명해진다

목록을 소비하는 순환이 아니라 근거가 누적되는 학습 loop입니다. 현재 질문의 1차 자료를 확인하고 작은 코드로 줄인 뒤 compiler·test 결과를 기록합니다. 마지막에 고른 다음 약점이 새 질문이 되어 첫 station으로 되돌아갑니다.

학습 5단계와 공통 기록자료 확인, 최소 코드, compiler test, 학습 로그, 다음 약점이 시계 방향으로 반복되며 모든 단계가 같은 source code evidence next 기록에 근거를 쓴다.1 · 자료 확인Reference · rustdoc · Cargo2 · 작은 코드최소 재현·기대 결과3 · 실행 근거cargo check · cargo test4 · 학습 로그규칙 · 실패 · 수정 · 예외5 · 다음 약점다음 질문 1–2개검증된 학습 기록source · code · evidencenext question실선: 학습 순서와 다음 질문으로 반복점선: 같은 기록에 근거 축적
공식 자료를 작은 재현 코드와 compiler/test 증거로 확인하고 남은 약점을 다음 학습으로 되돌린다.docs→code: 규칙을 최소 예제로 변환。code→verify: 주장을 실제 compiler로 확인。verify→record: 관찰 결과와 출처를 함께 기록。record→next: 다음에 검증할 가정 찾기。next→docs: 새 학습 질문으로 반복공식 자료공식 자료규칙 · API 근거 읽기최소 코드 작성최소 코드 작성가정 하나를 실험compiler · testcompiler · test성공 · 오류를 확인같은 학습 기록같은 학습 기록출처 · 코드 · 증거 ·다음 질문남은 약점이 있나?남은 약점이 있나?다음 질문 또는 마무리
단계별 조건과 보충 설명
  1. 자료 확인

    질문에 맞는 현재 1차 자료를 하나 고르고, RFC나 커뮤니티 자료의 시간·권위 경계를 적습니다.

  2. 작은 코드

    동작을 가르는 최소 재현 코드를 만들고 toolchain, edition, dependency와 기대 결과를 명시합니다.

  3. compiler · test 근거

    cargo check와 cargo test로 성공·실패 경계를 확인하고 실제 진단과 출력을 보존합니다.

  4. 학습 로그

    확인한 규칙, 실패 원인, 수정과 남은 예외를 source·code·evidence 항목으로 기록합니다.

  5. 다음 약점 → 자료 확인

    남은 약점을 한두 개로 줄여 다음 질문으로 만들고 첫 station의 자료 선택으로 되돌립니다.

shared record

검증된 학습 기록이 중앙에 누적된다

각 station은 같은 기록에 근거를 씁니다. 다음 반복은 기억이 아니라 이전 source, code, test와 질문에서 시작합니다.

true-loop의 닫힘

마지막 station의 다음 약점은 종료 메모가 아니라 다음 반복의 입력입니다. 새 약점이 없으면 loop가 끝나고, 있으면 자료 확인으로 실제로 돌아갑니다.

근거의 우선순위

현재 공식 문서와 compiler·test가 동작 결론을 지지합니다. RFC는 설계 역사, 커뮤니티는 후보 탐색을 담당하고 로그에는 그 권위 차이도 함께 남깁니다.

완료 조건은 자료를 읽은 횟수가 아니라, 최소 코드와 test로 확인한 규칙이 학습 기록에 남고 그 기록에서 다음 질문을 선택할 수 있는 상태입니다.

이 예의 조건

  • 본문과 원 도표에 제시된 사례의 입력·조건을 사용합니다. 설명용 수치나 독립 비교 경로는 각 단계에 표시합니다.
  • 현재 상태·값과 전환 근거의 위치는 모든 단계에서 같습니다. 조건이 맞지 않거나 실행되지 않은 경로를 성공한 동작으로 해석하지 않습니다.

관계도의 보충 설명

원 도표의 제목·노드·관계·조건·주석
범위원문
본문·주석자료 확인, 작은 코드, 컴파일러와 테스트 근거, 학습 로그, 다음 약점의 다섯 단계가 시계 방향으로 연결되고, 각 단계가 검증된 학습 기록에 근거를 쓰며 다음 약점이 다시 자료 확인 질문이 되는 순환
본문·주석목록을 소비하는 순환이 아니라 근거가 누적되는 학습 순환입니다.
본문·주석현재 질문의 1차 자료를 확인하고 작은 코드로 줄인 뒤 compiler·test 결과를 기록합니다. 마지막에 고른 다음 약점이 새 질문이 되어 첫 단계로 되돌아갑니다.
본문·주석남은 약점을 한두 개로 줄여 다음 질문으로 만들고 첫 단계의 자료 선택으로 되돌립니다.
본문·주석각 단계는 같은 기록에 근거를 씁니다. 다음 반복은 기억이 아니라 이전 source, code, test와 질문에서 시작합니다.
본문·주석마지막 단계의 다음 약점은 종료 메모가 아니라 다음 반복의 입력입니다. 새 약점이 없으면 순환이 끝나고, 있으면 자료 확인으로 실제로 돌아갑니다.
예의 값과 변화
관찰·상황값·보충 정보변화·이유
질문과 코드

현재 1차 자료에서 한 규칙을 확인해 최소 코드를 쓴다.

  • 기록: source/code
  • 추가: 기대 결과
  • 자료를 읽었다는 사실만으로 동작 근거가 완성되지 않는다.
실행 근거

compiler와 test 결과를 남긴다.

  • 기록: evidence
  • 비교: 예상↔실제
  • 기록한 환경·edition에서 문서 해석과 관측을 대조한다.
다음 질문

실패·수정·예외를 로그에 남기고 약점을 선택한다.

  • 기록: 규칙·실패·수정·예외
  • next: 다음 질문 1–2개
  • 새 질문은 같은 기록의 근거에서 나와 다음 자료 확인으로 돌아간다.

먼저 지금의 질문에 맞는 공식 자료, 곧 Reference나 rustdoc, Cargo 문서에서 규칙 하나를 확인합니다. 그 규칙을 가정 하나만 시험하는 작은 코드로 옮기고, 기대한 결과를 적어 둡니다. 그다음 cargo check와 cargo test로 실제 결과를 확인하고, 성공이든 오류든 결과를 출처와 함께 기록합니다. 학습 기록에는 확인한 규칙, 실패한 시도, 고친 방법, 예외를 남깁니다. 마지막으로 다음에 확인할 약점을 한두 개 골라 새 질문으로 삼고, 다시 처음의 자료 확인으로 돌아갑니다. 모든 단계의 결과는 같은 기록에 쌓이므로, 시간이 지나도 무엇을 어떻게 확인했는지 되짚을 수 있습니다.

다음은 이 순서로 두 주 동안 보강하는 예입니다.

기간할 일
1주차평일에는 문법을 복습하고 짧은 예제를 쓰며, 주말에는 쌓인 오답을 정리합니다.
2주차평일에는 실전 문제를 풀고, 주말에는 한 주의 코드를 리팩터링하며 돌아봅니다.
매일끝내기 전에 새로 알게 된 규칙 하나와 실수 하나를 기록합니다.

자료 활용 원칙

원칙
공식 문서에서 개념을 확인한 뒤 같은 주제의 실습 문제로 곧바로 이어 갑니다.
커뮤니티에 묻기 전에 작은 재현 코드와 기대한 동작을 먼저 적습니다.
일주일에 한 번 학습 기록을 다시 보고, 다음 주에 보강할 주제를 한두 개로 정합니다.
자료를 늘리기 전에 지금 자료를 되풀이해 볼 시간이 충분한지 확인합니다.

정리

  • 질문의 종류에 따라 먼저 볼 자료가 다르며, 개념은 공식 교육 자료, 언어 규칙은 Reference와 Edition Guide, API는 rustdoc, Cargo는 Cargo Book을 먼저 봅니다.
  • RFC는 설계의 의도를 보여 주는 기록일 뿐 지금의 동작이 아니므로, 최신 문서와 실행 결과로 다시 확인합니다.
  • 포럼과 개인의 글은 찾아보는 데 쓸모가 있지만, 지금의 동작은 공식 문서와 직접 실행한 결과로 확인합니다.
  • 읽은 규칙을 작은 코드로 옮겨 cargo check와 cargo test로 확인하고, 결과를 기록해 다음 질문으로 이어 갑니다.

연습 문제

1. 어디부터 볼까

(가) Vec::retain의 클로저가 원소를 어떤 순서로 방문하는지 알고 싶다. (나) Rust 2024에서 impl Trait 반환 타입이 캡처하는 라이프타임 규칙이 어떻게 바뀌었는지 알고 싶다. (다) cargo update --precise가 무엇을 하는지 알고 싶다. 각각 어떤 자료를 먼저 보나요?

해설 보기

(가)는 표준 라이브러리 API의 동작이므로 Vec::retain의 rustdoc을 먼저 보고, 작은 테스트로 방문 순서를 확인합니다. (나)는 에디션에 따른 언어 규칙의 변화이므로 Edition Guide의 Rust 2024 항목과 Reference를 봅니다. (다)는 Cargo 명령의 동작이므로 Cargo Book의 cargo update 문서를 보고, 작은 프로젝트에서 Cargo.lock의 차이를 확인합니다.

2. 기록 남기기

HashMap을 반복하는 순서가 실행할 때마다 다를 수 있다는 것을 배웠습니다. 학습 기록에 무엇을 남기면 나중에 다시 확인할 수 있을까요?

해설 보기

확인한 규칙과 그 출처, 곧 HashMap의 rustdoc이나 해시맵의 키와 값을 적고, 같은 키들을 넣고 두 번 실행해 순서를 출력해 본 작은 코드와 그 결과를 함께 남깁니다. 순서가 필요할 때 쓸 수 있는 BTreeMap이나 키를 정렬해 반복하는 방법도 적어 두면, 다음에 같은 문제를 만났을 때 바로 고칠 수 있습니다.

다음 부록 G - 러스트가 만들어지는 과정과 ‘Nightly 러스트’에서는 러스트가 어떻게 개발되고 릴리스되는지 살펴봅니다.