ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • 코틀린, 스프링 기반 마이크로서비스 개발을 위해 읽은 책들
    Java 2022. 3. 11. 09:45
    반응형

    약 3개월 전, 새로운 팀에 합류하게 되었습니다.

     

    Kotlin, Spring Webflux, MySQL, Redis, Kafka, GRPC로 이어지는 새로운 기술 스택에 적응하기 위해 많은 자료들을 찾아보게 되었는데요.

     

    이번 글에서는, 적응하기 위해 읽었던 책들 중 추천할만한 책들을 공유해보려고 합니다.

     

    • 추천하는 책들
    • 읽어볼만한 책들

    추천하는 책들

    추천하는 책들은 다뤄주고 있는 내용에 익숙하지 않다면, 50% 이상 정독을 권하는 책들입니다. 

     

     


    Effective Kotlin by Marcin Moskala

    Kotlin의 기초 문법 보다는 실제로 Kotlin을 자주 사용할 때의 best practices들이 담겨 있습니다. Python, Java의 Effective 시리즈와는 다른 출판사에서 출시되었으나, effective 시리즈에서 기대하는 요소들은 충분히 담고 있는 책입니다.

     

    기초 문법을 숙지하더라도, '어떻게 코드를 작성하는 것이 더 좋을까?'라는 질문은 항상 가지게 되는데요. 그런 질문들에 대한 답변이 될 수 있는 내용들로 이뤄져 있습니다. 

     

     

     

     

     

     

     

     

     

    Kotlin Coroutines by Marcin Moskala

    Kotlin을 실제로 사용하다보면 효율적인 코드 작성을 위해 Kotlin의 Coroutine을 살펴보게 됩니다. 특히, 저와 같이 기존에 Java에 익숙하신 분들이라면 조금 새로운 개념이 될 텐데요. 

     

    Kotline Coroutine에서는 coroutine에 관해 단순한 사용법의 차원을 넘어서 내부구조를 자세하게 다뤄주고 있습니다. Coroutine과 연관이 깊은 Kotlin의 suspend 함수와 Continuation 객체 등을 상세한 예시 코드와 같이 다뤄보면서, coroutine 활용에 좀 더 자신감을 가질 수 있었습니다. 

     

    위의 Effective Kotlin와 같이, 실무자에게 필요한 내용들을 깔끔하고 깊게 다뤄주고 있습니다.

     

     

     

     

     

     

    Spring Microservices in Action by John Carnell

    스프링을 통한 마이크로서비스 구축의 실제와 패턴을 잘 기술해주고 있는 책입니다. [2]와 같이 마이크로 서비스에 대한 개념을 다룬 책도 많은데요.

     

    개인적으로 위의 개념서보다는 실제로 구축해보고, 만들어보며 이해할 수 있는 책들이 더욱 빠르게 실무적인 부분들을 습득할 수 있는 것 같습니다. 특히 저는 개념서만 읽다보면 조금은 지루하고, 와닿지 않아 흥미를 유지하기도 어려운 것 같다고 느꼈는데요.

     

     

     

     

     

     

     

    API Security in Action

    서비스를 만들면서 단순하게 Spring에서 잘 만들어둔 Spring Security 라이브러리를 사용하면 기능은 만족하는 경우가 많습니다. 하지만, 해당 기능이 다른 기능과는 어떻게 다른지, 무엇이 더 좋을지, 어떤 컨택스트에서 기술이 탄생되고 진화했는지는 쉽게 이해하기 어려운 경우가 많은데요. 특히, Security와 관련된 부분들은 따로 시간을 투자하지 않고 실무만 하다보면 이해하기가 쉽지 않습니다.

     

    저 역시도 Spring Security가 제공하는 Oauth, JWT Token 등을 사용하면서 전반적으로 Security 관련 기술들을 이해하고 비교할 수 있을만한 기반 지식이 필요하다는 점을 느꼈습니다. 

     

    이 책은 그러한 부분에 대한 폭 넓고 깊은 답이 될 수 있는 책입니다. 간단한 Auth에서부터, 다양한 토큰들과 취약성 그리고 IoT, QR 등에서의 보안까지 다뤄주고 있습니다. 필요한 부분만 정독한 후에도 실무에서 어렴풋이 기억이 나서 찾아보게 되는 책이라고 할 수 있습니다. 

     

     

     

    https://www.amazon.com/Hands-Reactive-Programming-Spring-cloud-ready-ebook/dp/B076QCBXZ2

     

     

    읽어볼만한 책들

    읽어볼만한 책들은, 더 좋은 대안을 못 찾고 빠르게 실무에 써먹을 수 있는 정보들을 얻기 위해 부분 부분 살펴보았던 책들입니다. 개인적으로 처음부터 천천히 정독을 하기에는 가성비가 좋지 않다고 판단하였습니다. 

     

     

    Hands-On Spring Security 5 for Reactive Applications

    Spring Security에 관해서 사용 방법과 같은 부분들을 참고할 수 있는 자료입니다. 깊이 보지는 않고, 목차를 보고 필요한 부분만 조금 참고하는 형태로 사용했던 책이네요.

     

    Reactive Spring Security를 다루는 자료가 많이 없어서 참고하였으나, 더 좋은 대안이 충분히 있을 듯 합니다.

     

     

    The Design of Web APIs

    제목부터 무언가 API 설계에 대한 깊은 경험을 배울 수 있을 것 같아 집어들게 된 책입니다. 기초부터 세세하게, 풍부한 그림으로 전달해주고 있는데요. 개인적으로는 너무 기초 내용만해도 양이 많아서 흥미로운 부분만 살펴보았습니다. 

     

    Learning Concurrency in Kotlin (TBD)

     

     

    Redis In Action

     

    GRPC Up & Running

     

    Learning Concurrency in Kotlin: Build highly efficient and robust applications

     

    그 외는 GoodReads에 평점을 매겨두었습니다.

     

    References

    [1] https://marcinmoskala.com/

    [2] https://www.amazon.com/Building-Microservices-Designing-Fine-Grained-Systems/

    반응형
Kaden Sungbin Cho