러스트로 빠르고 견고하며 현대적인 웹 애플리케이션을 개발한다!
느리고 불안정한 웹 개발에 질렸다면 러스트로 해결하자!
러스트는 시스템 프로그래밍을 위한 안전하고 빠르며 생산적인 언어이다. 안전한 메모리 관리, 효율적인 컴파일러, 강력한 타입 시스템 등으로 코드를 안전하고 효율적으로 작성할 수 있다. 이 책은 이러한 러스트와 함께 비동기 런타임용 Tokio, 웹 서버 및 API용 Warp, 외부 HTTP 요청 실행을 위한 Reqwest 등 최신 웹 개발 기술과 도구를 사용하여 현대적인 웹 애플리케이션을 개발한다. 이를 통해 최신 트렌드에 맞는 웹 개발을 경험하고 익힐 수 있다. 느리고 리소스가 부족하며 불안정한 웹 개발에 질렸다면 러스트가 해결책이 될 것이다.
실용적이고 실무적인 가이드를 제시한다!
손으로 직접 해보는 것이 배우는 데 있어 가장 좋은 방법이다. 무언가를 직접 해본다면 다음에 좀 더 개선되고 자동화된 방식으로 작업할 때 그 장단점을 알 수 있기 때문이다. 이런 저자의 철학이 이 책에 녹아 있다. 기본적인 사항부터 구현한 다음, 러스트의 기능과 장점을 활용해 다른 솔루션을 뒤이어 구현하면서 코드를 점진적으로 개선해 나간다. 코드는 점차 군더더기가 없어지고, 좀 더 자동화된 방식으로 만들어진다. 이때 비로소 러스트의 아름다움을 알게 된다. 또한, 러스트로 웹 애플리케이션을 개발할 때 발생할 수 있는 일반적인 문제에 대한 실용적인 해결 방법과 팁을 제공하여 웹 애플리케이션을 효과적으로 구축할 수 있도록 도와 준다.
[베타평]
다른 기술 서적과 비슷하게, 따라 하기 방식으로 구성되어 있어 책을 따라 실습하다 보면 애플리케이션 하나가 완성됩니다. 다만, 다른 책과 달리 일단 에러를 발생시키고 왜 이런 에러가 발생했는지에 대한 이유를 설명하며 올바른 방법을 제시해 줍니다. 그냥 따라 하다 보면 이해되지 않은 부분을 무심결에 넘어가게 되는데, 이 책처럼 에러를 확인하면서 다시 한번 생각하게 해 주는 방식은 실무에서 프로그래밍을 할 때 시행착오를 겪는 과정과 동일하다고 느꼈습니다. 이는 마치 러스트의 컴파일러가 동작하는 방식과 유사한데, 저자가 러스트를 깊이 이해하고 있음을 생각하면 당연한 전개 방식이라고 생각합니다.
주제 하나를 가지고 처음부터 끝까지 블록 쌓기처럼 완성해 가는 과정 또한 마음에 들었습니다(마음의 든 정도가 아니라 정말 훌륭했습니다). 목표가 선명했으며, 왜 이렇게 바꿔 나가야 하는지를 설명하면서 그간 어렴풋하게만 알고 있던 개념들이 명확해지고 러스트뿐 아니라 프로그래밍 전반에 대한 이해도를 높일 수 있는 시간이었습니다.
역자가 원문에 있는 예제를 직접 실행해 보면서 발견한 문제점까지 꼼꼼하게 보완한 덕분에 오히려 원서보다 완성도가 높아져 학습자로서 감사 말씀을 드리고 싶습니다.
ㆍ실습 환경 macOS 13.0, Rust Playground, VS Code
유서호_해피테크놀로지 CTO
러스트에 대한 기초를 쌓고 무엇을 해야 할지 막막할 때 이 책이 웹 백엔드 개발에 대한 훌륭한 길잡이가 되어 줍니다. 이 책에서는 백엔드의 비동기 처리를 위해 Warp, Tokio, Reqwest를 사용하는 방법 그리고 개발에서 머무는 것이 아니라 실제 프로덕션으로 완성시키기 위해 배포와 테스트를 하는 방법까지 러스트 개발에 대해 상세하게 안내해 줍니다. 개인적으로 log4rs, tracing 소개와 GDB, LLDB 등 상세한 디버깅을 설명하는 6장이 가장 마음에 들었습니다. 러스트의 기초를 넘어 러스트를 웹 백엔드 개발 실무에 적용해 보고자 하는 분들에게 이 책을 추천하고 싶습니다.
ㆍ실습 환경 Windows WSL2, Ubuntu 20.04.6 LTS
전봉규_LG CNS
러스트 문법을 공부한 적이 있어 이 책의 베타 테스터로 참여하게 되었습니다. 러스트의 문법만 배웠지 웹으로는 처음 알게 되었습니다. 웹 프레임워크를 이용해 프로젝트 하나를 만드는 책의 구성이 좋았습니다. 또한, 함수형 기법으로 웹 프레임워크를 반영하는데, 함수형 기법까지 알게 되어 좋았습니다.
ㆍ실습 환경 macOS Sonoma, RustRover
문용준_SK C&C