이펙티브 러스트

효과적인 러스트 코드 활용을 위한 35가지 방법
$36.29
SKU
9791169212946
+ Wish
[Free shipping over $100]

Standard Shipping estimated by Mon 01/13 - Fri 01/17 (주문일로부 10-14 영업일)

Express Shipping estimated by Wed 01/8 - Fri 01/10 (주문일로부 7-9 영업일)

* 안내되는 배송 완료 예상일은 유통사/배송사의 상황에 따라 예고 없이 변동될 수 있습니다.
Publication Date 2024/10/10
Pages/Weight/Size 183*235*30mm
ISBN 9791169212946
Categories IT 모바일 > 컴퓨터 공학
Description
가장 안전하고 효율적인 프로그래밍 언어
러스트의 비밀을 파헤치다


러스트는 강력한 메모리 안정성, 타입 안정성 그리고 뛰어난 성능 덕분에 개발자들 사이에서 인기 있는 언어로 자리 잡았다. 그러나 강력한 기능이 오히려 숙련된 프로그래머에게도 진입 장벽이 될 수 있다. 이 책은 이러한 난관을 극복하고 러스트 코드를 유창하게 작성할 수 있도록 돕는 실용적인 조언을 제공한다.

러스트 기초를 어느 정도 다지고 나서, 다음 단계로 올라서는 데 필요한 내용을 중점적으로 다룬다. C++ 등 기존의 컴파일 언어 활용 경험이 있는 개발자를 위해 러스트의 핵심 개념을 단계별로 설명하고, 실제 프로그램에 적용하는 방법을 제공한다. 이 책을 통해 러스트의 진정한 힘을 이해하고, 더욱 생산적인 러스트 프로그래머로 발돋움해 보자.
Contents
CHAPTER 1 타입

_아이템 1: 데이터 구조를 타입 시스템으로 표현하라
_아이템 2: 공통 동작은 타입 시스템으로 표현하라
_아이템 3: 명시적인 match 표현식보다 Option과 Result 변환을 사용하라
_아이템 4: 가급적 관용적인 Error 타입을 사용하라
_아이템 5: 타입 변환을 이해하라
_아이템 6: 뉴타입 패턴을 적극 활용하라
_아이템 7: 복잡한 타입에는 빌더를 적용하라
_아이템 8: 레퍼런스와 포인터 타입에 익숙해져라
_아이템 9: 명시적 루프보다 반복자 변환으로 표현하라

CHAPTER 2 트레이트

_아이템 10: 표준 트레이트를 잘 익혀둬라
_아이템 11: RAII 패턴에 대해 Drop 트레이트를 구현하라
_아이템 12: 제네릭과 트레이트 객체 사이의 트레이드오프를 이해하라
_아이템 13: 디폴트 구현을 사용해 필수 트레이트 메서드를 최소화하라

CHAPTER 3 주요 개념

_아이템 14: 수명을 잘 파악하라
_아이템 15: 대여 검사기를 잘 파악하라
_아이템 16: unsafe 코드 작성을 자제하라
_아이템 17: 공유 상태 병렬성에 주의하라
_아이템 18: 패닉하지 마라
_아이템 19: 리플렉션 사용을 자제하라
_아이템 20: 과도한 최적화의 유혹에 저항하라

CHAPTER 4 의존성

_아이템 21: 시맨틱 버저닝의 의미를 이해하라
_아이템 22: 가시성을 최소화하라
_아이템 23: 와일드카드 임포트를 쓰지 마라
_아이템 24: API에 타입으로 나오는 의존성을 다시 익스포트하라
_아이템 25: 의존성 그래프를 관리하라
_아이템 26: 피처 팽창에 주의하라

CHAPTER 5 도구 활용

_아이템 27: 공개 인터페이스는 문서화하라
_아이템 28: 매크로를 신중하게 사용하라
_아이템 29: 클리피가 하는 말에 귀 기울여라
_아이템 30: 단위 테스트에만 머물지 마라
_아이템 31: 도구 생태계를 최대한 활용하라
_아이템 32: CI 시스템을 설정하라

CHAPTER 6 표준 러스트를 넘어서

_아이템 33: no_std에 호환되는 라이브러리 코드를 고려하라
_아이템 34: FFI 경계를 넘어서는 것을 제어하라
_아이템 35: FFI 매핑을 직접 하기보다는 가급적 bindgen을 활용하라

에필로그
Author
데이비드 드라이스데일,남기혁
구글의 소프트웨어 엔지니어로 2019년부터 러스트 언어를 주로 사용해 왔다. Tink 암호화 라이브러리를 러스트로 포팅하고, 안드로이드의 하드웨어 암호화 라이브러리(KeyMint)를 러스트 버전으로 교체하는 프로젝트를 주도했다. C/C++와 고 언어에 폭넓은 경험을 가지고 있으며, 리눅스 커널, 네트워킹 컨트롤 플레인 소프트웨어, 모바일 화상 회의 앱 등 다양한 프로젝트에 참여했다.
구글의 소프트웨어 엔지니어로 2019년부터 러스트 언어를 주로 사용해 왔다. Tink 암호화 라이브러리를 러스트로 포팅하고, 안드로이드의 하드웨어 암호화 라이브러리(KeyMint)를 러스트 버전으로 교체하는 프로젝트를 주도했다. C/C++와 고 언어에 폭넓은 경험을 가지고 있으며, 리눅스 커널, 네트워킹 컨트롤 플레인 소프트웨어, 모바일 화상 회의 앱 등 다양한 프로젝트에 참여했다.