We will find a way, we always have.

-interstellar

카테고리 없음

[서평] <러스트로 갈아타기> Rewrite it in Rust 합시다

Redddy 2026. 3. 2. 17:46

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

 

 

불과 2년전, 내가 러스트를 처음 배울 때만 하더라도 자바, 자바스크립트, 파이썬과 같은 다른 언어에 비해 러스트를 다루는 도서가 국내에 많이 없었는데, 요즘은 1~2 달에 한권씩 러스트 신간 소식이 들려온다.

 

러스트 관련 신간 소식을 들으면 목차를 살펴보는 편인데, 입문서, 초급자에 관한 도서는 많이 있지만 중고급 내용을 다루는 도서가 많이 없다는 것을 느꼈다. 문법 이외에 좀 더 심화 내용을 중점으로 다루는 도서를 찾고 있었는데, 그런 의미에서 이 도서가 그 고민을 조금 해소해주었다.

 

러스트로 갈아타기는 C, 파이썬, 자바스크립트 언어를 사용하다가 성능, 속도의 한계에 부딪혀 러스트로 갈아타기 위한 사람들을 위한 도서이다. 이 도서의 핵심은 FFI(Foreign Function Interface)이다. 국내에 출판된 책 중, 문법을 설명하다가 그냥 FFI를 언급하는 것 말고, 탄탄한 실습물과 함께 FFI를 다루는 도서는 없었던 것 같은데 이 도서에서는 C로 작성된  NGINX를 Rust로 갈아끼워 보면서 고급 FFI에 대해 집중적으로 다룬다. 

 

러스트가 아무리 좋은 언어라지만 회사에서 그냥 다짜고짜 '백악관에서 C/C++ 사용을 금지했대요', '요즘 MZ는 Go, Rust 쓴다더라'를 들먹이며 이미 잘 돌아가고 있는 코드를 러스트로 바꾸는 것은 쉽지 않다.

 

😱

 

대신 러스트로 변경했을 때 얻는 이점들을 눈으로 보이는 성능, 속도 등 정확한 지표를 들고 간다면 그래도 어깨 펴고 말할 수 있을 것 같다. 6장에서는 여러 케이스에 대한 벤치마크를 두고 비교하는 방법을 다루고 있다.


이 도서에서 마음에 들었던 부분은 unsafe 코드에 대해 다루고, target/debug 디렉터리에 대해 설명한다는 점이다. 이 글의 목적이 unsafe나 target/debug 디렉터리를 설명하는 글이 아니라 서평이니 이에 대한 자세한 설명은 책을 참고하면 되고, 간단하게 설명만 해보자면, unsafe 코드는 컴파일러에게 "이 영역은 개발자인 내가 전적으로 책임질게 너는 신경 쓰지 마"라고 이야기 하는 코드이고, target/debug는 cargo build 명령어를 통해 생성되는 빌드 결과물이다.

 

C 프로그램을 컴파일 하고 Rust로 링킹하는 과정, FFI를 다루는 과정에서 자연스레 unsafe와 target/debug를 설명하는 부분이 마음에 들었다.

 

cargo build로 자동 생성된 target 디렉터리

 

 

이런 분들에게 추천합니다.

 

러스트 문법을 배웠고, C, Python, JavaScript 중 하나에 경험이 있는 분.

FFI에 대해 더 깊이 파고들고 싶은 분.

 

 

이런 분들에게는 권하지 않습니다.

 

아직 러스트 입문자이신 분.

1, 2 장에서 borrow check, lifetime 등 기본적인 내용에 대해 다루기는 하지만 전반적인 문법에 대해 설명하는 도서가 아니기 때문에 러스트에 완전히 경험이 없는 분들은 이 도서 이전에 다른 기본서를 먼저 읽는 것을 권합니다. 

 

코드 작성이 귀찮으신 분.

대부분의 프로그래밍 언어 관련 도서가 그렇듯 도서 예제들을 직접 따라치지 않고서는 실력이 늘지 않습니다. 이 도서에서는 꽤 많은 양의 실습 코드를 포함하고 있습니다.

 

 


 

번외로 C에서 Rust로 갈아타는 부분을 읽다가 2025 Rust Conf의 한 발표 내용이 떠올랐다.

이 도서에서 C에서 Rust로 갈아타는 방법에 대해 배운 뒤, 현업에서는 실제로 어떨지 궁금증이 생길 수 있다. 아래 영상에서 현업, 리얼 월드에서 러스트로 환승시 마주하는 문제는 무엇인지 엿볼 수 있다.

 

https://www.youtube.com/watch?v=H0AUP2OgppE

 

 

도서 링크: https://www.hanbit.co.kr/store/books/look.php?p_code=B2104340259&type=book

 

러스트로 갈아타기

달리는 기차의 엔진을 멈추지 않고 교체하는 법. 실무자를 위한 러스트 기반 마이그레이션 가이드

www.hanbit.co.kr