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

 

AWS가 처음 나왔을때를 생각 해 본다. 온프레미스 서버의 연장선이다. 아니다, 이건 혁신이다. 이렇게 두가지로 이야기가 나뉘었던거같다. 훅자의 의견을 가진 개발자들은 앞다투어 AWS를 공부했고, 활용했다. AWS는 혁신이었다. 그들이 제공해주는 서비스는 개발에만 집중 할 수 있게 만들어 주었고, 버튼 몇번으로 인스턴스가 늘어나고, 프로토타이핑한 코드를 바로 운영서버에 적용시켜보고, 등등 여러가지 일을 할 수 있게 해줬다. 아이러니하게도 이런 AWS의 유용한 기능 덕분에 개발자는 AWS를 공부 할 필요가 없어지게 되었다. 너무 유용하고 다양한 기능을 제공해 주었고, 그 다양하고 유용한 기능들을 잘 활용하기 위해서는 전문가가 필요해졌기 때문이다. 개발자는 더이상 AWS를 공부 할 필요가 없어졌고, AWS는 DEVOPS 엔지니어, 인프라스트럭처 엔지니어같은 전문가들의 영역이 되었다.

 그런데 정말 개발자는 더이상 AWS를 공부 할 필요가 없어졌을까? 아니다. 개발자는 AWS가 제공해주는 서비스를 어떻게 설정하는지, 정책을 어떻게 잡아야하는지 등의 세부사항은 알 필요가 없어졌지만 그래도 어떤기능을 제공하는지, 어떤 정책을 적용할 수 있는지 는 여전히 알고 있어야한다. 결국 시스템을 설계하고 운영하는것은 개발자의 일이기 때문이다. 내가 만들서비스의 특성에 따라 AWS가 제공해주는 기능을 효율적으로 사용하려면 결국 어떤 기능을 제공 해 주는지, 그 한계는 무엇인지 정도는 명확히 알고 있어야한다. 물론 설정은 전문가가 해주겠지만 말이다. 그런 점에서 업무에 바로 쓰는 AWS 입문은 개발자가 AWS를 공부할때 매우 적절한 도서이다. AWS가 제공 해 주는 기능들에 대한 설명도 충분히 들어있고, 직접 사용 해 보면서 장/단점에 대해서도 알려준다. 일단 이 책을 읽어보게된다면 AWS를 사용하는 시스템을 설계할 때 효율적이고, 수월하게 설계를 할 수 있을것이다.

국내에는 많은 AWS관련 서적이 나와있다. 대부분 내용은 대동소이하며 꼭 필요하고 중요한 내용으로 가득 차있다. 솔직한 말로 서점에서 AWS로 검색한 후 아무 책이나 보더라도 AWS를 공부하는 내용에서는 큰 차이가 없을것이다. 그럼에도 불구하고 '업무에 바로 쓰는 AWS입문'을 추천하는 이유가 있다. AWS는 매우 빠른 배포주기를 가지고 많은 업데이트가 일어나는 서비스이다. 때문에 이왕 공부하기 위해선 가급적 최근에 출판된 책을 이용하는것이 유리하다. 또한, 대부분 AWS책은 실습을 도와주기 위한 service UI 캡처 화면이 제공되는데 이 UI도 제법 자주 변경되기 때문에 실습을 따라하는 입장에서 최근에 출판된 도서가 훨씬 편하다. 

이왕 AWS를 공부하거나 훑어볼 생각이라면 '업무에 바로 쓰는 AWS 입문'을 추천한다. 

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

 최근 개발 기초 공부를 다시 하려던 와중에 눈에 띈 책이었습니다. 특히 코딩테스트 연습을 하면 '아는건데 기억이안난다' 라던가 ' 이걸 해결해주는 알고리즘이 있었는데 뭐였더라?' 하는 경우가 많았는데 이책을 통해서 극복 해 볼 수 있을까 해서 책을 선택하게 되었습니다.

결론부터 말하자면 어느정도 극복 되었습니다. 보통 알고리즘이라고 하면 떠오르는 정렬 부터 시작해서 콜렉션, 트리, 그래프 등 알고리즘들으 잘 아루르면서 설명 해 주고 있습니다.  다만 책의 대상독자에게도 말하듯이 처음 알고리즘을 접하시는 분들보단 CS지식이 어느정도 있고 자료구조에서 알고리즘 맛보기정도는 해보신 분들에게 추천드립니다. 

 알고리즘을 설명하면서 거기에 필요한 자료구조도 어느정도 알려주고 있어서 책을 읽을때 굳이 다른 자료를 찾아볼 필요가 없던것도 장점이었습니다. 

 책의 예제코드가 파이썬으로 되어있는데, 파이썬에 익숙하지 않은 저로서는 조금 어려울 뻔 했으나 라인바이라인으로 설명을 잘 해주고있어서 무리 없이 넘어갈 수 있었습니다. 다만 파이썬 코드에 익숙하신 분들이라면 훨씬 더 이해가 쉬웠을거라는 생각이 드네요.

