메뉴 바로가기 검색 및 카테고리 바로가기 본문 바로가기

한빛출판네트워크

이펙티브 러스트

효과적인 러스트 코드 활용을 위한 35가지 방법

한빛미디어

번역서

판매중

  • 저자 : 데이비드 드라이스데일
  • 번역 : 남기혁
  • 출간 : 2024-10-10
  • 페이지 : 344 쪽
  • ISBN : 9791169212946
  • 물류코드 :11294
  • 초급 초중급 중급 중고급 고급
5점 (7명)
좋아요 : 17

가장 안전하고 효율적인 프로그래밍 언어
러스트의 비밀을 파헤치다

 

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

 

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

 

데이비드 드라이스데일 저자

데이비드 드라이스데일

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

남기혁 역자

남기혁

고려대학교 컴퓨터학과에서 학부와 석사 과정을 마친 후 한국전자통신연구원에서 책임 연구원으로 재직하고 있다. 한빛미디어에서 『Make: 센서』(2015), 『메이커 매뉴얼』(2016), 『이펙티브 디버깅』(2017), 『리팩터링 2판』(2020), 『전문가를 위한 C++(개정 5판)』(2023)을, 길벗에서 『핵심 C++ 표준 라이브러리(2판)』(2021), 『모던 C』(2022), 『Go 100가지 실수 패턴과 솔루션』(2023)을, 에이콘출판사에서 『Go 마스터하기』(2018), 『자율주행 자동차 만들기』(2019, 2022), 『스콧 애론슨의 양자 컴퓨팅 강의』(2021) 등을 번역했다.

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을 활용하라

 

에필로그

출판사 리뷰

 

러스트 개발자를 위한 중급서 등장!
35개의 아이템으로 살펴보는 러스트 실전 가이드

 

러스트는 현대 개발 언어 중 가장 높은 메모리 안전성과 성능을 자랑하지만, 처음 접하는 사람에게는 진입 장벽이 높을 수 있다. 이 책은 그 장벽을 넘어, 더욱 안전하고 효율적인 러스트 코드를 작성하는 방법을 제시한다. 기초를 넘어서 더 나은 설계와 구현을 원하는 개발자, 또는 실무 프로젝트에 러스트를 적용하고 싶은 이들에게 꼭 필요한 가이드를 담았다.

 

러스트 언어의 핵심 개념과 실전 활용법을 체계적으로 소개해 러스트 초보자를 넘어 중급자로 성장하고자 하는 개발자를 위한 필독서다. 러스트의 타입 시스템, 트레이트, 의존성 관리 등 실무에서 자주 마주치는 문제를 해결할 수 있는 실용적인 조언을 제공한다. 35개의 아이템을 통해 안전하고 성능 최적화된 코드를 작성하는 방법을 배우고, 코드의 오류를 줄이고 효율적인 러스트 개발을 할 수 있는 실질적인 팁을 통해 러스트를 깊이 있게 이해해 보자.

 

대상 독자

  • 러스트 기본기를 갖추고 다음 단계로 레벨 업하고 싶은 개발자 
  • C++와 같은 기존 컴파일 언어를 배웠지만, 러스트 컴파일에 어려움을 겪는 개발자
  • 러스트 언어를 제대로 이해하고 싶은 개발자

 

주요 내용

  • 타입 시스템 구조 이해하기
  • 오류 처리 및 반복을 위한 러스트 관용구 배우기
  • 크레이트 작업 방법 익히기
  • 대여 검사기의 경고를 처리하는 법 알아보기
  • 러스트 도구 생태계 활용법 터득하기

 

추천사

 

이 책에서는 기본적인 문법을 공부할 때 자세히 이해하지 못해 그냥 따라 했던 부분을 왜 그렇게 구현해야 하는지 자세히 알려준다. 분명 나중에 "아, 이거 책에서 어떻게 하라고 했던 거 같은데..."하며 다시 찾아보게 될 책이다. 러스트 기본 문법을 『러스트 프로그래밍 공식 가이드』로 독파한 러스트 입문자라면 『이펙티브 러스트』를 읽으면서 정확한 본인의 숙련도를 가늠하고, 러스트에 더욱더 가열차게 빠져들게 될 것이다.


강경구, NHN PAYCO 데이터 엔지니어

 

