리눅스 입문자를 위한 명령어 사전 - 우분투, 데비안, CentOS, 페도라 대응
가와구치 히로시.다야 후미히코.미사와 아키라 지음, 서수환 옮김 / 한빛미디어 / 2021년 7월
평점 :
장바구니담기




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


명령어는 현업 개발자가 생각하는 기본 지식중에 하나라는 말이 있는 만큼 중요한 부분중에 하나이다. 즉 개발자라면 필수적으로 얕게든 깊게든 알아야할 부분이 리눅스 명령어이다. 이 책은 그런 리눅스 명령어를 처음 접하는 사람들이 어렵지 않게 따라할 수 있도록 쓰여져 있는 책이다. 


책 제목처럼 리눅스 입문자를 위한 서적이라 그런지 내용은 어렵지 않게 읽어나갈 수 있다. 하지만 생각해보면 리눅스 명령어에 대한 지식은 이 책 정도만 있어도 되지 않나 싶다. 결국 명령어를 잘 쓰는 것도 익숙해져야 하는 부분이기 때문에 기초적인 지식은 충분히 담아두고 있는 것 같다. 다만, 이미 실무를 접하고 있다면 쉽게 느껴질 것이라고 생각한다. 그래도 한번쯤 훝어보기에는 나쁘지 않았던 것 같다.


이 책은 처음부터 끝까지 리눅스 명령어를 얕게 설명하고 넘어가는 책이다. 1챕터에서는 login, logout, man, shutdownn 등의 명령어를 2챕터에서는 ls, cat, cp, mv 등의 파일 관련 명령어, 3챕터에서는 fg, bg, ps, kill 등의 프로세스 관련 명령어, 4챕터는 whoami, passwd 등 사용자관련 명령어, chmod, chownn, gzip, tar 등 파일에 관련한 또 다른 명령어 등 계속해서 명령어를 설명하고 한두줄의 실습과 함께 간단하게 넘어간다. 책 내용 더 설명할 필요는 없을 것 같다. 이야기한것과 구성이 내용 끝까지 크게 달라지지 않으며 책 제목의 "사전" 이라는 말이 어울리는 것 같다. 추후에 목차를 보고 레퍼런스 용도로 찾아보기에 좋을 것 같다.


작성자의 경우에 보았을 때, 챕터10 의 파일시스템을 제외하고는 실무에서도 많이 사용하는 명령어가 아닌가 싶다. 특히 배포자동화, 서버 모니터링, 자동화 스크립트 등을 짜기 위해서는 리눅스 명령어를 기본적으로 알아야 사용할 수 있기 때문이다. 특히 챕터9의 네트워크 관련 명령어(ssh, telnet, ping 등)는 하루에도 몇번씩 쳐보는 명령어인것 같다. 다만, 개인적으로는 파일시스템을 직접 다뤄본적은 없어서 들어본적은 있어도 실제로 써본적은 없었던 것 같다.


개인적으로는 이 책을 읽은 이후 같은 출판사의 유닉스 리눅스 셸 스크립트 예제 사전 을 함께 읽을 것을 추천한다. "리눅스 명령어와 shell 을 가지고 실제로 실무에서 어떻게 자동화를 할 수 있을까?" 등과 같은 작성자와 같은 의문점이 들 수 있는데 이 책은 예제문제가 많을 뿐 아니라 따라치는 재미도 있기 때문에 질리지 않고 끝까지 읽을 수 있을 것이다.


내용 자체는 쉽게쉽게 쓰여 있어서 만족스럽지만서도 그래도 쉽기 때문에 실제 현업에서 명령어에 익숙한 개발자보다는 이제 개발을 시작해야 하는데 리눅스 명령어를 잘 모른다던가하는 분들이 읽으면 좋을 듯 싶다.


댓글(0) 먼댓글(0) 좋아요(0)
좋아요
북마크하기찜하기 thankstoThanksTo
 
 
 
머신러닝을 활용한 웹 최적화 - A/B 테스트, 메타휴리스틱, 슬롯머신 알고리즘에서 베이즈 최적화까지
이쓰카 슈헤이 지음, 김연수 옮김 / 한빛미디어 / 2021년 6월
평점 :
장바구니담기




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


비즈니스를 하다보면 중요하면서도 관심있는 부분중 하나가 웹 최적화(ex> AB 테스트) 일 것이다. 이 책이 그 부분에 대해서 짚어주고 있으며 머신러닝을 배웠던 사람들이 흔히 접해봤을 법한 알고리즘을 활용해서 웹 화면에 어떻게 녹여낼 수 있을까를 알려주는 책이다.