코팅테스트 준비 혹은 저처럼 기본 공부를 한번 더 해야겠다는 생각을 하신 분들에게 추천드릴만한 책입니다.

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

 

TLDR;
 구관이 명관이다. 디자인 패턴 책 중에 이 책이 최고인지는 모르겠지만 상위권에 속하는 책임을 확신한다.

 

헤드퍼스트 디자인패턴. 개발자(혹은 개발자를 지망하는사람)치고 이 책을 모르는 사람이 있을까 싶다. 나 역시 '디자인패턴' 이라는 키워드를 안 이후에 여러 검색과정을 거처서 '헤드퍼스트 디자인패턴'을 구매하고 읽었다. 그게 벌서 10년전 정도이다. 한빛미디어의 나는 리뷰어다 도서중 헤드퍼스트 디자인패턴 개정판이 나왔을때 나는 망설임 없이 바로 신청했다.

 안그래도 디자인패턴 복습을 좀 하고싶었는데 개정판이 나왔다니. 선택을 안할 수 없었다. 내용은 워낙 탄탄하니 말할것도 없긴 하지만 도서 리뷰이다보니 잠시 언급 해 보자면 가장 기본적이고 단순한 패턴부터 시작해서 실무에서 많이 사용하는 패턴으로 점진적으로 나아가는 방식이다. 개발을 좀 해봤다면 초반부분의 패턴들의 예제에서 이상함(비효율성)을 느끼게 되는데 그부분들은 후반에 나오는 패턴에서 개선 할 것이라는 언급이 있기때문에 독자로 하여금 불안함을 생기지 않도록 해 준다.

이번에 책을 다시 읽으면서 가장 좋았던점은 이전 버전의 단점이 보완되었단 점이다. 이전 버전의 경우 책의 구성이 좀 번잡하다는 생각이 들어서 집중하기 약간 어렵단 생각이 들었었다. 물론, 대화형 으로 풀어나간다던가 내용에 나오는 화살표 설명(?) 들이 설명에 많은 도움이 되긴 하지만 당시엔 너무 번잡하다는 생각을 지울 수 없었다. 하지만 이번 개정판에서는 훨씬 정갈하고, 분리된상태로 편집이 되어 있어서 책을 읽는데 집중을 하기가 좋았다. 헤드퍼스트 특유의 설명방식을 잘 살리면서 깔끕하게 정리를 해 준 덕분에 내용상의 차이는 크게 없지만, 훨씬 읽기 좋고 이해하기 좋은 책이 되었다.

디자인 패턴을 처음 공부하기 위한사람이나, 나처럼 복습하기위한 사람 모두에게 아주 추천할만한 책이다. 

 

반응형

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

어디선가 web3.0에 가장 어울리는 언어가 elixir라는 이야기를 들었다. (안타깝게도 이유는 기억나지 않는다). 그래서 이번에 나는 리뷰어다에서 처음 배우는 엘릭서 프로그래밍을 받고 매우 기분이 좋다. elixir는 얼랭(erlang)의 생태계를 계승하는 언어이고 생성된 코드는 EVM(Erlang Virtual Machine)에서 동작하게된다.

엘릭서는 다음과 같은 특징을 가진다.

  • 모든것이 expression이다
  • 메타 프로그래밍을 지원한다.
  • 프로토콜이라는 메카니즘으로 다형성을 지원한다.
  • 엑터모델(메시지 전달방식)을 지원한다
  • 루프 대신 재귀와 고차원 함수를 강조한다.
  • Lazy와 async collections를 지원한다.

대략 위와같은 특징을 가지고있고, 다들 알겠지만 함수형 프로그래밍 언어이다.
위와 같은 특징으로 인하여 발생되는 사항으로는 기존의 프로그래밍언어(주로 객체지향 언어)를 사용할때와는 완전히 다른 사고를 가지고 개발을 진행 해야한다는 것이다.
사실 책을 읽어보기 전 까진 이런 사실도 모르고있었다. 개인적으로는 책의 맨 처음 나오는 할당문 개념에서부터 기존의 코딩 방법과의 차이점을 느꼇고
책에서 이해하기 쉽도록 설명을 해주고 다양한 예시를 보여줘서 그리 어렵지 않게 이해할 수 있었다.