경험 많은 러스트 개발자가 드문 국내 환경에서 꼭 필요한, 더 나은 설계와 구현을 제안하는 보물과도 같은 중급서이다. 다른 언어를 주력으로 사용하던 개발자가 관용적인 러스트를 배울 때 도움이 될 것이다.


강병수, 엔씨소프트

 

러스트 언어로 코딩하다 보면 왜 이렇게 만들었을까, 왜 필요한 걸까, 내가 지금 하는 것보다 더 좋은 방식은 없을까 등 여러 질문을 하게 된다. 단순히 코딩을 많이 하다 보면 해결되는 질문도 있지만, 좋은 자료를 읽어야만 해결되는 질문도 많다. 이 책을 먼저 리뷰하면서 그동안 내가 가졌던 의문 중 대부분을 해소할 수 있었다. 러스트 언어의 문법을 익힌 후 본격적인 개발을 시작하기 전에 미리 읽기를 추천하고, 이미 러스트로 개발하고 있는 분들에게도 추천한다. 경험이 쌓일수록 더 많은 것을 얻을 수 있는 책이다.
 

김기오, 취미로 리눅스 커널을 공부하는 개발자

 

이펙티브 시리즈는 프로그래밍 언어별로 그 이름에 걸맞은 기대와 평가를 받고 있는데, 이 책 또한 기대 이상으로 러스트를 최대한 러스트답게 효율적으로 작성할 수 있는 가이드를 단계별로 제시한다. 러스트가 갖는 다소 높은 러닝 커브로 인해 기본 러스트 개념을 이해하고 있어야 읽기 수월한 면이 있지만, 러스트 입문 개발자로서 어떻게 하면 최대한 러스트답게 안전하고 효율적인 코드를 작성할 수 있을지 고민하는 개발자에게 레벨 업을 위한 서적으로 적극 추천한다.
 

김동진, 한화정밀기계 솔루션개발팀 PL

 

러스트가 안전한 프로그램을 만들 수 있게 해줬다면, 이 책은 유용하고 널리 쓰일 러스트 코드를 작성하는 방법을 알려준다. 기본적인 내용을 넘어 실제 현장에서 러스트 프로젝트를 시작하기 전에 알아 두면 좋을 지식을 잘 모아놓은 책이다.
 

김정현, KAIST 동시성 및 병렬성 연구실

 

단순한 문법서가 아닌 비법서라고 부를 만한 책이다. 보통 러스트를 접하는 분들은 다른 언어를 사용하다가 넘어왔을 확률이 큰데, 이 책은 그런 분들을 위해 다른 언어에서 사용되는 개념이 러스트에서 어떻게 사용되는지 혹은 어떻게 다뤄져야 하는지 코드와 그림으로 친절하고 상세하게 설명한다. 특히 효과적인 팁이 많아 한 번 보고 끝나기보다는 자주 꺼내봐야 하는 책이다.
 

김태근, 연세대학교 대학원 물리학과

 

이 책은 러스트의 타입, 트레이트, 의존성 등에 대한 깊이 있는 설명을 제공해 개발자들이 실무에서 자주 마주하는 문제를 러스트로 해결하는 데 큰 도움이 된다. 전체적으로 러스트 언어를 제대로 이해하고 싶은 개발자들에게 강력히 추천한다.
 

문용준, SK C&C 소프트웨어 아키텍트

 

러스트로 개발을 해보면 러스트 고유의 특징으로 인해 많은 시행착오를 겪는다. 이 책은 실용적인 예시와 명쾌한 설명을 통해 개발자의 시행착오를 줄이고 효율적으로 개발할 수 있도록 조언한다. 책에서 서술한 조언을 이해하고 적용할 수 있다면 어느새 훌륭한 러스트 개발자로 성장해 있을 것이다. 초중급 개발자에게 이 책을 추천한다.
 

박태준, 둡

 

러스트를 효과적으로 활용하기 위해서 알아 두면 좋은 내용을 아이템별로 심도 있게 다루는 책이다. 특히 C/C++ 언어를 러스트로 대체하려고 하는 움직임이 있기 때문에, C/C++과의 비교를 통해 러스트를 선택하는 이유를 명확히 설명하는 부분이 많아서 유용했다. 최근 러스트 입문서가 여러 권 출간되고 있지만, 이 책은 입문자를 넘어 중급자로 업그레이드할 수 있는 훌륭한 가이드 역할을 한다.
 