책을 읽다보면 이미 많은 알고리즘을 공부해본 사람들은 쉽게쉽게 읽을 수 있지 않을까 싶다. 하지만 대부분의 일반적인 머신러닝 책들이 타이타닉, 붓꽃품종 등에 대한 기본적인 예시를 들면서 알고리즘에 초점을 맞추고 있다면 이 책은 웹 최적화에 대한 예시를 들어가면서 설명한다. 간단하게 말하자면 다른 머신러닝에서 설명하는 같은 알고리즘(베이즈정리, 샘플링 기법들, 가우스커널, 정규화 등)에 대해서 설명하지만 예시가 웹 최적화라고 샌각하면 된다.


처음 챕터에서는 AB테스트, 즉 A 안과 B 안중에 어느 것이 좋은가를 베이즈정리를 활용해서 알려준다. 이미 알고 있는 사람들도 많겠지만 작성자의 경우 이 일은 회사에서 하고 있지 않기 때문에 다시 한번 상기시키면서 읽는데 도움이 되었다. 그리고 이 챕터에서 사용하지 않지만 참고로 알려주는 베타분포는 뒷장에서 이어서 계속 나오니 참고라고 생각하면 안되고 한번 읽어봐야 한다. 1장에서는 click vs non-click 을 비교했다면 2장에서는 조금 확장해서 리뷰점수와 같이 여러 요소가 있는 경우에 대해서 설명한다. 그 후 3장에서는 A 안 B 안은 각각 두가지의 요소로 섞여 있는데 이 요소 중 어떤 요소가 좋은지에 대해서 설명한다. 결국 2 x 2, 그 이상의 차원에서는 어떻게 선택해야 하는가에 대한 이야기이다. 


4장은 조금 쉬어가는 페이지로 hill climbing 알고리즘, 유전자 알고리즘에 대해서 설명해준다. 확실히 통계적인 설명이 적게 들어가서 그런지 개인적으로는 가장 이해하기 쉬운 챕터였던 것 같다.


5장, 6장은 1장,3장 을 확장한 개념이다 5장에서는 A 안과 B 안을 따로 보여주는데 B 안이 더 좋다면 A 안을 보여준 고객을 잃는 것 아니냐? 는 의문에서 시작해서 그러면 테스트할때마다 최적화해서 B 안을 더 보여주게끔 하는 방법을 설명해준다. 이제 여기서 많이 들어봤던 소프트맥스 샘플링, 톰슨샘플링 기법 등에 대해서 설명해준다. 6장은 여기서 3장을 합친 개념(요소가 많다.)을 설명해준다. 그리고 7장에서는 이제 연속적인 값들에 대해서 설명하면서 가우스커널 등에 대해서 설명해주고 8장에서는 마무리를 짓게 된다.


머신러닝 책을 이것저것 읽어보긴 했지만 평상시에 봐왔던 예시가 아닌 실제적으로 작성자가 관심있는 부분에 대해서 알려주니 흥미있게 읽을 수 있었던 것 같다. 하지만 개인적으로 생각해봤을때는 전문가라면 기초적인 이야기가 아닌가 싶은 느낌이 들었다. 결국 심화된 알고리즘을 알려주는 것이 아니라 기본적인 부분들을 활용해서 예시에 적용하는 방법을 알려주고 있기 때문이다.


그래서 전문가보다는 작성자처럼 웹 최적화에 대해서 궁금한 사람들에게 추천하고 싶다.




댓글(0) 먼댓글(0) 좋아요(0)
좋아요
북마크하기찜하기 thankstoThanksTo
 
 
 
파이썬으로 살펴보는 아키텍처 패턴 - TDD, DDD, EDM 적용하기
해리 J.W. 퍼시벌 & 밥 그레고리 지음, 오현석 옮김 / 한빛미디어 / 2021년 6월
평점 :
장바구니담기




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


이것저것 어플리케이션을 개발하다 보면 클린아키텍처, DDD, Onion 아키텍처 등등 많은 개발 아키텍처 패턴에 대해 관심을 가지게 된다. 하지만 개인적으로 읽었었던 글 중에서는 MS docs 에 있는 .NET 마이크로 서비스: 컨테이너화된 .NET 애플리케이션을 위한 아키텍처 가 가장 쉽게 와닿았었던 것 같다. 이 책 또한 .Net 문서와 비슷한 아미텍처 패턴에 대해서 알려주고 있는 책이다. 문서와 다른 점은 일단 이 책은 마이크로서비스에 관한 이야기는 아니고 파이썬으로 되어 있다는 점이 아닐까 싶다.


머리속에는 DDD, TDD, EDA, CQRS, UOW, 등등 패턴과 아키텍처가 섞여서 이해하게 되고, 이걸 적용할 때는 어떤 방식으로 적용해야 하나 항상 고민했었는데 책을 읽고난 후에는 이렇게 머리에 난잡하게 있던 개념들이 정리되는 느낌을 받았다. 결로적으로는 실제로 어떻게 적용하는지가 중요한데 이 책에서는 직접적으로 예시를 들면서, 리펙토링을 해가며 개념들을 하나씩 적용해 나가는 부분이 마음에 들었다.


