처음 처음 | 이전 이전 | 1 | 2 | 3 | 4 |다음 다음 | 마지막 마지막
이펙티브 러스트 - 효과적인 러스트 코드 활용을 위한 35가지 방법
데이비드 드라이스데일 지음, 남기혁 옮김 / 한빛미디어 / 2024년 10월
평점 :
장바구니담기


네이버 블로그 리뷰 URL: https://blog.naver.com/rock1192/223617108339



이 책에서 소개하는 총 35가지 아이템 중 러스트 기본기를 다질 때 가장 중요하다고 생각하는 4가지 아이템에 대해서 알아보았다


러스트의 타입,  Error, Option, Result 는 러스트의 기본 중 가장 중요한 부분이기때문에 반드시 완벽하게 이해하고 넘어가야된다 



러스트는 C++과 빠른 속도를 자랑하는 저수준 언어이면서 뛰어난 메모리 안정성과 타입 안정성 그리고다양한 개발 편의성을 가지고 있는 언어로 그동안 C++의 불편함을 감수하고 개발을 해왔던 개발자들에게 가뭄에 단비 같은 언어로 매우 많은 기대와 인기에 힘입어 많은 개발자와 기업의 전폭적인 지지를 얻고있는 언어이다



본인도 자바 개발자로 최근에 러스트를 활용할 일이 있어서 접하게 되었는데 러스트 공식 문서를 통해 러스트를 공부하는 것은 매우 힘든일이었다


구글링을 해봐도 원하는 답을 얻기가 힘들어 GitHub에 구현된 다양한 러스트 코드들과 크레이트들 그리고 ChatGPT를 적극 활용하여 많은 시행착오 끝에 개발을 완료할 수 있었다


책에서 안내하는데로 높은 진입장벽을 체감할 수 있었던 시간이었다



이 책은 러스트 공식 문서와 기본만 가지고는 알기 어려운 러스트의 고급 활용 법에 대해 안내하고 있다


러스트를 공부하면서 특히나 어려웠던 부분은 국내에는 아직 러스트 관련 도서도 많지가 않았고 러스트로 API를 만들일이 그렇게 많을 까 싶기도 한데 RUST로 API 만드는 책과 매우 기본적인 문법만 다루는 책 몇권이 다 였고 국내 러스트 커뮤니티는 아직 많이 활성화되지 않아서 러스트 고급 개발정보를 얻는 것이 매우 힘들었었다


그러다 이 책의 출간 예정 소식을 듣게 되었고 빨리 출간되기를 손꼽아 기다렸다 물론 https://effective-rust.com 에서 무상으로 책이 제공되고 있지만 깔끔하게 번역되어 국내에 출간된 책으로 읽어보는 것이 훨씬 더 이해도 잘되고 가독성이 좋기 때문이다



이 책에 있는 내용들은 러스트로 개발하면서 필요했던 부분들을 명확하게 정리해주고 있다 물론 일부 아이템들은 잘 만들어진 크레이트를 활용하여 쉽게 해결할 수 있는 부분들도 있다


하지만 일단 기본기가 중요하기때문에 기본을 알고 러스트를 보다 더 잘 활용할 수 있게 된다면 문제가 될만한 코드를 사전에 정리하여 문제 발생 요인을 사전에 제거하고 더 안전하고 높은 성능을 발휘하는 서비스를 개발 할 수 있게 될 것이다


러스트의 인기가 많아질수록 편의성이 높은 크레이트들이 더 빠르고 많이 개발되기 때문에 좀 더 쉽게 러스트로 개발을 할 수 있게 되는 것 같다



러스트 기본을 확실히 공부한 후에 이 책을 읽어보는 것이 도움이 될 것이다


러스트 기본기를 확실하게 익혔다면 이런저런 편의성이 좋은 크레이트를 찾아 다니기에 앞서 이 책을 반드시 읽어보는 것을 추천한다


이 책을 마스터 함으로써 러스트 기본기를 확실히 다질 수 있게 되는 것 같다



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


댓글(0) 먼댓글(0) 좋아요(1)
좋아요
북마크하기찜하기 thankstoThanksTo
 
 
 
코틀린 아카데미 : 함수형 프로그래밍 프로그래밍 인사이트 Programming Insight
마르친 모스카와 지음, 신성열 옮김 / 인사이트 / 2024년 9월
평점 :
장바구니담기


네이버 블로그 리뷰: https://blog.naver.com/rock1192/223599865830



