Nov 11, 20268 min readRust 초급 1편: 설치와 Cargo로 첫 프로그램 만들기Rust를 처음 배우는 사람을 위한 12편 연재의 시작. Windows·macOS·Linux 설치부터 Cargo 프로젝트 생성, 코드 수정과 실행, 오류 해결과 연습 문제까지 따라 해 봅니다.
Nov 11, 20264 min readRust 초급 2편: 변수·자료형·문자열로 학습 기록 만들기1편에서는 정해진 문장을 출력했습니다. 이번에는 이름과 공부 시간을 값으로 보관하고, 계산한 결과를 문장에 넣어 보겠습니다. 끝나면 자신의 하루 학습 기록을 출력하는 프로그램을 만들 수 있습니다.
Nov 11, 20264 min readRust 초급 3편: 함수·조건문·반복문으로 학습 기록 계산하기변수 하나로 하루를 표현했다면 이제 여러 날을 처리해 봅시다. 이번에는 세 번의 학습 시간을 합산하고, 하루 목표를 달성했는지 판단하는 프로그램을 만듭니다. 함수는 계산의 이름을 붙이고, 제어 흐름은 어떤 계산을 언제 할지 정합니다.
Nov 11, 20264 min readRust 초급 4편: String으로 이해하는 소유권과 이동String을 다른 변수에 대입한 뒤 원래 변수를 출력했는데 컴파일 오류가 날 수 있습니다. Rust에서 이 동작은 값을 누가 관리하는지 바꾸는 이동일 수 있기 때문입니다. 이번에는 일부러 오류를 만들고, 소유권이 이동하는 지점을 찾아보겠습니다.
Nov 11, 20264 min readRust 초급 5편: 참조와 빌림으로 문자열 읽고 수정하기4편에서는 문자열을 함수에 보내고 반환받았습니다. 읽기만 하는 함수마다 값을 돌려받으면 코드가 번거로워집니다. 이번에는 함수가 문자열을 잠시 빌려 쓰도록 바꿉니다. 소유권은 main에 남겨 둡니다.
Nov 11, 20264 min readRust 초급 6편: 구조체와 메서드로 학습 할 일 만들기제목과 완료 여부를 각각 변수로 관리하면 어떤 값끼리 한 묶음인지 흐려집니다. 이번에는 학습 할 일 하나를 Task라는 타입으로 만듭니다. 제목과 상태를 구조체에 묶고, 완료 처리 동작을 메서드로 붙여 보겠습니다.
Nov 11, 20264 min readRust 초급 7편: 열거형과 패턴 매칭으로 학습 상태 표현하기완료 여부를 bool로 저장하면 두 가지 상태만 표현할 수 있습니다. 이번에는 대기, 학습 중, 완료라는 세 상태를 만들고 각 상태에 필요한 정보도 붙여 보겠습니다. 열거형은 가능한 경우를 타입에 적는 도구입니다.
Nov 11, 20264 min readRust 초급 8편: Option·Result로 빈 값과 오류 처리하기학습 시간을 숫자 문자열로 받는다고 해 봅시다. "30"은 정수로 바꿀 수 있지만 "abc"는 바꿀 수 없습니다. 아직 입력하지 않은 값도 있을 수 있습니다. 이번에는 부재와 실패를 구분해 프로그램이 예상 가능한 문구로 응답하게 만듭니다.
Nov 11, 20264 min readRust 초급 9편: 벡터·해시맵·문자열로 학습 기록 모으기지금까지는 기록 하나를 주로 다뤘습니다. 이번에는 여러 번의 학습 시간을 모으고 주제별 합계를 계산합니다. 순서가 있는 목록에는 Vec, 이름으로 찾는 집계에는 HashMap을 사용해 보겠습니다.
Nov 11, 20264 min readRust 초급 10편: 모듈과 외부 크레이트로 코드 정리하기main.rs에 데이터 정의와 출력 로직을 전부 적다 보면 파일이 길어집니다. 이번에는 학습 기록 코드를 별도 모듈로 옮기고, 외부 크레이트인 serde_json으로 JSON을 출력합니다. 중간에는 여러 타입이 같은 동작을 제공하도록 정하는 trait도 맛봅니다.
Nov 11, 20264 min readRust 초급 11편: 테스트와 디버깅으로 목표 계산 검증하기프로그램이 컴파일된다는 사실만으로 계산이 맞는 것은 아닙니다. 60분 이상이면 목표 달성이라고 정했는데 >를 써서 정확히 60분을 빠뜨릴 수도 있습니다. 이번에는 함수의 약속을 테스트로 적고, 일부러 만든 경계값 오류를 찾아봅니다.
Nov 11, 20265 min readRust 초급 12편: 파일을 검색하는 CLI 프로젝트 완성하기마지막 편에서는 앞에서 배운 내용을 파일 검색 도구 하나로 모읍니다. 터미널에서 검색어와 파일 경로를 받고, 일치하는 줄에 줄 번호를 붙여 출력합니다. 파일을 읽지 못하거나 인자가 잘못됐을 때도 원인을 알 수 있게 만듭니다.