반응형

대학교를 졸업한 이후로 수학책을 펼쳐본 것이 얼마만인지 모르겠다. 프로그래밍을 하면서, 알고리즘을 공부하면서 항상 수학에 관심은 있었지만 다시 중학교, 고등학교 수학을 다시 살펴보기에는 너무 양이 많다고 생각했다. 공부해보면 재미있지 않을까라는 생각만 몇년째 하고 있는지 모르겠다. 

그런데 이렇게 길벗출판사 개발자 리뷰어에 선정이 되어서 "다시 고등 수학" 이라는 책을 읽어보게 되었다. 

참고로 말하지만 이 책은 내가 아직 다 읽지는 못했다. 수학에 대한 내용이고 증명이 많이 나오다 보니 좀다 잘 이해하고 싶은 마음에 천천히 읽어가고 있다.

이 책은 아래와 같이 고등학교 과정이라고 표시되어있는 부분의 내용들을 총 7장에 걸쳐서 다룬다. 7개의 장은 각각 기하학, 대수학, 해석기하학, 정수론과 수열, 해석학, 확률과 통계, 대학 수학으로 가는 길로 이루어져 있다.

전체 내용이 고등 수학을 다루기는 하지만 그렇다고 중학교에 나오는 수학이 아예 안나오는건 아니다. 필요한 부분에 대해서는 중학교에서 나왔던 수학도 설명을 해주기 때문에 중학교 수학이 기억이 안난다고 걱정할 필요는 없다. 

책의 구성이나 내용의 정리는 눈에 쉽게 들어오도록 구성되어있다. 색깔이나 글자도 과하지 않고 적절한 공간과 큰 그림들이 내용을 이해하는데 많은 도움을 줬다. 앞에서 말한것 처럼 증명에 대한 내용들이 많이 나왔는데 고등학교 다닐때 증명이 나오면 정말 읽기 싫었는데 이 책에서는 왜인지 모르게 읽게 되는 묘한 매력이 있었다. 학교 다녔을때 배웠던 그 느낌과 지금 다시 보는 느낌이 달라서였을까? 어쨌든 수학책 임에도 불구하고 딱딱하지 않으면서 내용을 잘 이해 할수 있도록 내용이 구성된것 같다.

내가 이 책을 읽지만 이 책의 내용들을 언제 써먹을 일이 생길지는 모르겠다. 하지만 그렇게 잘한편은 아니지만 잘하고 싶었던 과목이었던 수학을 지금 다시 만나니 새로웠다. 서점에 가서 고교 문제집을 사거나 하는 노력을 들이지 않아도 충분히 내가 알고 싶었던 내용의 수학을 잘 배울수 있고 다시 생각하게 해주는 재미있는 책이다.

"이 책은 길벗 출판사 개발자 리뷰어에 선정되어서 작성한 리뷰 입니다."

728x90
반응형
반응형

요즘에 한참 클라우드 관련 내용들을 공부하고 도커, 쿠버네티스 에 대한 내용을 보다보니 마이크로 서비스에 대한 내용들을 자주 접하게 되었다. 컨테이너를 사용한 환경에서 어플리케이션을 배포하고 관리 하려면 아무래도 덩치가 큰것 보다는 좀더 작게 모듈화 해서 배포 하는것이 나을 것이다. 어플리케이션의 크기가 작아진다는 것은 간단히 생각해봐도 배포시간이 줄어들고 그렇게 되면 다운 타임 또한 줄어들게 된다. (물론 배포 전략에 따라서 이런 부분들은 없도록 하는게 맞다.) 그래서 나 또한 마이크로 서비스에 대해서 다시 관심을 갖게 되었고 이것저것 책을 찾아보고 읽어보고 있었다. 전부터 관심이 있어서 한번 읽어봐야겠다고 생각은 하고 있었는데 길벗 개발자 리뷰어에 선정되어서 이렇게 책을 접할수 있게 되었다. (베타리더때도 신청을 했었지만 그때에는 선정되지는 못했었다. ^^;)



목차는 아래와 같이 구성이 되어있다.


1장 스프링, 클라우드와 만나다.

2장 스프링 부트로 마이크로 서비스 구축

3장 스프링 클라우드 컨피그 서버로 구성 관리

4장 서비스 디스커버리

5장 나쁜 상황에 대비한 스프링 클라우드와 넷플릭스 히스트릭스의 클라이언트 회복성 패턴

6장 스프링 클라우드와 주울로 서비스 라우팅

7장 마이크로서비스의 보안

8장 스프링 클라우드 스트림을 사용한 이벤트 기반 아키텍처