임혁, H 회사 백엔드 개발자

 

이펙티브 시리즈의 러스트 한국어 번역서가 출시됐다. 그만큼 러스트 언어 개발자 수가 늘어났음을 짐작할 수 있다. 기초 문법을 넘어 중급 이상으로 넘어가려는 이들의 갈증을 해소하는 이 책의 등장을 환영한다. 저자가 ‘이 책에 대하여'에서 이야기했듯이 이전 이펙티브 시리즈와는 다른 생소한 접근 방식과 CI 도구 등 언어와 직접적으로 관련 없어 보이는 내용을 소개하는 것 또한 언어적 특색과 모던 언어의 특징이 아닐까 생각한다. 역자의 친절한 주석과 베타리더들의 의견 덕분에 원서보다 더 읽기 쉬운 번역서가 탄생했다. 이 책은 러스트 초보를 넘어 중고급자가 되도록 여러분을 안내할 것이다.
 

전봉규, LG CNS 시스템 프로그래머

 

프로그래밍의 세상은 넓고, 알아야 할 것은 많은데 시간은 한정되어 있으니 부디 이 경험치 물약과도 같은 한 권의 책을 통해 시행착오에 드는 시간과 노력을 최소화하길 적극 권한다.
 

차정윤, 삼성전자 MX사업부 소프트웨어 엔지니어

 

이 책을 읽으면서 러스트로 더 안전하고 효율적인 프로그램을 작성할 수 있다는 확신이 생겼다. 다양한 상황에서 러스트를 최적의 방법으로 활용할 수 있게 하는 이 책은 러스트 개발자라면 반드시 읽어야 할 필독서다.
 

피수영, 스타트업 소프트웨어 엔지니어

 

기본을 넘어선 실제 러스트 지식의 훌륭한 모음이다. 이 책에 담긴 조언은 여러분을 자신감 있고 다재다능한 러스트 사용자로 발돋움할 수 있게 할 것이다.
 

캐럴 니컬스, 『러스트 프로그래밍 공식 가이드』(제이펍, 2024) 공동 저자

 

이 책은 흔히 접하는 딱딱한 코딩 책이 아니다. 유용하고 검증된 예제들이 가득하며, 적당한 유머도 있어 읽기 좋다. 이 훌륭한 책으로 파이썬 코딩 실력을 한 단계 끌어올리길 바란다.
 

피에트로 알비니, 전 러스트 코어 팀원

"한빛미디어 <나는 리뷰어다> 활동을 위해서 책을 제공받아 작성된 서평입니다."

 오판이다. 20년 전까지는 C/C++ 개발일을 그래도 좀 했고, 러스트가 나온지는 좀 됐지만, 실무에서는 해본 적이 없고, 회사에서 이 기술을 이용해 서비스를 개발했다고 하길래 그 코드를 읽고 이해하기 위해 공부를 해야겠다 생각해서, 이 책이 최신 서적이다보니, 유용한 팁도 알 겸해서 골랐는데, 완전이 오판했던 셈이다.

 일단 초반은 너무 어렵다. 여기서 사용하는 기술용어도 익숙하지 않은데, 설명하는 내용도 최소한 초심자는 벗어난 상태여야, 게다가 이 언어로 뭔가를 좀 만들어 봤어야, 심지어 고민도 꽤 해놨어야 이해가 될만한 내용들로 가득 차 있다.

 책 머리에 있는 베타리더들의 글을 먼저 읽어봤어야 했다. 정확히 이해하는 리더들의 조언을 새겨 들었어야 했다. 나같은 러스트 초심자(그래도 자바/스칼라 등을 20년 넘게 썼는데도)가 읽기에는 난이도가 높은 중급자용임을 미리 인지했어야 했다. 그만큼 시작은 어렵다.

 1장 타입과 2장 트레이트는 이 책의 근간이다. 물론 세간에 알려진 것과 같이 메모리 관리에 관한 부분이 뛰어나다는 점도 중요하지만, 읽자마자 가슴을 두근거리게 만든 표현이 있다.
 "'러스트는 어떻게 타입 시스템을 통해 프로그램 컨셉을 디자인하는가'를 보여주는 단적인 예"
