오리지널판이 있는 경우 개정판을 다시 구매할 필요 없이 오리지널판을 업데이트하여 사용할 수 있습니다.
"러스트 프로그래밍"에 오신 것을 환영합니다. 이 책은 안전하고 빠르며 동시 실행이 가능한 시스템 수준 코드를 작성하려는 개발자들을 위해 설계된 Rust 프로그래밍 언어 마스터를 위한 종합 가이드입니다. 이 책은 Rust의 필수 기능을 단계별로 안내하며, 강력한 기반을 구축하고 소유권과 생명주기 같은 핵심 개념을 이해하도록 도와주며, 결국 현대적인 프로그래밍 환경에서 견고한 애플리케이션을 개발할 수 있도록 합니다.
제1장 “Rust 소개”에서는 Rust가 무엇인지, 왜 배우는 것이 가치 있는지, 첫 번째 프로그램을 시작하는 방법을 소개하며 기초를 다집니다. 또한 활기찬 Rust 커뮤니티와 협업 중심의 오픈소스 문화를 알아보게 됩니다.
제2장 “기본 문법과 변수”에서는 언어의 기본 구성 요소를 다룹니다. 변수와 가변성, 데이터 유형, 문자열 조작, 주석, if 문과 루프와 같은 제어 흐름 구조를 사용하는 방법을 탐구합니다.
제3장 “함수와 모듈”에서는 함수를 통해 재사용 가능한 코드를 작성하고 모듈을 사용하여 코드를 조직화하는 방법을 소개합니다. 함수 매개변수, 범위, 그리고 Rust의 패키지 관리자인 Cargo를 사용하여 외부 라이브러리를 사용하는 방법에 대한 소개도 포함됩니다.
제4장 “소유권과 차용”은 Rust의 가장 독특한 특징인 메모리 관리 모델을 심도 있게 다룹니다. 이 장에서는 소유권, 차용, 라이프타임 개념을 설명하며, 이 개념들이 가비지 컬렉터 없이 안전하고 효율적인 메모리 관리를 가능하게 하는 방식을 설명합니다.
제5장 “구조체와 열거형”에서는 구조체와 열거형을 사용하여 복잡한 데이터를 모델링하는 방법을 배웁니다. 패턴 매칭을 연습하고 데이터 유형을 효과적으로 결합하며, 이러한 구조체를 활용해 표현력 있고 유형 안전한 애플리케이션을 구축하는 방법을 익힐 수 있습니다.
제6장 “컬렉션”은 Rust의 컬렉션 유형(배열, 벡터, 해시 맵, 문자열)을 탐구합니다. 이터레이터를 사용하여 컬렉션을 반복하는 방법과 클로저를 활용해 간결한 코드를 작성하는 방법을 배웁니다.
제7장 “오류 처리”는 Rust의 강력하고 명시적인 오류 관리 접근 방식을 다룹니다. Result 및 Option 유형, 오류 전파, 사용자 정의 오류 유형, 복구 가능 및 복구 불가능 오류 구분 등이 포함됩니다.
제8장 “트레이트와 제네릭”은 Rust에서의 추상화를 소개합니다. 트레이트 정의 및 구현 방법, 트레이트 경계 사용, 제네릭과 라이프타임 매개변수를 활용해 재사용 가능하고 유연한 코드를 작성하는 방법을 배웁니다.
제9장 “동시성”은 동시성 프로그램을 작성하는 데 필요한 도구를 제공합니다. 스레드, 뮤텍스, 통신을 위한 채널, 표준 라이브러리를 사용한 안전하고 동시적인 Rust 코드 작성 관행을 탐구합니다.
제10장 “고급 주제”에서는 매크로, unsafe Rust, 생태계 개요(도구 및 라이브러리 포함)와 같은 고급 기능을 다룹니다. 또한 테스트 작성 방법과 Rust 프로젝트를 처음부터 구축하는 방법을 배우게 됩니다.
제11장 “커뮤니티 및 추가 리소스”에서는 핵심 개념의 요약, 지속적인 학습을 위한 가이드, Rust 커뮤니티 참여를 장려하는 내용을 통해 학습 여정을 마무리합니다. 또한 Rust 개발자로 성장하고 오픈소스 프로젝트에 기여하는 다음 단계도 탐구하게 됩니다.
이 책을 마치면 Rust의 문법, 기능, 메모리 안전성과 동시성에 대한 독특한 접근 방식에 대한 깊은 이해를 얻게 됩니다. 고성능 애플리케이션을 구축하고 Rust 생태계에 기여하며 현대적인 시스템 프로그래머로서의 여정을 계속할 준비가 될 것입니다.
본 도서는 인공지능 기반으로 검색된 콘텐츠를 바탕으로, 일반 서식, 질문과 답변, 문제 풀이 등 다양한 형식을 통해 핵심 개념을 체계적으로 설명합니다. 독자들이 개념을 보다 쉽게 이해할 수 있도록, 명료하고 간결한 구조를 유지하였으며, 각 소스 코드에 적합한 하이라이트 기능을 제공하여 가독성을 극대화하였습니다.
이 책은 종이책 형태가 아닌 EPUB 전자책으로 제작되어, 전통적인 페이지 레이아웃과는 다른, 웹 기반의 흐름을 취하고 있습니다. 따라서 종이책과 같은 구성에 익숙한 독자라면 다소 이질감을 느낄 수 있습니다.
본 주제에 처음 접하는 독자에게는 이 도서가 다소 방대한 내용과 깊이 있는 개념을 다루고 있어 주제를 이해하는 데 어려움을 느낄 수 있으므로, 관련 분야에 어느 정도 경험이 있는 독자들에게 이 책을 권장합니다. 기존 지식을 넓히고자 하는 이들에게는 심화된 이해와 지식의 확장을 도울 수 있을 것입니다.