9장 스프링 클라우드 슬루스와 집킨을 이요한 분산추적

10장 마이크로 서비스의 배포


부록 A 데스크톱에서 클라우스 실행

부록 B OAuth2 그랜트 타입


내가 기존에 알고 있던 내용들은 주로 컨피그 서버나 유레카를 이용한 서비스 디스커버리, 그리고 Zuul 을 사용한 라우팅 정도만 약간 해본 정도였다. 그런데 목차에서 보면 알수 있듯이 그것 이외에 다양한 내용들이 있다. 실패 전략을 통한 복구 패턴(5장), 인증및보안(7장), 그리고 이벤트 처리(8장)가 수록되어있다. 그리고 마이크로서비스 하면 중요하게 생각해야할 모니터링에 대해서 9장에 잘 설명해 주고 있다. 


또 내가 OAuth 2 처음 공부할때에 grant type 이 잘 정의가 안되어서 이해하는데 어려움이 많았었는데 이 내용도 부록을 통해서 설명해주고 있어서 공부하고 있는 입장해서 정말 알찬 구성인것 같다. 



다음은 책 내용을 살펴보자.



코드에 대한 내용과 그 의미들이 코드와 함께 담겨져 있다. 개인적으로 이런 형태의 코드 설명을 좋아하는 편이다. 그냥 종이 위에 코드만 써있는 것보다는 주석 이외에 이렇게 설명을 추가해주면 이해하는데 도움이 많이 된다. 



그리고 내가 읽으면서 가장 맘에 드는 부분이다. 마이크로서비스에 대한 개념과 구성을 거의 빠짐없이 그림으로 설명을 다 해준다. 마이크로 서비스 자체가 작은 단위로 쪼개서 전체 시스템을 구성하기 때문에 머릿속에서 그 큰 그림을 떠올리기는 쉽지가 않다. 어디에서 부터 시작을 해야 할지 막막해질 때도 있다. 그런데 이 책에서 고맙게도 구성, 개념을 알기 쉽게 그림을 통해서 설명을 해준다. 이 부분이 이 책의 가장 큰 장점인것 같다. 


책의 전체적인 내용들을 봤을때에는 초보자들을 위한 책이기 보다는 어느정도 Spring Boot 에 대한 지식을 가지고 있는 개발자에게 도움이 되는 책인것 같다. Spring Boot 에 대한 책이 아니라서 Spring Boot를 모르는 사람이 보기에는 코드부터가 어려울 수 있다. 그래서 Spring Boot 로 개발을 해봐서 코드를 이해하는데에 문제가 없는 분들이 마이크로 서비스를 이해하는데 많은 도움을 줄수 있는 책이라고 생각된다. 



728x90
반응형
반응형


요즘 기업에서 코딩 테스트를 중요시 하다 보니 알고리즘 관련 책들이 많이 나오고 있다. 나도 1년전에 회사에서 진행하는 코딩 자격시험 준비때문에 여러가지 알고리즘 책들을 많이 봤었다. 물론 패스하고 난 후에는 좀 안보긴 했지만. 

그런데 알고리즘 공부를 하다 보면 부딪치는게 있다. 바로 수학이다. 특히 확률, 경우의 수와 같은 내용들은 시험에도 응용해서 자주 나오는 편이었다. 분명 중,고등학교때에 배운 내용인데도 지금은 하나도 생각이 안난다. 그래서 수학 공부를 해불까라는 생각도 자주 했다. 그런데 범위가 넓다보니 뭐부터 시작을 해야할지 좀 막막했었다. 그렇다고 수학의 정석을 처음부터 공부할수도 없는 노릇이다. 


1. 나는 알고리즘 공부를 하고 싶다. 

2. 나는 수학도 공부를 하고 싶다. 단 수학에 대한 인물들에 대해서도 좀 알고 싶다. 


이게 바로 내가 바라는 것이었다. 알고리즘 책을 보면 알고리즘 내용만 나오고 , 수학책을 펴면 수학만 나오고. 아직 그걸 연결 시킬정도의 실력은 안되니 어떻게 해야 할지 난감 했는데 이번에 받은 책이 딱 거기에 부합하는것 같다. 



일단 알고리즘 책이니 알고리즘에 대한 내용이 나오는것은 당연하다. 그런데 이렇게 알고리즘을 수학적으로 설명을 해준다. 수학적이라고 해서 그렇게 난이도가 높지는 않다. 그냥 차분히 읽었을때 분명 이해를 할 수 있을 정도이다. 용어에 대한 정의가 생각이 안나서 찾아 볼 수는 있지만 그래도 책 안에서 모든 내용을 이해할 수 있다. 읽다보면 예전에 중,고등학교때에 배웠던 내용들도 생각이 나면서 재미있다.