다시 말해, 타입 시스템을 활용해 개발자의 의도를 손쉽게 표현할 수 있다는 점이고, 어느 정도 안정성을 보장도 해준다는 거다. 이거 무시 못할 특성이다. 자바 등으로 제아무리 잘 디자인해놔도 의도를 잘못 이해하고 사용하는데 정말 별의 별 경우를 다 방어하도록 작성하지 않는다면 잘못된 사용을 막을 방법은 사실상 없으니 말이다. 그런데 이게 가능하다? 놀라운 일일 수밖에 없다.

 그나마 잘 읽히는 편인 부분이 2장 트레이트였다. 이유는 최신 언어에서 차용해서 사용하는 메서드 방식들이 나오고 있어, 쉽게 이해되는 부분이었다.

 3장 주요 개념과 4장 의존성, 5장 도구 활용도 사실상 CS 이론과 그 응용에서 어떻게 러스트와 결합되어 처리되는지를 알려주는 셈이라 매우 중요하면서도 흥미로운 주제다. 하지만 러스트스러워야 한다는 점에서 이해하기 벅찬 부분도 분명히 있었다.

 만약 C/C++ 계열 언어에 친숙하고 최소한 최신 트렌드의 언어를 하나 이상 이해하고 있는 초심자(?)라면 이 책을 읽는데 나만큼 난해하지는 않았을 거라 생각한다. 이유는 다른 게 없다. 개인적으로 C/C++ 문법이 꽤 난해하다는 인상을 가진 내게 있어 코드 읽기가 쉽지 않았던 탓인데, 그런 표현이 익숙하다면 저자가 설명하는 내용을 코드와 매치시켜 이해하는 데 어려움이 덜할 거라고 생각하기 때문이다. 마치 스칼라를 처음 익혔을 때 느꼈던 막막함, 첫 컴파일 성공에 3일이 걸렸던 그 기억과 닮았다.

 1장을 읽으면서 바로 "러스트 프로그래밍 공식 가이드"나 "프로그래밍 러스트" 초급자용 도서를 동시에 공부해야 하나 고민이 되었다. 회사 일이 바쁘다보니 더 이상의 시간을 내는 게 어려워 병행하진 못했지만, 기초부터 습득해서 기술용어와 컨셉에 익숙해지면 다시 도전해서 이해해보려 한다. 베타리더 언급 중 "러스트 언어를 제대로 이해"하고자 하면 읽어보라고 권유하는 데에 100% 동의한다. 그만큼의 가치가 있다. 아마 설계를 하고 핵심 내용을 군더더기 없이 구현하려 했을 때 난감했던 지점들을 이 책이 명확하게 설명해주고 있기 때문이리라.

러스트는 현재 나와있는 프로그래밍 언어들 사이에서 특별한 위치를 차지하고 있다.

컴파일 방식 언어가 지닌 속도와 가비지 컬렉션이 없는 언어의 효율성을 갖추었으며, 함수형 언어의 타입 안정성과 독자적인 메모리 안정성을 위한 솔루션까지 제공한다.

러스트 타입 시스템이 제공하는 강력한 일관성은 주목할 만하다. 프로그램이 컴파일을 무사히 통과했다면 정상 작동할 확률이 매우 높은데, 이는 하스켈과 같은 고급 학술용 언어에서나 볼 수 있었던 특징이었다.

하지만 이런 안정성에는 대가가 따른다. 러스트는 문서화가 상당히 잘 되어 있지만 진입 장벽이 높다고 악명이 자자하다. 처음 접하는 사람이라면 러스트의 대여 검사기가 쏟아내는 불평에 대처하고, 데이터 구조를 다시 설계하고, 수명이란 개념을 이해하느라 고전하게 될 것이다.

이 책은 C++등 기존 컴파일 언어 경험자조차 어려워하는 부분들을 최대한 명확하게 설명하려 노력했다. 이펙티브 시리즈의 전통을 이어받아, 엄격한 규칙보다는 유연한 가이드라인을 제시한다. 각 근거를 자세하게 제공함으로써 주어진 상황에서 규칙을 벗어나는 것이 바람직한지를 독자 스스로 판단할 수 있게 한다.

