러스트 프로페셔널 코드 - 동시성, 성능 최적화, 디자인 패턴 등 러스트 전문가가 되기 위한 모든 것
브렌든 매슈스 지음, 장연호 옮김 / 제이펍 / 2024년 9월
평점 :
장바구니담기


 필자는 러스트에 입문하여 공부하다 보니 러스트로 어떤 것을 만들 수 있고, 어떤 방식으로 코드를 작성해야 하고, 러스트만의 데이터 구조 특징과 메모리 관리 방법 등 궁금해지는 점이 점점 많아서 본 도서에 관심을 갖게 되었다. <러스트 프로페셔널 코드>는 러스트를 이용해 수 년간 개발을 해온 사람인 필자의 노하우가 담긴 책으로, 러스트를 제대로 알고 싶고 제대로 활용하고 싶다면 꼭 읽어봐야하는 책이다.


 이 책을 보면, 러스트는 생각보다 훨씬 현대적이고 다른 언어와의 결합성이 뛰어나며, 기능이 매우 많다는 것을 알 수 있다. 책의 내용이 방대해 아직 본격적으로 읽어보지는 못했지만, 이 책을 살펴보고 러스트는 생각보다도 더욱 무궁무진한 언어라는 생각이 들었다. 이 책은 "Code Like a Pro in Rust" 라는 제목 그대로 러스트라는 언어를 러스트스럽게 쓰려면 어떻게 해야 하는가에 대해 설명해주는 책이다. 러스트 입문용 책에 있는 조건문, 반복문, 자료형, 오류처리 등의 간단한 개념에 관한 설명이 담긴 책이 아니라, 실전 개발을 어떻게 해야 하는지에 초점을 맞춘 책이라고 할 수 있다.


 실전 개발에 발을 들이기에는 아직 부족한 필자에게 가장 도움이 되었던 부분은 이 책의 PART 2 : 코어 데이터 부분이다. 처음 러스트를 배울 때 상당히 헷갈리는 개념인 String과 str, &str 등의 개념과 예시에 대해 코드와 함께 설명해주어서 컴파일러가 코드를 읽는 원리를 깊게 이해해볼 수 있었다. 그 밖에도 벡터, 맵 등의 복합적인 데이터 타입와 입문 책에선 찾아볼 수 없는 From-Into 키워드 사용법까지 알려주어 러스트의 데이터 구조를 어떻게 다뤄야 하는 지 알 수 있었다.


 또한 메모리 작업 챕터에서는 러스트에서 힙 영역, 스택 영역의 개념과 데이터가 어떤 영역에 어떻게 할당되는지에 관한 설명이 자세하게 나와있고, 이를 그림과 함께 설명하여 컴퓨터의 메모리 구조에 대해서도 이해할 수 있다. 특히 다른 언어에는 없는 러스트만의 생소한 개념인 스마트 포인터에 관해서도 자세한 설명이 있어 도움이 되었다. 러스트가 얼마나 메모리 안정성에 관해 신경을 많이 썼는지 느껴볼 수 있는 구간이다.


 하지만 단위 테스트와 통합 테스트, 비동기 작업, 최적화 등의 챕터는 아직 초보 개발자로써 이해하긴 어려운 부분이다. 하지만 이 책을 읽으며 이를 이해할 수 있는 수준으로 성장해 나간다면 러스트 언어 뿐만 아니라 프로그래밍과 개발 자체의 전문가가 되어 있을 것이라 확신한다.


 이 책의 마지막 부분인 CHAPER 9 : HTTP REST API 서비스 만들기 부분에서는 비동기 러스트를 이용해 웹 서비스를 직접 구축함으로써 이 책에서 배운 내용들을 실제로 적용해본다. 이 과정에서 웹 프레임워크와 API 설계방법, 필요 라이브러리와 도구와 SQL까지 사용하여 TODO CRUD 앱까지 설계해본다. 이 실전 경험을 통해 러스트를 어디에 어떻게 써야하는지, 그 과정에서 어떤 흐름과 규칙으로 데이터를 제어해야 하며 러스트의 어떤 기능과 키워드를 사용해야 하는지 경험해볼 수 있다. 물론 소스코드와 코드에 관한 설명까지 모두 제공되니 이 과정을 따라가며 학습하다 보면 러스트로 웹 개발을 할 수 있는 개발자로 성장할 수 있을 것이다.


 정리하자면, 난이도는 상당히 높은 책이지만 러스트 전문가가 되고 싶다면 꼭 겪어봐야 하는 책이다. 필자가 생각하는 이 책을 읽어보아야 하는 사람은 다음과 같다.


1. 다른 언어로 서비스를 개발해본 경험이 있는데 러스트로도 해보고 싶은 사람

2. 러스트 언어를 더 잘 다루기 위한 기법과 도구가 궁금한 사람

3. 러스트 언어의 메모리 관리, 소유권 등의 특징에 대해 완전히 이해하고 싶은 사람


정도로 정리해보겠다.




댓글(0) 먼댓글(0) 좋아요(0)
좋아요
공유하기 북마크하기찜하기 thankstoThanksTo