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

한빛미디어

독자리뷰

안전하고 효율적인 러스트로 갈아타기

job***

|

2026-03-03

러스트로 갈아타기

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

  • 저자 : 릴리 마라 , 조엘 홈즈
  • 번역 : 전봉규
  • 출간 : 2026-01-30

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

 

C언어를 위주로 개발하는 임베디드 개발자 입장에서 20년 이상 진행해 오면서 느끼는 점을 개선할 방안으로 러스트 ( rust ) 언어로 보고 있었다. 그래서 조금씩 러스트 에 대해서 궁금함을 해결하고자 했다.

이번 한빛미디어에서 제공하는 전자책 (WEB 브라우저 기반) 을 토대로 내용을 검토하였다.

C언어의 단점 을 완벽하게 보안하면서 성능 유지가 가능하다는 것이 가장 큰 장점일 듯 하다.

여기서 이야기하는 갈아타기 ( Refactoring ) 는 단순하게 구현하는 프로그래밍 언어를 변경한다는 의미보다는 성능 향상을 시키고 유지관리를 용이하게 하는 등 다양한 관점에서 코드를 개선하는 작업을 의미한다.

이는 재작성 ( Rewriting ) 과 엄연히 다르다는 것을 먼저 상기 시켜야 할 듯 합니다. (저는 처음에 이 용어로 생각을 하고 해당 도서를 선택했습니다.)

 

단순하게 재작성을 하자는 게 아니라 코드의 일부를 조금씩 rust로 변경하면서 오류를 유발하는 코드를 신속히 감지하고 수정하면서 점진적으로 프로젝트 전체를 개선해 나가는 취지로 받아들여진다.

책에 앞부분에서 rust의 장점을 극단적으로 보여주는 내용이 있습니다.

csv 문자열에서 값의 합계를 구하는 내용 (파이썬 / 러스트 코드 를 제공)

단순하게 코드를 보아서는 큰 변화를 못 느끼지만, 취급하는 데이터양이 많아질 경우에 동작 시간과 메모리 사용량을 비교한 내용을 보여줍니다. (당연한 결과이겠지만)

100만 개의 줄과 100개의 열로 구성된 동일한 파일을 이용한 결과

나는 임베디드 시스템 개발자로 거의 대부분의 코드를 C언어를 이용하고 있는데, 대량의 코드를 작성하는 경우, 우연히 발생한 오류에 대한 문제점 파악 및 모호한 상황에서 해결책을 찾지 못하는 경우가 많다. 이 때는 프로그래밍언어의 결함(?) 특히 메모리에 무결성을 보장하지 못한다는 단점 때문에 항상 고민을 하게 된다.

러스트가 이런 메모리 안전성을 러스트 컴파일러에 맡기기 때문에 개발자에게는 해당 문제에 대한 부담을 덜어줄 수 있다고 한다.

나는 그래서 유지 보수성이 용이하다는 장점도 있지만 메모리 안전성에 대해서 큰 관심을 가지고 있다.

Rust 문법이 약했던 나에게는 2장에서 소개한 러스트 개요 부분이 Rust 문법을 이애하는 장이 되었으며, 중요 시 하는 부분이 코드의 수명을 파악하면서 어떤 코드가 좀 더 안전한 코드가 되는지를 소개하고 있다. 다만, Rust 를 처음 접하는 저에게는 해당 코드를 따라할 수 있는 환경 구축 내용이 없어서 많은 아쉬움이 남습니다.

(Rust 기초를 위한 별도 도서가 필요한 수준!)

후반으로 가면 HTTP 응용 예제에 대해서 python / javascript 등으로 구현한 코드를 러스트로 갈아타기 하는 내용을 다루고 있으며, 이는 WEB 개발자라는 좀 더 전문 분야에 해당하는 것으로 조금은 실습에 참여하기가 어려웠다.

 

앞으로 나는 임베디드를 위한 rust 과정을 조금씩 진행해 볼 예정이다.

 

닫기

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