이 책도 다른 시리즈처럼 조언마다 근거를 함께 제공하지만 러스트는 위험 요소가 현저히 적기 때문에 러스트 고유의 개념을 설명하는데 더 집중했다. 그래서 ‘~에 익숙해져라’, ‘~를 이해하라’와 같으며 러스트를 유창하고 관용적으로 작성하도록 도와주기 위한 내용을 담았다.

다른 언어에서 사용되는 개념들이 러스트에서 어떻게 구현되고 다뤄져야 하는지 코드와 그림으로 친절하고 상세하게 설명한다. 이펙티브 시리즈답게 한 번 읽고 끝낼 수 없다. 모르는 것이 있을 때 다시 돌아와서 발췌독하며 해답을 얻는다면 더 할 나위 없이 좋을 것이다.

이 책의 진정한 가치는 어느 정도 러스트를 경험해본 개발자들에게 있을 것이다. 단순히 러스트 문법 습득을 넘어, 어떻게 하면 최대한 러스트답게 안전하고 효율적인 코드를 작성할 수 있을지 고민하는 개발자에게 도약을 위한 서적으로 사용하면 좋을 것 같다. 입문자를 넘어 중급자에 도달하고 싶은 독자가 보기에 훌륭한 책이다.

이 서평은 한빛미디어 <나는 리뷰어다> 활동을 위해서 책을 제공받아 작성된 서평입니다.

✔️ 최근 가장 주목받는 프로그래밍 언어이다.

메모리 안전성, 뛰어난 성능, 현대적인 언어로서의 매력 때문에 많은 개발자가 러스트에 관심을 보인다. 하지만 주목받는 언어인만큼 처음 접할 때 많은 어려움이 있어 진입 장벽이 매우 높은 편이다.

✔️ 안정성과 효율성을 모두 고려한 강력한 언어이다.

컴파일 방식 언어의 속도, 가비지 컬렉션이 없는 언어의 효율성 그리고 함수형 언어의 타입 안정성을 제공할 뿐만 아니라, 메모리 안정성을 위한 독자적인 솔루션도 포함한다. 러스트 타입 시스템이 제공하는 강력함과 일관성 덕분에 러스트 프로그램을 정상적으로 컴파일 했다면 프로그램이 올바르게 작동할 가능성이 많다.

✔️ 러스트의 응용을 확실하게 익힐 수 있다.

이 책은 기본서라기 보다는 응용서에 가깝기 때문에 실전에서 러스트를 적용하는데 어려움을 겪고 있는 사람들에게 유용하다. 시중 대부분의 책들이 기본서에 많이 치우쳐져 있다 보니 실무에서 발생하는 문제는 밤샘을 통해 해결하는 수 밖에 없다. 이 책은 러스트 에러로 인해 밤샘을 하고 있는 사람들에게 도움을 줄 수 있는 책이다.

 

"한빛미디어 <나는 리뷰어다> 활동을 위해서 책을 제공받아 작성된 서평입니다."

이펙티브 러스트(데이비드 드라이스데일, 2024)

 

 

 

 

책 소개

저자 : 데이비드 드라이스데일( Drysdale, David )

제목 : 이펙티브 러스트 - 효과적인 러스트 코드 활용을 위한 35가지 방법

번역 : 남기혁

출판사 : 한빛미디어

출간 연도 : 2024. 10.

원문 제목 : Effective Rust - 35 Specific Ways to Improve Your Rust Code(2024.07)

페이지 : 344쪽

 

 


 

 

러스트(Rust) 는 모질라 리서치에서 개발한 다중 패러다임범용 프로그래밍 언어이다. "안전하고, 병렬적이며, 실용적인" 언어로 디자인되었으며,순수 함수형 프로그래밍, 액터 기반 병렬 프로그래밍, 명령형 프로그래밍객체 지향 프로그래밍 스타일을 지원한다.

(오픈 소스로 개발)

 

 


 

책은 6장으로 구성되어 있다.

 

1장에서는 러스트의 '타입'시스템을 사용하는 방법에 대해 설명하고, 데이터 구조를 만드는 방법을 설명한다. 

(러스터의 'enum' 타입과 'error' 타입, 반복자 변환을 중심으로 러스트의 타입 시스템 사용법을 안내한다.)

 

2장에서는 러스트의 표준 '트레이트'를 통해 타입 시스템의 핵심 동작을 인코딩 하는 방법을 설명한다.