Kotlin for Developers 시리즈의 첫번째 도서인 코틀린 아카데미: 핵심편에서는 코틀린의 기본 문법과 널 가능성에 대해서 깊이있게 다루었던 부분이 매우 인상 깊어서 다음 시리즈가 무척이나 기다려졌었다


기대에 부응하듯이 빠르게 다음 시리즈가 출간되었고 아마 코틀린 아카데미 시리즈 중에서 가장 중요하고 많이 사용되는 부분이 아닌가 싶다



이번 코틀린 아카데미: 함수형 프로그래밍 편에서는 코틀린에서 지원되는 다양한 함수형 프로그래밍 지원 문법과 함수들에 대해서 소개 하고 있다


그 중 이번 리뷰에서는 가장 중요하고 많이 사용되는 부분인 컬렉션 처리 함수와 시퀀스, 스코프 함수에 대해서 중점적으로 다루었다



코틀린은 불필요한 로직을 작성해야 되는 상황을 많은 부분 감소 시켜 훨씬 더 간결하게 코드를 작성할 수 있도록 Java에 비해 훨씬 많은 컬렉션 함수와 스코프 함수들이 지원되고 있다


적재적소에 필요한 함수들을 잘 활용한다면 간결한 코드와 높은 성능의 코드를 아주 손쉽게 작성할 수도 있다


하지만 각 함수에 대한 이해도가 낮은 상태로 무분별하게 사용을 남발하다보면 의도치 않은 오류가 발생하거나 오히려 사용하지 않았을 때보다 낮은 성능의 코드를 작성하게 될 수도 있으므로 반드시 유의하고 각 함수에 대해 충분히 이해하고 사용해야 함을 명심해야 한다



이전 시리즈와 마찬가지로 이번 시리즈도 함수형 프로그래밍을 위해 지원되는 다양한 함수들에 대해 매우 심도있게 다루고 있어 이미 알고 있던 함수들도 잘못 이해하고 있던 부분들을 바로 잡을 수 있었고 잘 사용하지 않아서 몰랐던 함수도 알게 된점도 매우 좋았다


그리고 함수들을 사용할때 주의해야 될 점에 대해서도 잘 모르고 사용하고 있던 부분들이 많아서 많은 도움이 되었고 앞으로 코틀린 개발시 참고 할만한 유용한 정보들이 많아서 개인 적으로는 두번째 시리즈가 첫번째 시리즈보다 더 유용하고 도움이 많이 된 것 같다



두번째 시리즈까지 읽고나서는 앞으로 출간될 다른 시리즈들이 더욱 기대되게 되었고 이 코틀린 아카데미 시리즈가 모두 출간되고 나면 국내 코틀린 개발자들에게 정말 많은 도움을 줄 것이라 확신하게 된 것 같다


​※출판사로부터 책을 무상으로 제공받아 직접 실습해보고 정성껏 작성한 리뷰 입니다


댓글(0) 먼댓글(0) 좋아요(0)
좋아요
북마크하기찜하기 thankstoThanksTo
 
 
 
러스트 웹 개발 - Tokio, Warp, Reqwest를 활용한 웹 애플리케이션 개발!
바스티안 그루버 지음, 장연호 옮김 / 길벗 / 2024년 5월
평점 :
장바구니담기


네이버 블로그 리뷰: https://blog.naver.com/rock1192/223587727852


이 책으로 러스트 웹 개발을 입문하게 되었는데 여타 다른 언어에 비해서는 확실히 웹 개발을 하기에는 조금 어려운 부분들이 있었던 건 사실이다



러스트 언어는 C++을 대체하기 위해 메모리 안정성을 강화하고 개발 편의성을 강화한 시스템 개발용 언어로 메모리 효율성이나 성능면에서 고수준 언어에 비해서는 매우 뛰어난 성능을 자랑한다



다만 러스트 언어는 당연하게도  Garbege Collection 을 가지고 메모리를 알아서 정리해주지는 않으므로 메모리 관리에 어느정도 신경을 써주어야 하는 것은 사실이다


하지만 C++ 언어와 같이 메모리를 해제 해주기 위해 많은 노력을 들일필요는 없다


기본적으로 지원되는 Rustfmt, 클리피 등의 확장 기능들로 러스트는 사전에 문제점을 확인하고 대응할 수 있으며 Cargo.toml 파일을 통한 편리한 패키지 관리와 빌드 설정으로 입맛에 맞도록 개발 할 수 있다는 특징이 있다



러스트 언어를 접한지 이제 고작 2달 정도밖에 되지 않았지만 정말 많은 특징이 있음에도 불구하고 확실히 Java 개발에 익숙한 사용자가 사용하기에 편한 언어는 아닌 것 같다



