Scientia Conditorium

[책리뷰] 러스트 프로페셔널 코드 본문

서평/IT-책

[책리뷰] 러스트 프로페셔널 코드

크썸 2024. 9. 8. 17:37

[책리뷰] 러스트 프로페셔널 코드 Code Like a Pro in Rust

 

전반적인 소감 및 마음에 드는 부분

국내에서 러스트 사용자들이 점점 늘아나면서 관련 책들이 계속해서 나오고 있다. 기초 개념부터 특정 주제에 집중한 책까지 다양하다. 이 책은 러스트 언어에 대한 기초 개념 소개는 아니고 실제로 사용하는 방법에 초점을 맞추고 러스트 도구의 한계와 개발자가 러스트를 사용하여 신속하게 생산성을 높일 수 있는 방법을 제안한 책이다. 정확히는 러스트를 많이 사용해본 개발자의 경험을 토대로 작성한 책이라고 보면 되겠다. 특히 중간중간 나오는 코딩 팁들은 매우 유용하다. 책의 처음부터 끝까지 'Rust에는 이런 것들이 있는데, 내가 써보니 이런게 문제고 이거는 이렇게 쓰면 좋더라' 라는 형식으로 구성되어 있다. 특히 소유권에 대해 이렇게 잘 설명해주는 책이 또 있었나 싶을 정도였다.

 

 

대상 독자 및 책 난이도

기본적으로 러스트를 조금이라도 해본 개발자들을 대상으로 한다. 러스트는 커녕 메모리 관리 언어를 해본 적도 없는 개발자들에게는 읽기 어려울 수 있다. 위에서 언급했듯이 기능에 대한 배경 설명은 거의 없기 때문이다. 반면 러스트를 조금이나마 해봤다면 읽는데 어려움은 없다. 오히려 바로 선배가 코드를 알려주는 느낌으로 수월하게 읽을 수 있을 것이다. 이 책은 다양한 도구의 소개와 더불어 개발 과정에서 겪게 될 상황에 대한 조언을 담고 있기 때문이다. 실용적이면서도 깊이 있는 해설을 통해 언어를 깊이 있게 이해하도록 도와주며, 생태계의 다양한 면면을 살펴봄으로써 보다 넓은 시야를 갖고 문제를 해결할 수 있도록 안내해준다.

정리하자면 제이펍 출판사에서 나온 '러스트 프로그래밍 공식 가이드' 책을 읽고 난 다음에 이 책을 읽기를 권장한다.

 

다루는 내용과 범위

굳이 순차적으로 읽을 필요는 없다. 메모리 관리, 비동기, 최적화 파트가 핵심이라고 본다. 

  1. 프로 러스트
    러스트와 그 도구에 대해 소개한다.
    1. Cargo로 프로젝트 관리하기
    2. 러스트 도구 이용하기
  2. 코어 데이터
    러스트의 데이터 구주와 메모리 관리 모델을 자세히 살펴본다.
    1. 데이터 구조
    2. 메모리 작업
  3. 정확성
    정확성 테스트 기법을 설명하는데 러스트의 단위 테스트 기능과 통합 및 퍼즈 테스트에 대해 다룬다.
    1. 단위 테스트
    2. 통합 테스트
  4. 비동기 러스트
    러스트의 비동기 기능에 대한 개요를 제공하고 비동기 HTTP 서버/클라이언트 구현을 알아본다.
    1. 비동기 러스트
    2. HTTP REST API 서비스 만들기
    3. HTTP REST API 명령행 도구 만들기
  5. 최적화
    러스트의 무비용 추상화 덕분에 성능에 대해 너무 많이 고민하지 않아도 되지만, 특정한 경우 더 깊이 파고들 필요가 있기 때문에 그런 경우와 필요한 도구에 대해 논의한다.

 

 

결론

러스트 사용자가 아직 많지 않기 때문에 이런 식의 조언이 가득 담긴 책은 매우 도움이 된다. 물론 본인이 직접 사용해봤을때 다른 점들도 있을 것이다. 그러나 저자가 말했듯이 러스트를 처음 접할 때 직면하는 일반적인 함정과 문제를 피함으로써 많은 시간을 절약할 수 있을 것이다. 본래 개척하는 것이 가장 어렵다고 생각한다. 이렇게 미리 경험하고 시행 착오를 겪고 발생한 문제와 해결 방법을 정리하여 많은 사람들에게 알려주는 사람들을 대단하다고 느낀다. 그렇기에 좋은 책을 집필해준 저자 브랜든 매슈스에게도 감사의 말을 올린다.