반응형

최근에는 마이크로 서비스라는 단어가 굉장히 빈번하게 사용되고 있다. 클라우드환경이 당연히 여겨지고 거기에 배포하여 운영하는 소프트웨어들이 많아지면서 어플리케이션의 구조를 마이크로서비스로 해야 한다는 이야기는 쉽지않게 찾아볼 수 있다. 

하지만 생각했던것보다 기존 모놀리스 오플리케이션을 마이크로서비스로 전환을 한다는 것은 쉽지않은 일이다. 그리고 온프라미스에서 운영되었던 환경들을 클라우드로 이전하는 것도 많은 것들의 대한 검토가 필수적이다. 그만큼 마이크로서비스는 알아야 되는것도 많고 많은 영역의 지식을 필요로 한다. 어디서부터 공부해야 할지도 막막해진다. 

그림으로 공부하는 마이크로서비스 구조, 이 책은 마이크로서비스에 대한 지식을 습득하기에 좋은 책이다. 마이크로서비스에 대한 배경부터 시작해서 구조, 패턴, 사용되는 기술들이 무엇무엇이 있는지 알수 있다.

특히 이 책의 제목에 있는 "그림으로 공부하는" 에 걸맞게 책에는 각각의 개념을 설명하기 위한 그림들이 많이 있다. 각각의 주제를 설명할 때 마다 기본적으로 구조도는 반드시 포함되어있다고 생각해도 무방할 정도로 그림이 많이 있다. 그래서 내요을 파악하는데 머릿속으로 생각하는 것보다 쉽게 이해할 수 있다. 

물론 이 책을 읽는다고 해서 마이크로서비스에 대해서 다 알수는 없다. 이책에서 설명하는 각 장 하나하나가 자세히 살펴보면 훨씬 더 많은 내용들을 공부해야 하는 경우들이 많다. 그만큼 마이크로 서비스는 복잡하고 광범위한 지식을 필요로 하는 구조이다. 

하지만 이 책으로 기본적인 지식을 습득한후 각각의 내용들에 대해서 좀더 깊게 공부해 본다면 그냥 처음부터 시작하는 것 보다는 나을것이다. 

 

 

728x90
반응형
반응형

우리가 책을 읽다 보면 어떤 책은 잘 읽힌다(?) 라는 느낌을 받는 책이 있다. 그런데 어떤 책은 아무리 집중을 하고 읽어도 내용에 집중을 할수가 없고 이해가 되지 않는 책들도 있다. 개발자로서 코드를 읽다보면 비슷한 느낌을 경험하게 된다. 어떤 코드들은 따라 읽기만 해도 이해가 되는가 하면 어떤 코드들은 아무리 디버거를 걸어봐도 이해가 안되는 코드들이 있다.

수많은 개발자들이 각자의 개성과 경험을 바탕으로 코드를 작성한다. 그렇다 보니 똑같은 기능을 하는 코드이지만 정말 다양한 모습의 코드들을 찾아 볼 수 있다. 그렇다 보니 우리는 자연스럽게 어떤 코드들이 좋은 코드인지, 좋은 코드를 작성하기 위해서는 어떻게 해야되는지 관심을 갖을 수 밖에 없다. 

"좋은 코드, 나쁜 코드" 이 책은 우리가 좋은 코드를 작성하는데 참고할 만한 다양한 내용을 담고 있다. 각각의 기술이나 기법들이 많이 설명되어 있지만 그중에서도 중요한 키워드는 아래 4가지가 아닌가 싶다.

코드의 가독성
코드의 모듈화
코드의 재사용성 및 일반화
테스트 용이성 및 적절한 테스트

표현은 다르지만 비슷하게 책 표지에도 나와있다. "읽기 쉽고, 기억하기 쉽고, 적용하기 쉬운 코드".  결국 코드의 가독성을 위해서는 모듈화가 필요하고, 모듈화를 하면 재사용성이 높아지고, 일반화를 해야 한다. 그리고 이렇게 모듈화된 코드들은 단위 테스트를 하기도 쉬워진다. 꼬리에 꼬리를 무는것처럼 선순환 구조인 것이다. 반대로 말하면 하나가 잘못되기 시작하면 모든것이 꼬이게 된다. 

이 책은 크게 3가지 파트로 나뉜다. 이론, 실전, 테스트.

이론 부분에서는 좋은 코드를 만들기 위해서 필요한 사전 지식들을 알려준다.

두번째 파트는 이 책의 핵심인 실전파트이다. 실전 파트이다 보니 코드로 설명해주는 양이 점점 많아진다. 그렇기 때문에 코드에 대한 지식이, 특히 자바 기반 지식이 있으면 이해하는데 도움이 될 것이다. 

그리고 이 책을 읽으면서 좋았던 점은 여러가지 문제들을 제시하고 해결책에 대해서 제시해주는 설명 방법이있다. 여러가지 케이스들이 있다보니 실제 코드를 작성할때 알아 두면 좋은 기법들이 많이 있었다. 읽으면서도 이런것 까지 생각을 해야 하는 구나 라는 것들이 많이 있었다. 

마지막으로는 테스트이다. 여러가지 종류의 단위 테스트에 대해서 설명을 해준다. 테스트 부분에서는 기법도 기법이지만 테스트에 대한 철학이 어떻해야 한다라는 내용들이 더 많았던것 같다. 테스트를 해야 되는 부분이 무엇이고 테스트 코드를 작성할 때에는 어떤것에 더 집중을 해야 하는지에 대한 설명이 많았다. 

코드를 작성하는 개발자들은 코드로 대화를 한다. 그렇기 때문에 작성된 코드를 잘 읽을 수 있어야 하고, 또 잘 읽을 수 있도록 작성을 해야 한다. 말은 쉽지만 결코 쉽지 않다. 하지만 이 책에 나와 있는 내용들을 이해하고 기억하고 있다면 충분히 도움이 될 것이다. 

 

728x90
반응형

+ Recent posts