(자주 사용하는 표준 트레이트 10개(Clone, Copy...등)의 설명을 시작으로 트레이트 객체의 사용법을 통해 트레이트 메서드를 보다 직관적으로 이해 할 수 있도록 안내한다.)

 

3장은 러스트의 주요 개념을 설명하는데, '대여검사'와 '수명검사' 를 시작으로 unsafe 코드, 리플렉션 사용 금지 등을 알려준다. 

 

4장에서는 러스트에서 cargo도구를 활용하는 방법을

5장에서는 러스트의 도구 생태계와 활용 방법을 

마지막 6장에서는 비표준 러스트 환경에서의 작업에 필요한 기본 사항을 설명한다.

 

 


 

 러스트 프로그래밍을 배우며 들은 첫 문장은 '컴파일된 러스트 프로그램은 안전하게 작동한다.'이다. 성능과 안정성을 고려해야하는 코드 구현에 있어 '러스트'는 최적의 프로그래밍 언어이다.

(다만 러스트는 '모든 걸 제대로 알고서 시작해야 하는 언어'이다. 러스트의 컴파일은...)

 

 책을 읽으며 좋았던 점은, 러스트 기초 문법에 있어 이해 하지 못한 부분에 대한 코드 구현과 안전한 러스트 코드 작성에 필요한 다양한 개념과 규칙, 원칙을 설명하는 부분이다. 높은 진입 장벽과 러닝 커브가 높은 부분이 러스트 입문자에게는 허들로 다가오지만, 저자의 '가이드라인'을 통해 기본 입문서 이후의 러스트 코딩을 단단하게 할 수 있다는 점이 책의 강점이다. 

 

C/C++의 '대체제'로 부상하고 있는 러스트, 러스트 코드의 심화과정과 고급 러스트를 사용하고 싶은 러스트 프로그래머들에게 일독을 추천한다.

 

 

 

  "한빛미디어 <나는 리뷰어다> 활동을 위해서 책을 제공받아 작성된 서평입니다."

이 글은 네이버 블로그에서 이미지로 퍼왔습니다. 더 자세히 보길 원하시는 분들은 여기에서 봐주세요.

 

한빛미디어 ‘나는 리뷰어다’ 활동을 위해서 책을 제공받아 작성된 서평입니다.

 

소개​

러스트(Rust)는 2010년 모질라 재단에 의해 처음 발표된 이후 C/C++와 동등한 수준의 속도를 유지하면서

안전성과 동시성을 향상시키는 것을 목표로 꾸준히 발전해 오고 있으며, 가장 인기있는 시스템 프로그래밍 언어로

자리 잡은 현대적 언어입니다.

러스트의 특징을 대표하는 문구로써는 안정성, 효율성, 고도의 타입 시스템, 안전한 메모리 관리 등을 들 수 있습니다.

‘이펙티브 러스트’는 이 강력한 언어의 심화 개념들을 다루며, 러스트를 단순히 배우는 것에 그치지 않고,

한 단계 더 높은 수준으로 나아갈 수 있도록 도와주는 책입니다. ​

특히, 기본 문법을 익힌 독자들에게 적합하며, 다른 언어(C++ 등)에 익숙한 사용자들이 러스트의 고유한 특징을 이해하고 ​

활용하는 데 훌륭한 가이드가 될 것입니다.

 

주제별 내용

이 책은 이런 러스트의 특징을 체계적으로 설명하기 위해서 5개의 Chapter로 나누어서 중요 특징을 설명하고 있습니다.​

 

Chapter 1Chapter 2에서는 엄격한 타입 시스템트레이트(Trait) 같은 러스트만의 중요 개념을 설명합니다. ​

타입 시스템 & 트레이트(Trait)를 C++의 특징과 비교하여 설명함으로써, 러스트가 어떤 방식으로 기존 언어들과 ​

다른 문제 해결 방식을 제시하는지 구체적으로 보여줍니다.

 

Chapter 3에서는 대여 검사(Borrow Check)수명(Lifetime) 검사는 기존 개발자들에게는 다소 낯선 개념이지만,

이 책은 이러한 개념을 친절하게 설명하여, 독자가 왜 이 개념이 중요한지 자연스럽게 이해하도록 돕습니다.