그리고 주목할 만한 내용으로는 수학이나 알고리즘에 대한 설명만 있는게 아니라 그것을 만든사람, 또는 관련있는 사람에 대해서 짧게나마 설명을 해준다. 내가 위에서 언급했던 2가지 조건을 딱 충족하는 부분이다. 전에 수학에 대해서 책을 좀 볼까 라고 마음 먹고 책을 좀 찾아봤었는데 보통 인물 도감 같은 느낌의 책들이 많았었다. 그런데 이 책은 이렇게 중간중간 내용을 넣어줘서 책을 좀더 재미있게 읽을 있었다.


알고리즘과 수학에 지식을 동시에 충족 시키고 싶은 분들에게 이 책을 추천해주고 싶다. 





728x90
반응형
반응형


길벗 페이스북에서  진행한 개발자 리뷰어에 선정되어서 좋은 책을 받게 되었다. 여러가지 책들이 있었는데 그중 내가 선택한 책은 "Node.js 마이크로서비스 코딩 공작소" 이다. 우선 선택한 이유는 내가 관심있어 하는 Node.js 와 마이크로 서비스에 대해서 알수 있을 것 같았다. 그리고 약간 두마리 토끼를 한번에 잡아보려는 생각에 선택을 하게 되었다. 


책 표지는 위 사진에서 볼수 있듯이 아주 깔끔하게 되어있다. 요즘 트랜드인가? 라는 생각이 든다. 왜냐하면 요즘 개발 관련 서적들 보면 정말 색감이 좋기 때문이다. 개인적으로는 그런 표지들을 가지고 있는 책들을 좋아한다. 전에도 한번 리뷰에서 쓴적이 있었던 것 같은데 개발 서적들은 코드들이 많이 있어서 딱딱할 수 있기 때문에 책 색깔이라든지 그림들이 좀더 아기자기 하게 넣어주면 책도 잘 읽힐것 같다는 생각을 많이 한다. 



책은 처음 모놀리식 아키텍처부터 시작해서 설계, 구현에 대한 내용을 언급 한 후 마이크로 서비스 화 해가는 내용으로 진행된다. 그리고 내가 목차 앞부분을 찍지 않고 뒷부분을 찍은 이유는 부록 때문이다. 처음에 책을 읽는데 코드는 나오는데 환경에 대한 내용이 없어서 좀 당황했다. 목차를 살펴보니 저렇게 부록으로 환경에 대한 부분이 나와 있었다. 필요한 환경에 대해서 차례대로 설치하면 되니 책에 나오는 코드를 따라 하기전에 한번 봐두는 것이 필요할것 같다. 그리고 저렇게 따로 목차로 뒷쪽에 빠져 있으니 더 찾기도 편한것 같다. 





책 내용 구성을 보면 위와 같이 그림이 많이 들어가 있다. 그리고 읽기에 빡빡하지도 않다. 각 챕터별 내용이 각각 나눠져 있으며 챕터들이 그렇게 장수가 많지 않아서 중간중간 끊어 읽기도 편했다. 프로그래밍 관련 책이지만 그냥 가볍게 읽어도 될 정도인 구성이다. 약간 모호한 표현이긴 하지만 눈에 쉽게 읽히고 읽는데 부담이 적었다. 이건 개인적인 느낌이다. 



코드도 보면 중요한 부분에 색깔로 표시되어 있다. 그리고 코드 내에 간단한 주석이 있고 그 아래 부분에 코드에 대한 내용을 자세히 설명하고 있다. 많은 책들이 이런 형태로 코드와 설명을 표시를 하는데 색깔을 다르게 한것은 좋은 방법인것 같다. 덕분에 좀더 코드를 즐겁게 쓰고 읽을 수 있었다.


그런데 한가지 이책을 읽을때 주의할점(?) 이 있다. 이 책은 내가 생각했던 것처럼 두마리 토끼를 잡을 수 있는 책은 아니다. 책에서도  언급되어 있듯이 이 책은 Node.js에 대한 기본서는 아니다. Node.js에 대한 내용의 이해를 바탕으로 모놀리스 아키텍처와 마이크로 서비스의 차이를 이해하고 그것들을 구현하는데 Node.js를 사용한 책이다. 그렇기 때문에 이책을 통해서 Node.js 의 문법을 배워본다 던지 하는것은 무리일것 같다. 다만 Node.js 에 대한 기초 지식이 있다면 책에서 나오는 소스들을 이해하는데 더 도움이 될것 같다. 




728x90
반응형

+ Recent posts