이 책은 목차만 보아도 무엇을 이야기하는지 정확하게 적혀 있다. Part1 에서는 1장의 도메인 모델링, 2장의 Repository 패턴, 4장의 Application Service 계층, 5장에서 테스트는 어떻게 하는 것이 좋을지, 6장의 UOW 패턴 등 어디선가 들어봤고 적용하고 있는 부분들에 대해서 알려주고 있다. 마지막에는 Aggregate 과 Bounded Context 에 대해서 간단하게 알려주면서 끝이 난다.


그 뒤 Part2 에서는 EDA 와 관련해서 알려주는데 8, 9장은 domain event 와 관련된 이야기, 10장은 command event, 11장은 Integration Event, 12장은 CQRS 관련해서 이야기한다. 그리고 이렇게 이벤트 핸들러들이 늘어났을 경우 의존성 주입을 하지 않으면 불편한 점들이 야기되는데 이를 위한 DI 에 대해서 알려주고 있다.


특히 부록도 마음에 들었었는데 부록B 에서는 초반에 개발할때 고민하게 되는 프로젝트 구조를 어떻게 짜면 좋을지에 대한 이야기로 시작, 부록C 는 추상화를 할 경우 infrastructure 를 어떻게 쉽게 갈아끼울 수 있는지에 대한 이야기, 부록D 는 장고와 같은 full framework 에서 어떤 방식으로 domain 모델을 프레임워크에 종속적이지 않게 만들 것인지에 대해 이야기해준다. 그리고 부록E 는 처음접해봤었는데 작성자의 경우에도 궁금했던 부분들에 대한 이야기였다. 검증을 어디서 해야하고 이는 어떤 layer 에 들어갈까 하는 부분이다.


이 책은 어려운 개념이 많이 들어있기 보다는 실무에서 어떻게 사용하면 좋을지에 대한 실무에 가까운 책인 것 같다. 하지만 개인적으로 생각해 보았을 때 DDD, EDA, TDD 등을 완전히 처음 접해본다 하면 개념을 좀 더 찾아보고 읽기를 권유하고 싶다. 개념에 대해서 간단하게 이해할 수 있을 정도로만 설명하고 넘어가고 코드 위주로 설명하기 때문에 개념을 이해하지 못한다면 왜 이렇게 사용하는지 이해가 잘 안될수도 있을 것 같았기 때문이다.


결론적으로 전체적으로 어플리케이션 아키텍처 패턴을 정리하고 싶은 분들은 이 책을 구매해서 읽어보는 것을 추천하고 싶다.


댓글(0) 먼댓글(0) 좋아요(0)
좋아요
북마크하기찜하기 thankstoThanksTo
 
 
 
스파크를 활용한 실시간 처리 - 실시간 데이터 처리를 위한 고수준 스트리밍 API 마스터하기
제러드 마스.프랑수아 가릴로 지음, 김인범 옮김 / 한빛미디어 / 2021년 4월
평점 :
장바구니담기




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


빅데이터의 시대에 맞춰서 데이터 플랫폼은 계속해서 발전해나가고 있다. 그 중에서도 스파크는 대량의 스트림 처리를 지원하는 가장 유명한 듯 싶고 사실상 표준으로 성장한 것 같다. 스파크는 데이터분석 등 스트림 말고 다른 기능들도 제공하는데 이 책은 그 중에서도 정확히 스트림 처리와 관련된 부분만을 다루고 있는 책이다. 그래서 만약 작성자처럼 스파크 경험이 없다면 읽는 데 어려움을 겪을 지도 모르겠다. 개인적으로 추후에 다른 스파크 기본서를 읽고 다시 봐야 겠다는 생각이 들었다. 


초반에는 혹시나 스파크를 아직 잘 이해하지 못하는 사람들을 위해서 용어, 스트리밍 처리 모델, 아키텍처 등에 대해서 설명해준다. 하지만 초반부에서 "스파크를 어느정도 사용할 줄 아는 사람들을 위한 책" 이라는 말에 맞게 간략하게만 설명하고 넘어간다. 만약 작성자가 스파크를 다루던 사람이라면 짧게 넘어가는 부분이 마음에 들었을 것 같다는 생각이 들었다.


그 이후부터는 이 책에서 중점적으로 다루려고 하는 "구조적 스트리밍", "스파크 스트리밍" 에 대해서 자세히 다루기 시작한다. 우선 구조적 스트리밍 파트에서는 이에 대한 기초적인 설명으로 시작해서 이벤트 기반의 스트리밍, 모니터링 그리고 아직 릴리즈라기보단 실험적인 영역에 있는 기능들까지 설명해준다. 그 후 스파크 스트리밍 파트에서는 비슷하게 기초부터 시작해서 모니터링, 성능튜닝까지 이야기 해준다. 