이는 안정성과 효율성을 동시에 추구하는 러스트만의 철학을 명확히 보여주는 부분입니다.

 

Chapter 4는 의존성 문제를 러스트가 어떻게 해결하는지 보여줍니다.

Cargo라는 패키지 관리 도구를 통해 어떻게 의존성을 관리할 수 있는지,

클리피(Clippy) 와 같은 코드 검사 도구나 다양한 테스트 프레임워크를 활용하는 방법까지 실용적인 정보를 제공합니다.

 

Chapter 5에서는 러스트 도구 생태계에 대해서 깊이 있게 소개합니다. ​

특히, CI(Continuous Integration) 환경에 이러한 도구를 통합하여 코드 품질을 관리하는 Know-how도 제시하며, 실무에서 바로 적용할 수 있는 유용한 Tip을 다룹니다.

 

마지막 Chapter 6에서는 러스트의 기본기를 다진 이후 비표준 환경에서의 활용 방안을 제시하는 내용으로 구성되어 있습니다.

크로스 컴파일 환경, 다른 언어와의 연동, 임베디드 환경 같은 고급 주제까지 다룹니다.

운영체제 기능이 제한된 환경에서도 러스트가 어떻게 활용될 수 있는지에 대한 실용적인 접근도 제공히고 있습니다.

 

총평

이펙티브 러스트는 러스트를 처음 접하는 독자들에게는 다소 어렵게 느껴질 수 있지만(사실 많이 어려운 것 같습니다..), ​

기본적인 문법을 익힌 개발자들에게는 러스트의 심화 개념을 이해하고 실전에서 활용하는 데 큰 도움이 되는 책이었고, ​

C++과 비교하며 설명하는 부분은 기존 C++ 개발자들에게 좀 더 유용할 것이라고 생각합니다.​

러스트의 철학과 실용적인 도구 사용법을 명확히 제시하는 이 책은 러스트를 더욱 깊이 이해하고자 하는 개발자에게 추천할 만한 훌륭한 가이드입니다.

국내 번역서로 출간되기를 손꼽아 기다렸는데 드디어 출간되었네요

한빛미디어 답게 깔끔하게 번역되어 이펙티브 러스트 사이트 보다 훨씬 읽기 좋아서 만족스럽습니다

결제하기
• 문화비 소득공제 가능
• 배송료 : 2,000원배송료란?

배송료 안내

  • 20,000원 이상 구매시 도서 배송 무료
  • 브론즈, 실버, 골드회원이 주문하신 경우 무료배송

무료배송 상품을 포함하여 주문하신 경우에는 구매금액에 관계없이 무료로 배송해 드립니다.

닫기

리뷰쓰기

닫기
* 상품명 :
이펙티브 러스트
* 제목 :
* 별점평가
* 내용 :

* 리뷰 작성시 유의사항

글이나 이미지/사진 저작권 등 다른 사람의 권리를 침해하거나 명예를 훼손하는 게시물은 이용약관 및 관련법률에 의해 제재를 받을 수 있습니다.

1. 특히 뉴스/언론사 기사를 전문 또는 부분적으로 '허락없이' 갖고 와서는 안됩니다 (출처를 밝히는 경우에도 안됨).
2. 저작권자의 허락을 받지 않은 콘텐츠의 무단 사용은 저작권자의 권리를 침해하는 행위로, 이에 대한 법적 책임을 지게 될 수 있습니다.

오탈자 등록

닫기
* 도서명 :
이펙티브 러스트
* 구분 :
* 상품 버전
종이책 PDF ePub
* 페이지 :
* 위치정보 :
* 내용 :

도서 인증

닫기
도서명*
이펙티브 러스트
구입처*
구입일*
부가기호*
부가기호 안내

* 온라인 또는 오프라인 서점에서 구입한 도서를 인증하면 마일리지 500점을 드립니다.

* 도서인증은 일 3권, 월 10권, 년 50권으로 제한되며 절판도서, eBook 등 일부 도서는 인증이 제한됩니다.

* 구입하지 않고, 허위로 도서 인증을 한 것으로 판단되면 웹사이트 이용이 제한될 수 있습니다.

닫기

해당 상품을 장바구니에 담았습니다.이미 장바구니에 추가된 상품입니다.
장바구니로 이동하시겠습니까?

자료실

최근 본 책0