처음배우는 엘릭서 프로그래밍은 새로운 개념, 방식의 언어에 쉽게 적응할 수 있도록 내용을 구성하고있고, 중간 중간 나오는 연습문제가 특히 도움이된다.
책의 구성은 엘릭서의 문법과 더불어 유용한 라이브러리의 사용법, 실제 적용해볼 수 있고, 사용해보기 좋은 프로젝트 예제 등이나와있기에 처음 입문하는 책으로 매우 좋은 구성을 가지고있다.

비단 엘릭서 뿐만 아니라 함수형 프로그래밍이 처음인 개발자라면 처음 배우는 엘릭서 프로그래밍으로 함수형과 엘릭서에 입문을 하는것도 좋은 방법이라는 생각이 든다.

물론 본인이 책한권 읽었다고 엘릭서에 대한 많은것을 알게됐다기보다는 특징과 사용법을 어느정도 알게 된 것 이지만, 이제 기초는 다저진듯하고 재미있는 프로젝트를 구성해봐야겠다.

반응형

[도서리뷰] 파이썬 라이브러리를 활용한 머신러닝(번역개정2판) Introduction to Machine Learning with Python

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

TLDR; 머신러닝에 처음 입문하는 분들에게 추천드립니다. 한권을 읽으면 머신러닝을 경험해 볼 수 있고, 어떤 공부를 해야하는지를 알 수 있습니다. 

개발자라면 누구든, 아니 개발자가 아니더라도 머신러닝이랑 키워드엔 관심이 있을 것이다. 시중엔 머신러닝 입문에 대한 여러가지 책이 나와있고, 많은 책의 종류 만큼 다양한 방식으로 머신러닝에 대해 알려주고 있다. 이론부터 알려주는 책이 있는가 하면 실습부터 하는 책이있고 두가지를 복합적으로 하는 책도있다. 그중 "파이썬 라이브러리를 활용한 머신러닝"은 실습위주의 방식으로 머신러닝을 알려주고 있다. 사이킷 런을 이용해서 기존에 제공되는 학습데이터를 이용한 지도학습 머신러닝을 시작으로 비지도학습과 데이터 전처리, 데이터 표현과 특성공학, 모델 평가와 성능 향상, 알고리즘 체인과 파이프라인, 텍스트 데이터 다루기를 실습해보며, 책을 마무리하며 머신러닝과 관련된 여러 이론, 사이킷런 외의 프레임워크와 패키지, 챙킹, 추천시스템과 그 외 알고리즘, 확률 모델링, 신경망 등 더 공부할 주제에 대해서 알려준다.

 이 책을 한권 읽고 공부한다고 해서 머신러닝에 대한 모든것을 알 수는 없지만 책을 읽고나면 당장 머신러닝을 적용할 능력을 갖추게 될것이고, 머신러닝을 심화학습하기 위해 필요한 컴퓨터공학 / 수학적 이론들에대한 소개를 받기때문에 본격적으로 공부를 시작할 수 있는 가이드로서 좋은 역할을 한다.

 이 책은 머신러닝에 관심이 있는사람 중 이론적인 부분먼저 하기보단 실제 실습을 토해 결과를 보면서 학습하기 원하는 사람에게 추천한다. 

반응형

[도서리뷰] 당당한 디자인 결정을 위한 9가지 방법 Articulation Design Decisions

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

 

TLDR; Articulating을 Architecter로 잘못 읽어서 읽기 시작한 책이지만 일단 읽기 시작하면 지금 나에게 부족한점을 알려주는 책이기에 놓을수가 없었다.

 위에 말씀드린것 처럼 한빛 미디어의 나는 리뷰어다 도서 신청을 할때 Articulating을 Architecter로 잘못 읽어서 신청하게되었습니다. 