마지막장에서는 머신러닝을 사용할 수 있도록 약간 맛보기 설명이 있다.


개인적으로 이 책을 읽으면서 다른 스파크 책을 우선적으로 학습하고 이 책을 읽었으면 어땠을까 하는 생각도 들었다. 스파크는 실무에서 거의(아예) 써본적이 없어서 이 책의 난이도가 어디에 맞는지는 정확하게 모르겠다. 하지만 스파크 컴포넌트 중에서 두 가지 컴포넌트(구조적 스트리밍, 스파크 스트리밍)만을 상세하게 다룬 책이라 다른 책과 비교했을 때 강점이 있지 않을까 싶다.


작성자에게는 약간 어렵게 다가오기는 했지만 그래도 여러 기술 배우는 것을 좋아하는 개발자들에게는 한번 쯤 읽어봐도 좋을 것 같다.


댓글(0) 먼댓글(0) 좋아요(0)
좋아요
북마크하기찜하기 thankstoThanksTo
 
 
 
클라우드 네이티브 - 클라우드 네이티브 애플리케이션을 설계, 개발, 운영하는 핵심 가이드
보리스 숄.트렌트 스완슨.피터 야우쇼베츠 지음, 정원천 옮김 / 한빛미디어 / 2020년 6월
평점 :
장바구니담기




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


요즘 대부분의 스타트업들은 클라우드 네이티브 환경으로 인프라를 구축하는 것이 대세인 것 같다. 그 이유는 다른 인프라 환경에 비해 그나마 쉽고 빠르게 인프라를 구축할 수 있기 때문일 것이다. 또한 대부분 클라우드 네이티브 환경에서의 MSA 를 구축하게 될텐데 이 책은 그 때 알아야 할 개념들에 대해서 알려주고 있다. 책 자체가 250 페이지 정도로 짧기 때문에 많은 내용이 담겨 있지는 않고 함축적으로 특정 개념들에 대해서 설명해준다.


우선 처음에 클라우드 네이티브를 왜 해야 하는 것인지부터 설명을 하기 시작한다. 모놀로틱부터 마이크로서비스로 가면서 클라우드 네이티브로의 이관은 필수불가결하다는 것을 거의 전제로 시작한다. 하지만 개인적으로는 초반부부터 컨테이너에 대한 이야기를 하면서 그렇게 시작해야 하나 싶기도 했다.


그 후에 클라우드 네이티브 방식으로 애플리케이션을 개발하기 위한 설계, 방식, 패턴 등에 대해서 설명해주는데 장점이라 하면 "쿠버네티스의 구성 방식과 왜 그렇게 이루어져 있는지" 를 이해할 수 있었다는 것이다. 하지만 단점이라면 너무 그쪽으로만 치우쳐 있어서 다른 클라우드 네이티브 애플리케이션 설계는 어떻게 할 수 있을까 하는 의문을 들게 만들었다.


이후에는 이러한 책의 구성에서 빠질 수 없는 데브옵스에 대해서 이야기하고 결국엔 CI/CD 에 대한 이야기를 하게 된다. 그런데 여기서도 대부분의 초점이 쿠버네티스와 연관되어 있어 약간 실망감을 감추기 어려웠었다. (이럴꺼면 그냥 쿠버네티스 책을 읽는게 좋지 않을까 싶기도 했다.)


개인적으로 그나마 마음에 들었던 챕터가 6장, 7장 이였는데 이는 모놀로틱인 레거시에서 마이크로서비스로 어떻게 옮길 것인지, 어떤 패턴을 써야 하는지 언제 옮기는게 괜찮은지 등에 대한 이야기를 해준다.


이번 책은 조금 실망스럽기도 한 책이였다. 이 책이 그냥 쿠버네티스에 대한 이야기를 잘 풀어놓은 책이라는 생각이 많이 들었다. 하지만 그래도 특정 패턴에 대한 지식과 개념에 대해서 알 수 있어서 다행이였다. 개인적으로는 쿠버네티스 외적인 이야기가 좀 더 있었으면 더 와닿지 않았을까 하는 생각이 많이 들었었다. 물론, 클라우드 네이티브라는 것이 특정 프로바이더에 대해, 예를들어 AWS 에 대해 이야기하면 이게 AWS 책인지 아닌지 헤깔리게 될 수도 있을지도 모른다.


이 책은 클라우드 네이티브에 대해서 관심이 있는 사람이 가볍게 읽을 수 있는 책이 아닌가 싶다.




댓글(0) 먼댓글(0) 좋아요(0)
좋아요
북마크하기찜하기 thankstoThanksTo