
사용자를 위한 API 디자인은 어떻게 설계해야 할까? “일상 속 사물이 알려주는 웹 API 디자인” 책은 실무에서 API 디자인 방법을 설명해 주는 책입니다. 책 저자인 아노드 로렛은 API 전문가로서 이 규격의 잠재력을 이해하기 위해 열심히 노력했고 OpenAPI 규격 표전을 중심으로 혁신적인 도구를 만들어내고 시각화하기도 했습니다. 이 책의 전반적인 내용은 API 디자인을 설계 기초와 사용하기 좋은 API 디자인 설계 및 상황에 맞는 API 디자인 설계로 크게 3가지 주제로 설명하고 있습니다. 1부 API 디자인 기초는 API가 무엇인지, API를 사전에 반드시 디자인을 해야 하는 이유, API 디자인의 본질 내용을 다루고 있습니다. 여기서 API 중점적으로 봐야 할 부분은 API는 사용자 관점에서 ..

협력, 책임, 역할로 바라보는 객체지향 “객체지향의 사실과 오해”은 객체지향 프로그래밍에서 객체가 단순한 클래스가 아닌 역할, 책임, 협력을 가진 자율적인 존재임을 설명하는 책입니다. 저자 조영호는 객체지향 설계와 도메인-주도 설계에 관심이 많으며, 객체지향 책을 두 권 이상 썼습니다. 책에서는 객체가 무엇인지를 역할, 책임, 협력의 관점에서 설명합니다. 객체는 상태, 행동, 식별자를 가진 존재이며, 상태는 스스로 변화해서는 안 되고, 행동에 의해서만 상태를 변경해야 합니다. 결과는 상태에 의존합니다. 객체는 개별적인 존재가 아니라, 객체들 사이의 협력적인 존재임을 강조합니다. 훌륭한 객체지향 설계자는 객체 간의 요청과 응답 속에 협력에 초점을 맞춰 애플리케이션을 설계합니다. 개별적인 객체의 행동이나 상..

구글러가 전하는 개발 이야기 “구글 엔지니어는 이렇게 일한다” 책은 구글에서 일하는 방식과 문화에 대해서 설명해 주는 책입니다. 책 저자는 구글 소프트웨어 엔지니어링에서 인프라와 언어 관련 프로그래밍 가이드를 작성하고 관리하는 업무를 주로 담당했습니다. 책에서는 문화, 도구, 프로세스 주제로 설명하고 있습니다. 문화에서는 구글에서는 팀워크를 어떻게 이끌어 내는지, 지식 공유, 조직 이끌기, 생산성 측정 하기와 같은 구글이 다른 회사와 어떻게 다르게 이 주제를 이끌어 가는지를 설명하고 있습니다. 특히 문화 중 성장하는 조직 이끌기에 보면 일과 삶을 어떻게 분리해서 구글에서 팀원들이 어떻게 에너지를 관리하는지 대해서 자세히 설명하고 있습니다. 도구에서는 버전 관리와 브랜지 관리, 빌드 시스템, 지속적 통합,..

스크럼 마스터 돼 가는 여정 “출근했더니 스크럼 마스터가 된 건에 대하여” 이 책은 스크럼이 무엇인지, 스크럼을 어떻게 적용하면 되는지를 설명해 주는 책입니다. 만약 스크럼을 처음 시작한다면 무엇인지 현장에 적용하면서 어떻게 하면 되는지 전반적인 개요를 책을 통해서 배울 수 있습니다. 저자인 니시무라 나오토는 애자일 개발을 실천하면서 현장에서 애자일이 확산 되도록 돕고 있습니다. 이 책에서 다루는 내용은 스크럼을 시작할 때 역할에 따라 어떻게 해야 할지를 설명합니다. 프로덕트 오너는 제품을 책임을 지는 자, 디벨로퍼는 제품을 만드는 자, 스크럼 마스터는 일이 되기 조율하는 자 등 각자의 역할에 따라 스크럼에서 어떻게 행동하고 계획을 세웁니다. 역할이 정해지면 한 주 혹인 2주 단위로 스프린트 계획을 세웁..

유연하고 유지 보수가 용이한 아키텍처 구축 방법 “만들면서 배우는 클린 아키텍처” 이 책은 전통적인 계층형 아키텍처 스타일을 단점을 지적하고 도메인 중심 아키텍처의 장점을 설명하는 책입니다. 도메인 중심 아키텍처를 어떻게 구현하는지 실습을 보여주고 다양한 계층 간 매핑 전략과 아키텍처의 요소들을 어떻게 애플리케이션에 녹여낼지에 대해서 책을 통해 배울 수 있습니다. 저자인 톰 홈버그는 자바 생태계에서 소프트웨어 개발자, 아키텍트 멘토로 일하면서 소프트웨어 프로젝트에서 마주했던 주제들에 대해서 깊이 파고들고 이 책을 통해서 아키텍처 스타일에 대해서 소개합니다. 이 책의 전반적인 내용은 기존 계층형 아키텍처의 문제점에 대해서 설명합니다. 문제점은 계층형 아키텍처는 데이터베이스 주도 설계에 있다고 합니다. 도메..

왜 도메인 주도 설계는 개발자들이 열광을 하고 있는가? 저자는 도메인 주도 설계가 복잡한 문제를 해결하고 우아한 솔루션을 만들고 신중하게 규칙과 구조를, 행동을 만들어 완전한 새로운 세상을 건설한다고 말합니다. 개발자는 코드를 작성을 합니다. 하지만 코드를 작성하기 전 그것에 바탕이 되는 문제를 이해를 해야 합니다. 여기서 말한 문제는 비즈니스를 이해를 말합니다. 비즈니스 이해의 바탕으로 시스템을 구축을 합니다. 이 과정을 진행하기 전에 우리는 비즈니스 도메인이 무엇인지를 이해해야 합니다. 회사의 서비스가 복잡함에 따라 비즈니스 로직을 이해하지 못하면 회사 서비는 경쟁사와의 중요도 순에서 밀리게 됩니다. 서비스의 하위 도메인의 중요도, 복잡성, 경쟁성을 나누어 어느 지점에 집중을 해야 할지 고민을 해야 ..