책을 배송받고 제목을 읽은 후 무언가 잘못 되었다는것을 알게되었지만 일단 리뷰를 위해 받은 책이니 읽기 시작했습니다.

 저자는 디자이너이며 특히 IT 서비스 디자인과 UX에 관한 업무에 대한 전문가입니다. 다행이도 개발자인 저와 관계가 일부 있는 전문가의 책이기에 읽기 시작하면서 많은 것들이 공감되었습니다. 일반적으로 저는 자기개발을 위한 도서를 읽을때 주로 프로그래밍 서적에 대해서 읽었습니다. 저의 지난 리뷰들을 보면 아시겠지만 시스템 아키텍처, 데이터베이스, 등 새로운 기술 혹은 평소 관심있었던 기술에 대한 책만 읽곤 했었죠. 오랫만에 기술과 관련되지 않은 서적을 읽으니까 부담없이 읽을 수 있어서 좋았습니다.

 비록 기술과 관련된 책은 아니지만 "업무를 진행할때 꼭 가지고 있어야할 스킬들과 마인드셋"에 대해서 말해주는 책 이었습니다. 제목은 '디자인 결정'을 위한 방법 이지만 사실 모든 회사원 특히 IT엽계에 종사하는 직원들이 본다면 업무 효율과 프로젝트 진행에 도움이 되는 책이라는 생각이 듭니다.

 어찌보면 '당연한거 아닌가?' 하는 내용들도 있고, '이런 관점으로 볼 수 도있구나'하는 내용도 있습니다. 전자의 경우는 알고는 있지만 실행하지 못하던 일들을 저자의 경험과 의견으로 알려주면서 실행할 수 있도록 원동력을주고 후자의 경우는 '내가 이걸 왜 지금까지 몰랐지?' 하는 생각이 들게하는 것들 이었습니다.

 책에서 강조하는 내용중 '이해 관계자는 내 분야에 대해서 나만큼 전문가가 아니라는 점을 인지하고있어야한다' 라고 말합니다. 그리고 '프로젝트를 성공적으로 이끌어가기 위해서 나만큼 노력하고있는 다른 분야의 전문가' 라는 점을 상기시켜줍니다. 각자의 역할에 따라 관심을 가지는 부분과 고려하는 부분들이 다르다는것을 알려주고, 그들과 어떻게 의사소통을 해야 하는지에 대해 말해줍니다.

 실제 책을 읽은 후 제가 회의를 하는 방식과 프로젝트를 함께 진행하는 다른 이해관계자들을 대한느 방식도 많이 달라졌습니다. 그러면서 긍정적인 변화를 경험하고있는 중 입니다. 여러 회의 또는 프로젝트 진행 방향 때문에 스트레스를 받으시는 분들은 잠시 머리를 식히면서 이 책을 읽어보시면 분명히 도움이 될 것이라는 생각이 듭니다. 문체도 명료하고 작가의 경험을 잘 설명해주어서 쉽고 빠르게 이해하면서 읽으실 수 있을겁니다. 

 비단 디자이너분들뿐만 아니라 개발자분들, IT업계에 종사하시는 분들이 읽으시면 좋은 책 입니다.

반응형

[도서리뷰] 몽고DB 완벽  가이드[3판] MongoDB The Definitive Guid

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

 

MongoDB 완벽가이드3판

제가 1판과 2판을 보진 못했지만 3판까지 출간된거 보면 기존 버전들도 내용이 괜찮았을거란 생각이 듭니다. 

'실전 예제로 배우는 NoSQL 데이터베이스 기초부터 활용까지' 라는 부제목처럼 예제 위주로 설명이 되어있다.
 몽고DB가 만들어진 배경과 추구하는바 부터 핵심 개념, 용어등 아주 기초적인 부분부터 설명을 시작하며 몽고DB개발에 관한 전반적인 사항에 대해서 다룬다. 샤닝고 ㅏ에플리케이션 / 서버 관리에 대한 내용도 매우 자세하게 다루고 있다.

 리뷰를 위해서 책을 좀 빠르게 읽긴 했지만 느껴진 바는 처음 시작하는사람부터 이미 사용하고 있으면서 좀더 깊은 내용을 원하는 사람까지 모두가 읽기 좋은 책이라는 점이다. 한번 완독을 하여 용어와 개념 등에 대해 숙지한 후 실제로 사용하면서 쿡북 형태로 사용히기도 좋은 책이다.

몽고DB에 대해 관심을 가지고 학습을 시작하는 사람과 이미 사용중인사람 모두에게 추천한다. 

반응형

[도서리뷰] 소프트웨어 아키텍쳐 101 Fundamentals of Software Architecture

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