온전히 원하는 서비스를 개발하기 위해 많은 노력이 들어가는 것은 사실이지만 극한의 메모리 효율과 성능을 위해서는 러스트 언어를 대체할 만한 언어는 많지 않은 것도 사실이다



이 책은 러스트의 기본 문법을 다루고 있지는 않기 때문에 러스트의 기본 문법을 잘 모르는 상태에서 보면 매우 어려울 수 있으므로 이 책을 보기 전에 러스트 공식 가이드(https://doc.rust-kr.org/)를 통해 러스트의 기본 문법을 먼저 한번 살펴보는 것을 추천한다



이 책은 러스트의 기본적인 내용들을 많이 다루고 있지는 않지만 러스트로 웹 개발 서비스를 만들어보는 과정을 단계별로 진행해보면서  러스트의 핵심적인 기능들에 대해서 배우고 직접 실습해볼 수 있게 구성이 되어있다



러스트의 기본 문법을 정확하게 잘 이해하고 있지 않더라도 책을 진행하면서 중요한 부분을 잘 설명해주고 충분히 이해할 수 있도록 예시를 잘 제공하고 있으므로 중요한 내용은 명확하게 이해하고 넘어갈 수 있도록 잘 안내하고 있다



실습 위주로 진행하더라도 설명이 절대 부실하지 않다


책에 수록된 코드 예제와 함께 매우 상세한 설명을 해주고 있으며 기능을 구현하기 위한 여러가지 방법을 보여준다 매우 간단한 방법부터 좀 더 안정적인 방법으로 점진적으로 코드를 변화시키고 정리해나가는 과정을 직접 실습을 통해 익혀나갈 수 있도록 구성이 되어있다



러스트 웹 개발 입문을 위해 첫 걸음을 내딛게 해주는 아주 좋은 책인 것 같아 강력 추천한다



※출판사로부터 책을 무상으로 제공받아 직접 실습해보고 정성껏 작성한 리뷰 입니다


댓글(0) 먼댓글(0) 좋아요(0)
좋아요
북마크하기찜하기 thankstoThanksTo
 
 
 
IT 엔지니어를 위한 AWS 운영의 기본과 노하우 - AWS 운영 초보자를 중급자로 끌어올려 줄 레벨업 가이드
사타케 요이치 외 지음, 서수환 옮김 / 길벗 / 2024년 8월
평점 :
장바구니담기


네이버 블로그 리뷰: https://blog.naver.com/rock1192/223576508911



이 책은 AWS를 사용한 시스템이나 IT 서비스를 안정적이고 지속적으로 제공하는 데 필수적인 AWS 운영 방법을 알려주는 입문서 이다


이 책에서는 EC2, RDS, S3등 AWS의 기본 서비스뿐만 아니라 백업과 복원, 보안 통제, 감사 관련 서비스 등 엔지니어가 꼭 알아야 할 AWS 운영 전반과 운영 노하우를 체계적으로 꼼꼼하게 설명한다


또 실제 업무에 도움이 되고 운영할 때 주목해야 하는 포이늩와 구체적으로 설정하는 방법까지 다양하게 소개한다



여전히 온프레미스 서버를 관리하고 유지하면서 서비스를 운영하는 회사들이 많이 있지만 현재는 클라우드 서버의 엄청난 발전으로 인해 온프레미스 서버를 유지하는 회사 역시 일부 서비스는 클라우드 서버를 활용하여 운영하고 있다


이 책은 클라우드 서비스 중 가장 대표적인 서비스 중의 하나인 AWS 의 기초부터 기본적인 운영 노하우까지 배워볼 수 있도록 구성이 되어 있다



위에서 소개한 내용들은 AWS 에서 아주 기본적으로 사용하는 대표적인 서비스들 중에 하나이다


위에서 소개한 서비스들 외에도 AWS는 현재는 수를 셀수 없을 정도로 많은 서비스들이 존재한다


그리고 해당 서비스들은 국가별로 이용가능 서비스가 조금씩 다를 수도 있지만 대부분의 주요 서비스들은 모든 국가에서 사용이 가능하다



이 책은 AWS의 아주 기본적인 내용도 다루고 있지만 AWS 운영을 위한 계정 관리, 로그 관리, 모니터링, 패치 적용, 백업과 복원, 보안 관리, 감사 준비, 비용 최적화, 아키텍처 소개 까지 정말 많은 내용을 각 서비스 설명과 함께 상세히 다루고 있다



모든 서비스 소개를 온프레미스와 비교하면서 설명해주고 있어 온프레미스 서버 관리자가 AWS 를 처음 사용해보기 위해서 입문하기 위한 책으로 매우 추천하고 싶고 기존에 클라우드 서버의 경험이 없던 엔지니어들이 입문하기에도 매우 좋은 책인 것 같다


댓글(0) 먼댓글(0) 좋아요(0)
좋아요
북마크하기찜하기 thankstoThanksTo
 
 
 
소프트웨어 설계의 정석 - 변화하는 기술 환경에서도 흔들리지 않는 설계의 기본 원칙
요시하라 쇼자부로 지음, 이해영 옮김 / 한빛미디어 / 2024년 9월
평점 :
장바구니담기


네이버 블로그 리뷰: https://blog.naver.com/rock1192/223576283934



이 책은 소프트웨어 개발에 꼭 필요한 설계 원칙과 방법론을 체계적으로 정리한 책이다


설계의 기본 원칙부터 고급 개념까지 폭넓게 다루며 특히 기능 구현에 익숙한 개발자들이 더 나은 설계 역량을 기를 수 있도록 돕는데 중점을 두고 있다



유스케이스 분석과 개념 모델링은 이 책에서 강조하는 중요한 주제 가운데 하나이다


사용자 요구를 시스템 설게에 반영하는 과정을 상세히 설명한다


이는 사용자 중심의 설계를 가능하게 하며 애자일 개발 환경에서도 효과적으로 적용될 수 있다


이러한 기법들은 기능 구현에만 집중하지 않고 전체 시스템을 조망하며 설계하는 능력을 키우는 데 중요한 역할을 한다



이 책은 시스템을 계층별로 나누어 관리하는 방법을 제시하며 시스템의 유연성과 확장성을 극대화할 수 있는 방안을 제공한다


계층화된 아키텍처는 마이크로서비스 아키텍처나 클라우드 기반 시스템에서도 널리 사용되는 접근 방식이다


이 책에서 다루는 설계 원칙은 이러한 최신 기술 트렌드에 맞춰 시스템을 설계하고 유지보수하는데 매우 유익하다



명확한 비즈니스 로직 분리 역시 중요한 주제로 다룬다


이는 코드의 유지보수성을 높이고 가독성을 개선하기 위해 필수적인 요소이다


이 책은 비즈니스 로직을 별도의 계층으로 명확히 분리하고 이를 효과적으로 관리하는 방법을 제시한다


이러한 설계 방식은 클린 코드와 도메인 주도 설계(DDD)와 같은 현대 개발 패러다임에서도 핵심적인 역할을 하며 복잡한 비즈니스 로직을 더욱 쉽게 이해하고 관리할 수 있도록 돕는다



이 책은 초판이 2008년에 출간되었고 개정하여 이번에 다시 출간하게 된 책이지만 여전히 이 책에서 강조하는 것들은 매우 중요하다


결국 소프트웨어 설계의 본질은 크게 변하지 않았다는 것을 의미하는 것 같다


시간이 아무리 많이 흐르고 수많은 신기술이 쏟아지고 새로운 적용 가능한 아키텍처가 나온다고 하더라도 우리가 소프트웨어 설계시 결코 간과하지 말아야할 내용들은 변함이 없다는 것을 다시금 느끼게 되었다



그동안은 소프트웨어 개발방법론에 의해 설계하고 아키텍처를 구성하고 개발을 진행해나갔었지만 소프트웨어 설계에 대해 별도로 공부를 했던적은 없었던 것 같다


경험에 비추어 이 책을 읽다보니 설계편에서 부터 매우 공감이 가는 내용들이 많았던 것 같다


이 책은 구체적인 설계의 종류와 목적 그리고 설계의 방법등등이 매우 잘 정리 되어있었고 많은 부분이 이미 경험했던 부분이라 잘 이해가 되었다



후반부에서는 아키텍처의 종류와 설계 방법 그리고 구체적인 적용 방법들에 대해서 다루고 있는데 내가 잘 알고 있던 부분외에 다른 내용들은 잘 모르고 있어 모호하고 생소했던 부분인데 이 책에서 힌트를 얻을 수 있어서 매우 좋았던 것 같다



그동안은 소프트웨어 설계시 참고할만한 책이 없어서 아쉬웠었는데 앞으로 이 책을 참고할 일이 많을 것 같다


댓글(0) 먼댓글(0) 좋아요(0)
좋아요
북마크하기찜하기 thankstoThanksTo
 
 
 
처음 처음 | 이전 이전 | 1 | 2 | 3 | 4 |다음 다음 | 마지막 마지막