여정
Rust 배우기
무료 인터랙티브 Rust 온라인 강의입니다. 매 레슨마다 직접 Rust 코드를 작성합니다 — syntax, ownership과 borrowing, lifetimes, traits, pattern matching까지. borrow checker가 막아설 때는 AI 힌트가 도와주고, 강의를 마치면 무료 수료증도 받습니다.
16,687+ 명의 codders가 등록함
- 초보자 환영
AI 코딩 도우미
실습 중심의 대화형 강의
모든 레슨에 음성 나레이션 제공
지식을 확인하는 퀴즈
무료 수료증
커리큘럼
섹션 1
Fundamentals
섹션 시작하기시작펼치기접기Build a strong foundation with essential concepts and basic skills소개
4 개 강의324- 01Rust챌린지
- 02Hello World!챌린지퀴즈
- 03주석퀴즈
- 04기본 프로그램 구조챌린지퀴즈
변수 Part 1
5 개 강의539- 01숫자챌린지퀴즈
- 02Char챌린지퀴즈
- 03String챌린지퀴즈
- 04Boolean챌린지퀴즈
- 05가변 변수챌린지퀴즈
변수 파트 2
5 개 강의433- 01타입 선언챌린지퀴즈
- 02명명 규칙퀴즈
- 03타입 추론챌린지퀴즈
- 04요약 - 변수 초기화챌린지
- 05타입 캐스팅챌린지퀴즈
연산자 Part 1
5 개 강의438- 01산술 연산자챌린지퀴즈
- 02나머지 연산자챌린지퀴즈
- 03산술 연산 축약형챌린지퀴즈
- 04비교 연산자챌린지퀴즈
- 05문자열 비교퀴즈
연산자 파트 2
4 개 강의424- 01논리 연산자 파트 1챌린지퀴즈
- 02논리 연산자 파트 2챌린지퀴즈
- 03요약 - 단순 논리챌린지
- 04논리 연산자 파트 3챌린지퀴즈
의사 결정
5 개 강의532- 01If 표현식챌린지퀴즈
- 02If-Else챌린지퀴즈
- 03Match 문챌린지퀴즈
- 04If-Else 복습챌린지
- 05중첩 If-Else챌린지퀴즈
기본 입출력
4 개 강의417- 01콘솔 출력챌린지퀴즈
- 02사용자 입력 받기챌린지퀴즈
- 03복습 - 120까지챌린지
- 04복습 - 참 또는 거짓챌린지
계산기 앱
프로젝트4 개 강의1- 01환영 메시지챌린지
- 02숫자 입력받기프로젝트
- 03기본 연산프로젝트
- 04형식화된 출력프로젝트
반복문
8 개 강의851- 01For 문과 시리즈챌린지퀴즈
- 02While 반복문챌린지퀴즈
- 03Break 문챌린지퀴즈
- 04Continue 문챌린지퀴즈
- 05중첩 반복문챌린지퀴즈
- 06반복문 레이블챌린지퀴즈
- 07무한 루프챌린지퀴즈
- 08요약 - 동적 입력챌린지
변수 바인딩
4 개 강의230- 01스코프퀴즈
- 02섀도잉 파트 1챌린지퀴즈
- 03변수 바인딩퀴즈
- 04섀도잉 파트 2챌린지퀴즈
함수
6 개 강의634- 01함수 선언하기챌린지퀴즈
- 02매개변수와 인자챌린지퀴즈
- 03반환값챌린지퀴즈
- 04여러 개의 반환값챌린지퀴즈
- 05요약 - 시그마 함수챌린지
- 06요약 - 검증 함수챌린지
배열 기초
5 개 강의430- 01배열 선언하기챌린지퀴즈
- 02배열을 매개변수로 사용하기퀴즈
- 03요소에 접근하기챌린지퀴즈
- 04배열 수정하기챌린지퀴즈
- 05요약 - 배열 예쁘게 출력하기챌린지
배열 심화
5 개 강의423- 01가변 참조 배열챌린지퀴즈
- 02배열 메서드챌린지퀴즈
- 03복습 - 곱셈 배열챌린지
- 04복습 - 뒤집힌 배열챌린지
- 05더 나은 출력퀴즈
배열 순회하기
4 개 강의333- 01Range 가이드챌린지퀴즈
- 02향상된 for 루프챌린지퀴즈
- 03루프 내 Borrow퀴즈
- 04주요 배열 연산챌린지퀴즈
문자열 조작
4 개 강의424- 01문자열 메서드챌린지퀴즈
- 02format! 매크로챌린지퀴즈
- 03문자열 변환챌린지퀴즈
- 04요약 - Format챌린지
최종 프로젝트
3 개 강의37- 01숫자 패턴챌린지퀴즈
- 02패턴 찾기챌린지
- 03학생 성적 계산기챌린지
섹션 2
Logic & Flow
섹션 시작하기시작펼치기접기Develop problem-solving skills and create dynamic, interactive programs고급 제어 흐름
6 개 강의640- 01'match' 표현식챌린지퀴즈
- 02여러 값 매칭하기챌린지퀴즈
- 03범위 매칭하기챌린지퀴즈
- 04'if let' 표현식챌린지퀴즈
- 05표현식으로서의 루프챌린지퀴즈
- 06요약 - 간단한 커맨드 파서챌린지
벡터 소개
8 개 강의756- 01벡터란 무엇인가요?퀴즈
- 02벡터 생성하기챌린지퀴즈
- 03push로 요소 추가하기챌린지퀴즈
- 04벡터 요소에 접근하기챌린지퀴즈
- 05벡터 순회하기챌린지퀴즈
- 06가변 순회챌린지퀴즈
- 07요소 제거하기챌린지퀴즈
- 08요약 - 기본 점수 추적기챌린지
명령줄 할 일 목록
5 개 강의5- 01프로젝트 설정챌린지
- 02할 일 추가하기챌린지
- 03모든 할 일 보기챌린지
- 04할 일 삭제하기챌린지
- 05최종 코드챌린지
구조체로 데이터 그룹화하기
7 개 강의650- 01구조체란?퀴즈
- 02구조체 개요챌린지퀴즈
- 03구조체 필드 접근하기챌린지퀴즈
- 04가변 구조체챌린지퀴즈
- 05함수 매개변수로서의 구조체챌린지퀴즈
- 06튜플 구조체챌린지퀴즈
- 07복습 - Book 구조체 만들기챌린지
해시 맵을 이용한 키-값 쌍
8 개 강의653- 01해시 맵이란?퀴즈
- 02해시 맵 생성하기퀴즈
- 03키-값 쌍 삽입하기챌린지퀴즈
- 04값에 접근하기챌린지퀴즈
- 05해시 맵 순회하기챌린지퀴즈
- 06값 업데이트하기챌린지퀴즈
- 07쌍 삭제하기챌린지퀴즈
- 08요약 - 단어 카운터챌린지
'Option'으로 값이 없는 경우 처리하기
7 개 강의645- 01'Option'이란 무엇인가요?퀴즈
- 02'Option'과 함께 'match' 사용하기챌린지퀴즈
- 03is_some()과 is_none()챌린지퀴즈
- 04'Option' 언래핑하기챌린지퀴즈
- 05expect 메서드챌린지퀴즈
- 06기본값 제공하기: unwrap_or챌린지퀴즈
- 07요약 - 요소 찾기챌린지
'Result'를 이용한 에러 처리
7 개 강의648- 01'Result'란 무엇인가요?퀴즈
- 02'Result'와 함께 'match' 사용하기챌린지퀴즈
- 03is_ok()와 is_err()챌린지퀴즈
- 04단축 방법: unwrap과 expect챌린지퀴즈
- 05물음표 연산자 '?'챌린지퀴즈
- 06문자열을 숫자로 파싱하기챌린지퀴즈
- 07요약 - 안전한 나눗셈 함수챌린지
프로젝트: 간단한 아이템 인벤토리
5 개 강의5- 01프로젝트 설정챌린지
- 02아이템 추가하기챌린지
- 03재고 확인하기챌린지
- 04아이템 판매하기챌린지
- 05하나로 합치기챌린지
문자열 슬라이스와 그 외
5 개 강의432- 01String vs. &str퀴즈
- 02문자열 슬라이스 생성하기챌린지퀴즈
- 03함수 매개변수로서의 슬라이스챌린지퀴즈
- 04기타 슬라이스챌린지퀴즈
- 05복습 - 첫 번째 단어 찾기챌린지
클로저와 익명 함수
5 개 강의431- 01클로저란 무엇인가요?퀴즈
- 02간단한 클로저 정의하기챌린지퀴즈
- 03매개변수가 있는 클로저챌린지퀴즈
- 04환경 캡처하기챌린지퀴즈
- 05요약 - 간단한 덧셈 클로저챌린지
최종 챌린지
3 개 강의3- 01요약 - 고유한 항목챌린지
- 02요약 - 사용자 프로필 검증기챌린지
- 03요약 - 성적 요약기챌린지
섹션 3
Object Oriented Programming
섹션 시작하기시작펼치기접기Discover how to organize code with classes, objects, and reusable structures메서드와 동작
7 개 강의748- 01구현 블록 소개챌린지퀴즈
- 02Self 매개변수챌린지퀴즈
- 03가변 메서드챌린지퀴즈
- 04연관 함수챌린지퀴즈
- 05다중 구현 블록챌린지퀴즈
- 06메서드 체이닝챌린지퀴즈
- 07요약 - 사각형 동작챌린지
캡슐화와 모듈
6 개 강의543- 01모듈 기초퀴즈
- 02Public 키워드챌린지퀴즈
- 03Private 필드챌린지퀴즈
- 04Getter챌린지퀴즈
- 05Setter챌린지퀴즈
- 06요약 - 보안 락커챌린지
심화 Enum
5 개 강의535- 01데이터를 포함한 Enum챌린지퀴즈
- 02Enum의 메서드챌린지퀴즈
- 03데이터 배리언트 매칭챌린지퀴즈
- 04Option Enum 다시 살펴보기챌린지퀴즈
- 05요약 - Shape Enum챌린지
프로젝트: 가상 반려동물
프로젝트5 개 강의1- 01반려동물 정의하기챌린지
- 02반려동물 먹이 주기프로젝트
- 03반려동물과 놀아주기프로젝트
- 04상태 보고프로젝트
- 05최종 상호작용프로젝트
제네릭
5 개 강의533- 01제네릭 구조체챌린지퀴즈
- 02제네릭 메서드챌린지퀴즈
- 03다중 제네릭 타입챌린지퀴즈
- 04제네릭 함수챌린지퀴즈
- 05요약 - 좌표 지점챌린지
트레이트 정의
6 개 강의641- 01트레이트란 무엇인가요?챌린지퀴즈
- 02트레이트 구현하기챌린지퀴즈
- 03기본 구현챌린지퀴즈
- 04기본 구현 오버라이딩챌린지퀴즈
- 05매개변수가 있는 트레이트챌린지퀴즈
- 06요약 - 미디어 플레이어챌린지
표준 트레이트
5 개 강의536- 01Debug 트레이트챌린지퀴즈
- 02Display 트레이트챌린지퀴즈
- 03Clone과 Copy챌린지퀴즈
- 04동등성 트레이트챌린지퀴즈
- 05요약 - 출력 가능한 Point챌린지
트레이트 경계
5 개 강의534- 01트레이트 경계 문법챌린지퀴즈
- 02다중 경계챌린지퀴즈
- 03where 절챌린지퀴즈
- 04트레이트를 활용한 타입 반환챌린지퀴즈
- 05요약 - 제네릭 프린터챌린지
트레이트 객체
4 개 강의425- 01동적 디스패치챌린지퀴즈
- 02트레이트 벡터챌린지퀴즈
- 03트레이트 객체 순회하기챌린지퀴즈
- 04복습 - 동물원 관리자챌린지
프로젝트: 문서 시스템
프로젝트5 개 강의1- 01Draw 트레이트챌린지
- 02텍스트 컴포넌트프로젝트
- 03버튼 컴포넌트프로젝트
- 04Screen 구조체프로젝트
- 05스크린 실행하기프로젝트
Rust 디자인 패턴
5 개 강의531- 01뉴타입 패턴챌린지퀴즈
- 02컴포지션챌린지퀴즈
- 03Drop 트레이트챌린지퀴즈
- 04From과 Into챌린지퀴즈
- 05요약 - Smart Pointer Mock챌린지
최종 도전 과제
3 개 강의3- 01제네릭 스택챌린지
- 02도서관 카탈로그챌린지
- 03도형 넓이 계산기챌린지
Coddy에서 Rust을 배우는 이유
- 브라우저에서 실제 Rust 코드를 작성하고 실행하세요. rustup 설치도, Cargo 설정도 필요 없습니다. 각 레슨은 서버에서 Rust 프로그램을 컴파일해 결과(그리고 컴파일러 오류까지)를 즉시 보여줍니다.
- Rust만의 특징: ownership, borrowing, lifetimes, traits, enums와 패턴 매칭,
Result를 활용한 에러 처리. 시스템 프로그래머라면 알아야 할 Rust의 기초입니다. - AI 힌트가 Rust 특유의 엄격한 컴파일러 에러를 차근차근 풀어줘서, 처음 배울 때 borrow checker가 벽이 아니라 선생님처럼 느껴집니다.
- 과정을 마치면 무료 Rust 수료증을 받습니다. 시스템 프로그래밍, 인프라, 블록체인, 임베디드 분야처럼 Rust가 점점 더 주류 언어로 자리 잡아 가는 직무에서 신뢰할 만한 증거가 됩니다.
Rust 학습에 대한 자주 묻는 질문
Rust은 배우기 쉬운가요?
Rust는 어렵다는 평판이 있는데, 대부분 다른 언어에서는 잘 드러나지 않는 ownership과 borrow checker 때문입니다. 반대로 그 덕분에 컴파일러가 빌드 시점에 수많은 버그를 잡아주죠. 이 강의는 ownership과 borrowing을 차근차근 소개하고, 작은 연습 문제를 통해 borrow checker를 벽이 아닌 선생님으로 느끼게 해줍니다.
Rust는 어디에 쓰이나요?
시스템 프로그래밍, 인프라(Linux 커널 일부, Cloudflare, Discord, Dropbox), 커맨드라인 도구, 임베디드, WebAssembly, 그리고 점점 늘어나는 블록체인·암호화폐 코드. C나 C++가 쓰이던 영역을 노리지만, 훨씬 강력한 안전성을 보장합니다.
Rust를 배우는 데 얼마나 걸리나요?
Rust 기초 — 문법, 제어 흐름, 함수, 구조체, enum — 은 매일 연습하면 2~4주면 익힐 수 있습니다. ownership, borrowing, lifetimes, traits에 익숙해지려면 보통 2~6개월이 더 걸립니다. 마스터 수준(고급 lifetimes, async, unsafe Rust)에 도달하는 길은 훨씬 길며, 실제 프로젝트로 부딪혀가며 익히는 게 가장 좋습니다.
Rust와 Go 중에 뭘 배워야 할까요?
둘 다 서버와 인프라를 겨냥한 현대적인 정적 타입 언어지만, 트레이드오프가 다릅니다. Go는 빠른 컴파일 속도, 간결한 동시성 모델, 작은 스펙에 최적화되어 있어 배우기 더 쉽습니다. Rust는 가비지 컬렉터 없이 성능과 메모리 안전성을 추구해서 배우기는 어렵지만 더 낮은 레벨까지 다룰 수 있습니다. 백엔드와 클라우드 툴링이라면 Go를, 시스템 프로그래밍이나 성능이 중요한 코드, 예전에 C/C++로 작성하던 작업이라면 Rust를 선택하세요.
Rust를 온라인에서 무료로 배울 수 있나요?
네. 인터랙티브 Rust 강의는 무료입니다 — 전체 레슨, 코딩 실습, 퀴즈, 그리고 수료증까지 포함되어 있습니다. Rust 코드는 서버에서 컴파일되므로 rustup이나 Cargo를 로컬에 설치하지 않아도 바로 실제 Rust 코드를 작성할 수 있습니다.
Rust 강의를 마치면 수료증을 받을 수 있나요?
네. Rust 코스를 완료하면 무료 수료증이 발급됩니다. 이력서에 추가하거나 그동안 만든 Rust 프로젝트, CLI 도구, 오픈소스 기여와 함께 LinkedIn에 공유할 수 있는 검증 가능한 증표입니다.