제목에서 보여진는것 처럼 소프트웨어 아키텍처에 대한 기본부터 알려줍니다. 
아키텍트란 무엇인지, 아키텍트가 아키텍처를 디자인 할 때 고려할 사항들은 무엇인지에 대해 자세히 다루고있고, 중반부로가면 상황에 맞게 필요한 유명한 아키텍처 스타일에 대한 설명이 있습니다.

 이미 아키텍트이신 분 보다는 주니어 혹은 미들급 개발자가 읽으면 좋은 내용입니다. 개발자라면 아키텍트가 어떤 일을 하는지는 막연하게나마 알고 있겠지만 책을 읽어보면 아키텍트 라는 흐릿한 바운더리에 확실한 경계가 생기는 느낌이 듭니다. 그만큼 구체화가 된다는 의미이지요.

모든 개발자는 아키텍트의 역할을 동시에 수행하고 있습니다. 작은 함수 하나를 작성하거나, 리펙토링을 할때도 아키텍처에 대한 고려를 하게 되고, 아키텍트적인 사고를 필요로 합니다. 이책을 통해서 이미 유명한 아키텍처들이 어떤 이유로 디자인 되었고, 어떤 상황에서 사용되고, 어떤 트레이드 오프가 있는지에대해 알 수 있고, 여기서 얻은 지식은 개발을 할때 바로바로 적용 될 것이라는 생각이 듭니다.

아직 학생이신 분들 보다는 이미 현업에서 1~2년정도의 경험을 가지고 계신 개발자 분들에게 추천드립니다. 

반응형

[도서리뷰] 쿠버네티스 모범 사례 Kubernetes Best Practices

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


 

 쿠버네티스 모범 사례는 쿠버네티스에 입문 하기 위한 책은 아닙니다. 쿠버네티스에대해 알아보고, 학습하기시 위한분이라면 다른 책을 통해서 학습하실것을 권해드립니다.  
 쿠버네티스 학습은 이미 완료하셨고, 책 제목 그대로 실무에 적용하기위해서 모범 사례를 학습하고싶으신분, 혹은 내가 배운 것들을 어떻게 적용하면 좋을지 고민하시는분들이 보기에 적합한 내용의 책 입니다. 

사실 저의 경우 이미 쿠버네티스를 이용해서 잘 구성된 서버들을 사용하기만했지, 직접 구성해본적은 없고 쿠버네티스에 대한 지식도 많이 없어서 책을 읽으면서 내용을 이해하기 어려운점이 많았습니다. 

 앞서 말씀드린것 처럼 쿠버네티스에대한 학습이 필요하신분들은 다른 책을 보시는게 좋을거같다는 판단이 들고, 이미 어느정도 학습이 완료되신 분들은 책을 한번 정독하신 후 실제 서비스를 구축하거나 서비스를 변경할때 필요한 내용을 참고하시는 용도로 책을 사용하신다면 매우 좋은 선택이 될거같습니다. 

반응형

[도서리뷰] 밑바닥부터 시작하는 딥러닝2(Deep Learning from Scratch 2)

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

 

책 구매를 위해 서평을 찾아보고 있는 분들에게 하고싶은 말이 있다면 밑바닥부터 시작하는 딥러닝 2는 이전편, '밑바닥부터 시작하는 딥러닝'의 개정판이 아니라는 점이다. 전편이 인공 신경망에 대한 자세한 내용을 다뤘다면 밑바닥부터 시작하는 딥러닝 2는 보다 스코프를 좁혀서 '자연어 처리'에 집중하고있다.  서문에서 저자가 이야기 하듯이 전편을 읽지 않았더라도 딥러닝에 대한 이론적 지식이 있다면 이번 책도 무난히 읽을 수 있을 것이다. 그러나 딥러닝에 대한 지식이 없는 사람은 전편을 먼저 읽을것을 추천하고있다.

물론 첫장에서 딥러닝에 필요한 수학적 지식과 파이썬 라이브러리 사용법 등에 대해 가볍게 짚고 넘어가긴 하지만, 기본 지식 없이 이 내용만으로 책을 이해하기는 어렵다. 이책은 텐서플로같은 프레임워크의 사용법을 배우는 책이 아닌, 딥러닝의 이론과 원리에 대해서 좀더 심도있게 다룬다.(저자는 딥러닝 이론을 상세한 수준까진 담지 않았다고 하였으니 본인이 느끼기엔 그랬다.) 

이미 머신러닝 이론에대한 지식이 있으며, 경험도 있는 사람이 자연어 처리에 대해 공부하고싶은경우 이책을 추천한다. 

하지만 머신러닝에 대한 지식도 없는 상황에서 자연어 처리에 대한 관심만으로 공부를 시작하려는 사람이 보기는 조금 어려울 것 이라고 생각된다. 

반응형

+ Recent posts