기획자, PM, CEO를 위한 프로덕트 교과서

 

홍석희 지음

 

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

 

 

2023년 12월

2023 나는 리뷰어다 활동의 열 번째 리뷰

 

벌써 12월이 되었다.

올해의 마지막 리뷰는 기획과 관련된 책이다.

지금까지 개발자로 지내오고 있으나 기획에 관여할 일이 점점 늘어나고 책을 좀 봐야겠다는 생각을 하고 있는 찰나에 좋은 기회가 왔다.

(한빛미디어 감사합니다! 내년에도 잘 부탁해요!!)

 

이 책은 전문 PM 이셨던 분의 책이기 때문에 새로운 시야를 제공해주지 않을까 하는 기대감이 있었다.

프로덕트가 만들어지는 과정을 전반적으로 이해하면서, 각종 노하우까지도 섭렵이 가능한 책이라는 결론이다.

 

"지식은 어느 곳에서나 찾을 수 있지만 실무에 바로 적용하기는 어렵다."

라는 공통된 고민을 바탕으로 책이 시작되었다고 한다.

 

우선 목차를 보자.

1장 사용자 중심계획 : PM이 관여하는 제품 개발의 전반적인 프로세스와 용어 학습

2장 성공하는 제품을 위한 리서치 : 리서치를 통해 시장의 흐름을 조사하고 사용자의 행동과 맥락을 관찰하는 방법

3장 인사이트를 분석하는 데이터 모델링 : 리서치로 수집한 데이터를 통해 실제 제품과 서비스에 적용할 수 있는 인사이트를 도출해 내는 방법

4장 아이데이션을 통한 솔루션 도출과 우선순위 : 인사이트를 기반으로 많은 양의 아이디어를 발산하여 탐색하고 그중 효과가 큰 솔루션 아이디어의 우선순위 세우기, 기획 회의나 워크숍에서 활용할 수 있는 방법론 소개

5장 서비스 기획 A to Z : 실제 제품과 서비스를 개선하는 데 필요한 다양한 도구와 프로세스를 소개

6장 친절한 서비스의 완성, 사용성 테스트 : 구체화환 솔루션을 실제 사용자가 어떻게 인지하는지 관찰 및 분석하는 방법

7장 사용자를 움직이는 실적 심리학 : 사용자의 행동을 유도할 수 있는 다양한 이론과 사례를 통해 기획에 디테일을 더 하는 법

8장 데이터와 논리로 무장하기 : 가설과 실험을 통해 지표를 성장시키는 방법을 학습

부록 A : 프로젝트 매니징을 하는 방법

부록 B : 성장하는 PM이 되기 위해 필요한 학습법과 자료

 

목차가 참 괜찮다.

게다가 부록도 내용이 실하다.

 

PM으로 취업 하고 싶은 분이 봐도 좋은 책이지만, PM과 제대로 소통하고 싶은 디자이너나 개발자에게도 분명히 좋은 책이라는 생각이 든다. 책을 따라가며 프로젝트를 하나 만들어 보면서 실력을 쑥쑥 키워보자.

 

Love Yourself.

마이크로소프트 AI 개발자가 알려주는 GPT 활용 노하우

주한나 지음

 

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

 

 

2023년 8월

2023 나는 리뷰어다 활동의 일곱 번째 리뷰

 

여름의 끝자락에 리뷰할 책은 "챗GPT 개발자 핸드북"이다.

 

요즘 개발자뿐만 아니라 전 분야에서 챗GPT가 굉장히 많이 쓰이고 있다. 그에 따른 폐해도 많이 생기는 것 같지만?

 

기술 발전이 급변하게 이루어지고 있는 시대에 살고 있는 우리들에게 AI란 좀 더 다른 세상의 이야기인 것만 같았다.

머신러닝 딥러닝 이야기는 해도 직접 개발하거나 이용해 보는 것이 아닌 이상 피부로 와닿지는 않았다는 이야기...

 

그런데 chatGPT는 정말 놀라움의 연속이었다.

마치 전문가에게 메신저로 물어보는 것처럼 질문을 하면 사람처럼 대답을 해주는 서비스가 나왔기 때문이다. 게다가 내 말을 너무나 잘 이해하고 답변을 해준다. 마치 사람인 것처럼!

 

이제는 구글 검색보다는 chatGPT에게 먼저 물어볼 만큼 내가 필요로 하는 답에 가깝게 대답을 해준다.

3.0에서만 해도 ? 이었지만, 4.0으로 발전하면서 진짜 쓸모 있는 chatGPT가 된듯한 느낌이다.

 

이런 시대에 살고 있는 우리들이 꼭 갖춰야 할 것이 무엇일까?

chatGPT 같은 서비스를 개발할 수 있다면 너무나도 좋겠지만, 현시점에서는 chatGPT를 더 잘 활용하는 능력이 큰 무기가 될 것이다.

 

이 책은 'chatGPT를 어떻게 쓸 수 있을까'부터 시작한다.

이력서 엔지니어링이나 코딩 인터뷰 준비처럼 와닿는 예시부터 시작해서 개발 업무에서 어떻게 활용하면 좋을지를 설명한다.

테스트 데이터 만들기 같은 시간이 많이 드는 일을 할 때 chatGPT의 도움을 받을 수 있다.

 

책의 구성을 보도록 하자.

 

우선 이 책의 대상자는 개발자이다. 개발자로서 어떻게 사용하면 도움이 되는지의 답을 제공해 줄 수 있는 책이다.

 

실습에 필요한 자료는 아래 주소에서 내려받을 수 있다.

https://github.com/decodingbook 

 

decodingbook - Overview

@Publishing . decodingbook has 4 repositories available. Follow their code on GitHub.

github.com

 

본문 구성은,

1. 챗GPT 골드러시 - 챗GPT의 성공에 따른 MS의 분위기와 지금이 챗GPT **골드러시인 이유

**골드러시 - 상업적 가치가 있는 금이 발견된 지역에 노동자들이 대거 이주하였던 현상

2. 챗GPT 가볍게 시작하기 - 이력서 쓰기, 인터뷰 준비하기, 직장에서 문서와 이메일 쓰기 등 개발자들이 챗GPT를 활용할 수 있는 방법

3. 챗GPT 조련하기 - 챗GPT에게 일 시키는 방법. 프롬프트 엔지니어링 꿀팁

4. GPT로 개발하기 - GPT 기반의 AI 제품 가운데 개발자들이 제일 열광하는 제품이 깃허브 코파일럿. 코파일럿을 사용하여 동료의 코드 이해하기, 주석 자동으로 달기, 테스트 자동으로 쓰기 등을 진행

5. GPT로 AI 어플리케이션 개발하기 - 오픈AI API와 랭체인으로 AI 애플리케이션을 쉽고 빠르게 만들 수 있는 방법, 챗봇 만들기

본문 중 사용 설명서

 

책은 256페이지로 간결한 구성으로 재미있게 되어있다.

 

저자가 본인이 직접 겪은 케이스들로 예제를 구성하였기에 훨씬 더 설득력 있게 와닿는다.

 

chatPGT가 대세인 것, 앞으로 더 대세가 될 것은 자명한 사실인 것 같다.

 

개발자가 좀 더 효율적으로 개발하기 위해서는 charGPT를 잘 이용해야 할 것이다.

너무 의존해서도 안 되겠지만.

 

기본이 되어 있는 개발자라면 chatGPT를 잘 활용해 보자!

 

Love Yourself.

자바와 코틀린으로 만나는 클라우드 네이티브 애플리케이션 구축

 

마크 헤클러 지음

오시영, 서정대 옮김

 

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

 

 

2023년 7월

2023 나는 리뷰어다 활동의 여섯 번째 리뷰

 

뜨거운 여름을 잠시 식혀주는 빗줄기 속에 리뷰할 책은 "처음부터 제대로 배우는 스프링부트(Spring Boot Up & Running)"이다.

 

 

스프링은 대한민국의 웹 개발자 시장에서 굉장히 많은 부분을 차지하고 있는 프레임워크이다.

많은 자바 개발자들이 스프링을 사용하여 웹 개발을 해왔고, 최근에는 코틀린으로 스프링을 사용하며 개발하는 추세이다.

 

그리하여, 스프링과 관련된 도서들은 굉장히 많다.

코드로 배우는 스프링 웹 프로젝트 - 자바 공부를 막 끝낸 개발자 분들이 스프링 입문을 위해 시작하는 책이다.

토비의 스프링 - 스프링을 개발하기 위한 교과서와도 같은 책이다.

등등의 좋은 책들이 너무나 많고, 과연 이 책은 어떤 경쟁력을 갖고 있는지 봐야 할 부분이다.

 

우선 목차를 살펴보자.

CHAPTER 1 스프링 부트
_1.1 스프링 부트의 핵심 기능
_1.2 마치며

CHAPTER 2 도구 선택 및 시작
_2.1 메이븐 vs. 그레이들
_2.2 자바 vs. 코틀린
_2.3 스프링 부트 버전 선택하기
_2.4 스프링 이니셜라이저
_2.5 스프링 부트 CLI 거침없이 사용하기
_2.6 통합 개발 환경(IDE) 사용하기
_2.7 main()을 향한 여정
_2.8 마치며

CHAPTER 3 첫 번째 REST API
_3.1 API를 왜 사용하고 어떻게 사용할까요?
_3.2 REST가 무엇이며, 왜 중요할까요?
_3.3 API, HTTP 메서드 스타일
_3.4 GET으로 시작하기
_3.5 믿으라, 그러나 검증하라
_3.6 마치며

CHAPTER 4 데이터베이스 액세스
_4.1 DB 액세스를 위한 자동 설정 프라이밍
_4.2 앞으로 얻게 될 것
_4.3 데이터 저장과 조회
_4.4 추가적으로 다듬기
_4.5 마치며

CHAPTER 5 애플리케이션 설정과 검사
_5.1 애플리케이션 설정
_5.2 자동 설정 리포트
_5.3 액추에이터
_5.4 마치며

CHAPTER 6 데이터 파고들기
_6.1 엔티티 정의
_6.2 템플릿 지원
_6.3 저장소 지원
_6.4 @Before
_6.5 레디스로 템플릿 기반 서비스 생성하기
_6.6 템플릿에서 repository로 변환하기
_6.7 JPA로 repository 기반 서비스 만들기
_6.8 NoSQL 도큐먼트 데이터베이스를 사용해 repository 기반 서비스 만들기
_6.9 NoSQL 그래프 데이터베이스를 사용해 repository 기반 서비스 만들기
_6.10 마치며

CHAPTER 7 스프링 MVC로 만드는 애플리케이션
_7.1 스프링 MVC는 무엇을 의미할까요?
_7.2 템플릿 엔진으로 사용자와 상호작용하기
_7.3 메시지 전달
_7.4 웹소켓으로 대화(conversation) 생성하기
_7.5 마치며

CHAPTER 8 프로젝트 리액터와 스프링 웹플럭스를 사용한 리액티브 프로그래밍
_8.1 리액티브 프로그래밍
_8.2 프로젝트 리액터
_8.3 톰캣 vs. 네티
_8.4 리액티브 데이터 액세스
_8.5 리액티브 Thymeleaf
_8.6 완전한 리액티브 프로세스 간 통신을 위한 RSocket
_8.7 마치며

CHAPTER 9 프로덕션을 위한 애플리케이션 테스트
_9.1 단위 테스트
_9.2 @SpringBootTest
_9.3 슬라이스 테스트
_9.4 마치며

CHAPTER 10 애플리케이션 보안
_10.1 인증 및 인가 부여
_10.2 스프링 시큐리티 살펴보기
_10.3 스프링 시큐리티로 폼 기반 인증 및 인가 구현
_10.4 인증 및 인가를 위한 OIDC와 OAuth2 구현
_10.5 마치며

CHAPTER 11 애플리케이션 배포
_11.1 실행 가능한 JAR
_11.2 JAR 확장
_11.3 컨테이너에 스프링 부트 애플리케이션 배포하기
_11.4 스프링 부트 애플리케이션 검사를 위한 유틸리티 컨테이너 이미지
_11.5 마치며

CHAPTER 12 리액티브로 더 깊이 들어가기
_12.1 리액티브는 언제 사용할까?
_12.2 리액티브 애플리케이션 테스트
_12.3 리액티브 애플리케이션 진단 및 디버깅
_12.4 마치며
타이틀만 올리고 싶었지만, 세부 목차를 보는 것이 중요하기 때문에 다 넣었다.
 
1장은 스프링 부트의 특징 설명을
2장은 스프링 부트 개발에 들어가기 전에 어떤 언어와 도구를 사용할지를
3장에서 5장은 REST API를 만들고 DB 연결을 하며 자동설정과 어노테이션의 기본을 살펴보고
8장과 12장은 리액트를 다루며 기본 개념을 깊이 있게 파고들고
9장에서는 스프링 부트에서 테스트뿐만이 아닌 테스트에 대한 저자의 관점을 볼 수 있다.
 
대부분의 스프링 책들의 구성과 순서가 비슷하지만 p.380정도의 분량에도 불구하고 있을 건 다 있다.
본 책에 구성 된 내용을 어느 정도 이해하고, 사용할 수 있다면 좋은 백엔드 개발자의 밑거름이 될 것이라 생각된다.
 
chatGPT는 이 책을 이렇게 설명한다.
 
초보자부터 전문가까지 모두가 이해하기 쉽게 작성되고 각 장에 실제로 실행 가능한 코드가 제시되어 개념을 이해하기가 쉽습니다. 게다가 스프링 부트의 기본 개념만이 아니라 클라우드 네이티브 애플리케이션을 구축하는 기술도 설명합니다. 스프링 부트는 기초부터 따라 하면서 학습하게 구성되었지만, 자바나 IDE 환경 설정과 관련된 부분은 선지식을 요합니다.
 
사실, 책을 보면 알겠지만 초보자를 위한 책이라 보기는 좀 어렵다. 어느 정도 자바와 스프링으로 개발한 경험이 있는 개발자가 보기에 좋은 책이라 생각이 된다.

1장을 보면 알겠지만 저자가 스프링 부트에 대한 이해의 깊이가 있다는 것을 알 수 있기에 어쩌면 초보자 분들에게는 어려울 수도 있다.

 

책의 내용을 흡수하기도 쉽지 않겠지만, 내용의 깊이가 있기에 책 외에 다른 레퍼런스들을 찾아가며 공부할 수밖에 없다.

 

그럼에도 불구하고, 굉장히 좋은 책이기에 스프링에 대해 또 다른 책을 갈구하시던 분들이라면 꼭 보시길 추천드린다.

 

Love Yourself.

소스 코드부터 프로덕션 컨테이너까지, 데브옵스의 모든 모범 사례

 

스티븐 친, 멜리사 맥케이, 익스헬 루이츠, 바루크 사도구르스키 지음

정병열 옮김

 

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

 

 

2023년 5월

2023 나는 리뷰어다 활동의 네 번째 리뷰

 

이번에 리뷰할 책은 "자바 개발자를 위한 데브옵스 툴"이다.

 

데브옵스란 무언인가?

```

데브옵스(DevOps)는 소프트웨어의 개발(Development)과 운영(Operations)의 합성어로서, 소프트웨어 개발자와 정보기술 전문가 간의 소통, 협업 및 통합을 강조하는 개발 환경이나 문화를 말한다. 데브옵스는 소프트웨어 개발조직과 운영조직간의 상호 의존적 대응이며 조직이 소프트웨어 제품과 서비스를 빠른 시간에 개발 및 배포하는 것을 목적으로 한다.

```

어렵게 써놓은 것 같지만 쉽게 말하자면 백엔드 개발자 혹은 서버 개발자가 운영에 관여하는 영역을 점차 넓혀가야 한다는 이야기며 현재까지 개발자들의 업무 영역은 개발과 배포까지 커버하고 있다.

 

프론트엔드와 백엔드가 점점 명확하게 구분되어 가는 시기에 데브옵스는 왜 필요한 걸까?

 

클라우드와 데브옵스 기술이 짧은 기간 내에 눈부시게 발전하면서, 개발자의 로컬 코드와 프로덕션 코드의 거리는 점점 더 좁혀지게 되었다.

애자일이 자리 잡아가면서 배포 주기는 점차 짧아지게 되었고, 배포의 자동화는 선택이 아닌 필수가 되었다.

 

운영과의 거리가 가까워지면서 개발과 배포의 라이프 사이클을 정밀하게 관리하게 되면서 이에 필요한 툴의 활용도도 늘어나게 되었다. 데브옵스의 영역마다 혁신적인 툴들이 지속적으로 등장하면서 개발자는 협업, 효율성, 자동화라는 데브옵스의 지향점에 맞추어 선택하여 관리할 수 있게 되었다.

 

하지만 데브옵스가 항상 추앙을 받는 것만은 아니다.

데브옵스의 모호한 정의에 피로감을 호소하며 도리어 개발과 운영의 분리를 역설하는 이도 있다.

이들은 데브옵스 이후 세계는 책임의 분할, SRE, 플랫폼 엔지니어링이 주도권을 쥘 것이라고 한다. 기술적인 면에 집중한 나머지 관계와 협업을 등한시하는 경우가 많기 때문이다. 어설프게 도입을 했다가 실패하는 사례가 많기 때문에 어느 정도 설득력이 있다.

 

그럼에도 불구하고, 데브옵스는 15년 넘게 통용된 용어이며, 개발자를 중심으로 플랫폼을 구축하는 조직이 점점 늘어가고 있다.

개발자의 아이디어를 빠르게 코드와 프로덕션에 반영하고 고객에게 빠르게 선보이기 위한 선택이다.

데브옵스의 구축이 없다면 신속하고 안정적으로 서비스를 제공하고 피드백을 수집하기가 어렵다.

 

이 책은 가장 근본적이면서 실용적인 기술만 잘 정리가 되어 있다.

책이 다루는 주제들은 각각의 라이프 사이클, 복잡도, 성숙도 등이 증가하는 순서로 구성되어 있다.

장마다 이론, 예시, 모범 사례를 골고루 배치하여 독자가 어느 지점에서 시작하든 해당 주제에 충분히 몰입하고 필요한 지식을 얻을 수 있도록 하였다.

 

팀이 오케이를 한다면 같이 스터디를 하고 싶을 정도로 도움이 많이 되는 책이라 생각한다.

다음 스터디는 데브옵스와 함께 해야겠다.

 

Love Yourself.

핀옵스를 위한 최적의 기술 활용부터 운영 노하우까지

엘리 만수르, 야이르 그린 지음

강전희, 정태환 옮김

 

 

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

 

 

2023년 4월

2023 나는 리뷰어다 활동의 세 번째 리뷰

 

이번에 리뷰할 책은 "AWS 비용 최적화 바이블"이다.

최근 클라우드에 대한 관심이 지속적으로 많아지면서 클라우드 엔지니어뿐 아니라 개발자들도 클라우드를 공부하고 활용하고 있다.

하지만 서비스를 제대로 이해하고 워크로드를 분석 설계하여 적용하기까지는 아직 어려움이 많이 있다.

 

이 책은 저가가 만든 KAO 라는 방법론을 바탕으로 지식, 구조, 운영 세 가지를 중점적으로 알아보며, AWS 구성 요소와 요금제를 이해하는데 도움을 주고 있다.

 

그럼 KAO란 무엇인지 먼저 알아보자.

- Knowledge 지식

- Architecture 구조

- Operation 운영

세 가지를 의미한다.

 

지식 : AWS 서비스의 구성 요소와 요금제를 이해하는 것이다. 그리고 활용 사례에 적용할 수 있는 대체 서비스도 이해한다.

구조 : 클라우드 아키텍트가 클라우드 환경을 구성하고 배포하는 방법을 안내한다. AWS에서 어떤 서비스를 어느 리전에서 사용할 것인지, 보안 네트워크를 어떻게 구성하는지, 각 구성 요소가 다른 구성 요소와 상호 작용하는지 등을 의미한다.
(앞서 다룬 지식을 활용하여 클라우드 환경 구조 내에서 적용하는 과정)

운영 : AWS 비용 최적화는 일회성으로 끝나지 않는다. 지속적인 모니터링과 추적, 최적화가 필요하다. 클라우드 사용량과 비용에 대한 모니터링, 추적, 사용 패턴의 이해, 추가적인 최적화 방안등이 필요하다.

(관련 지식과 구조적 이해가 뒷받침되는 지속적인 운영 작업 없이는 비용 최적화를 이룰 수 없다)

 

이 책은 KAO 방법론과 더불어 서비스별로 4개 장과 운영, 요약 등 총 7장으로 구성되어 있다.

각 서비스에 대해서는 '개요, 요금제, 비용 최적화를 위한 모범 사례, 이를 구현한 실제 사용 사례'로 구성되어 혼자 공부하더라도 어렵지 않게 접근할 수 있고 명확한 목표와 방향성으로 큰 도움을 얻을 수 있다.

 

목차를 살펴보자.

1. KAO 방법론

2. 컴퓨팅 서비스

3. 스토리지 서비스

4. 네트워킹 서비스

5. 애플리케이션 계층

6. 운영

7. 요약 : AWS 비용 최적화

 

1장에서는 KAO 방법론에 대해 설명한다. 모든 클라우드 서비스의 비용을 최적화하는 구조화된 접근 방식을 제공하는 것을 목표로 한다.

2~4장에서는 각각 컴퓨팅 서비스, 스토리지 서비스, 네트워킹 서비스에 대해 자세히  알아본다.

- 개요 : 서비스 및 관련 구성 요소를 설명한다. 서비스와 서비스 구성 요소 등에 가장 적합한 사용 사례를 이해하는 데 필요한 지식을 습득할 수 있다.

- 요금제 : 각 서비스에 대한 요금제를 보여주며, 사용자가 갖추어야 할 중요한 통찰력도 추가로 보여준다.

- 비용 최적화를 위한 모범 사례 : 서비스의 특징과 요금제에 대한 이해를 바탕으로 월 청구액을 줄이기 위한 모범 사례를 설명하기 위해 KAP방법론을 적용한다.

- 사용 사례 : 각 주제에서 다루는 모범 사례를 성공적으로 구현한 결과를 보여주는 실제 사용 사례를 보여준다.

5장에서는 애플리케이션 계층을 살펴본다. 기본 인프라와 각 워크로드를 실행하는 데 필요한 리소스양에 영향을 미친다. 제품 및 애플리케이션 개발 팀이 알아야 할 비용 절감을 위한 애플리케이션 모범 사례를 제공한다.

6장에서는 운영에 대해 다루며, 클라우드 비용 최적화 과정은 매일 수행해야 하는 지속적인 작업이다. 지속적인 비용 효과를 보장하기 위해 수행해야 하는 운영 모범 사례를 살펴본다.

7장에서는 AWS 비용 최적화의 실제 프로세스에 대한 논의를 한다. 이 과정에서 책 전반에 걸쳐 논의된 기술에 대한 간결한 요약도 함께 제공한다.

 

이 책은 입증된 기술적인 운영 및 애플리케이션 관련 모범 사례가 많이 수록되어 있고, 모두 고객의 비용뿐만 아니라 자체 클라우드 인프라의 비용을 제어하고 절감하기 위한 노력에서 구현된 실제 모범 사례들이다.

 

4장 네트워킹 서비스

 

각 환경이 다르고 그 나름의 고유한 목적과 제약이 따르는 만큼, 책에서 제공하는 모범 사례는 효과가 있지만 각 권장 사항을 이해하고 자신의 환경과 관련이 있는지 평가할 것을 추천한다.

 

이 책을 통해 AWS를 더욱 쉽게 접하고, 비용 최적화를 통해 안정적인 서비스 운영을 할 수 있을 것이다.

 

Love Yourself.

디자인 시스템에서 개발 전달까지

클레어 정 지음

 

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

 

2023년 3월

2023 나는 리뷰어다 활동의 두 번째 리뷰

 

두 번째 리뷰할 책은 "UX/UI 디자이너를 위한 실무 피그마"이다.

개발자인 본인이 꼭 공부해야 할 책은 아니지만 회사 내에서 협업을 하면서 피그마가 궁금한 적이 많긴 했다.

매번 개발 도서만 보기보다는 가끔은 같이 일하는 동료와의 커뮤니케이션을 위한 책을 보는 것도 좋겠다 생각하는 요즘이다.

 

추천사를 봐도 개발자에게 왜 피그마가 필요한지 언급하는 분들도 계신다.

피그마로 디자인을 처리하는 흐름을 이해하면 프론트에서 어떻게 동작해야 할지에 대한 감이 더 잡힐 것 같다.

 

디자이너와 쉽게 협업을 하고 싶다면? 이 책을 꼭 보도록 하자. 무려 개정판이다!!

 

저자의 말을 인용하자면,

2021년 피그마 콘퍼런스의 테마가 '어떻게 쓸 것인가?' 였다면 2022년의 주제는 '어떻게 협업할 것인가?' 로 넘어갔다.

효율적인 재택 방법에 대한 논의가 많아지면서 피그마가 더욱더 각광받기 시작했다.

 

피그마는 UX/UI 디자인 툴로 시작하였지만 브랜딩, 기획 등 관련된 업종으로 확장되는 추세이다. 이런 트렌드에 따라 개정판에서는 업데이트 내용과 함께 디자이너 외 타 직군에 도움이 될 수 있는 내용을 추가하였다니 너무 고마울 따름이다.

 

이 책은 현업에서의 디자인 시스템과 개발 전달 과정을 자세히 기술하려 노력하고 있다.

1부에서는 피그마 기능 2부에서는 실습 프로젝트를 다루고 있다. 개발자라면 조금 가볍게 읽어 나가면 더 좋을 듯하다.

 

목차로 좀 더 자세히 살펴보자.

목차

Part 1. 피그마 활용하기

Chapter 1 피그마 시작하기

Chapter 2 그래픽 스타일과 라이브러리

Chapter 3 정렬과 레이아웃

Chapter 4 리소스, 컴포넌트, 오토레이아웃

Chapter 5 디자인 시스템과 협업

 

Part 2. 피그마로 디자인하기

Chapter 6 iOS 뉴스 앱

Chapter 7 안드로이드 스포츠 클래스 앱

Chapter 8 반응형 패션 라이브 커머스

Chapter 9 디자인 시스템

Chapter 10 글로벌 NFT 마켓

 

부록 A 개발 전달과 파일 관리

부록 B 단축키와 플러그인

 

피그마 사용법부터 실제 서비스 예제를 통한 제작까지 다루고 있어, 흔히 말하는 기본부터 응용까지 학습이 가능하다.

또한 산뜻한 컬러와 촉감 좋은 종이 재질까지 독자의 기분을 상쾌하게 하니 이보다 더 좋을 수가 없다.

 

책을 깊게 보진 않았지만 전체적인 명칭이나 흐름을 이해하면서 보고 있다.

 

피그마를 배우고자 하시는 모든 분들! 특히나 저와 같이 협업의 중요성을 알고 계신 개발자 분들은 꼭 봤으면 좋겠다.

 

Love Yourself.

코틀린으로 리팩터링하기

덩컨 맥그레거, 냇 프라이스 지음

오현석 옮김

 

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

 

 

2023년 2월

2023 나는 리뷰어다 활동의 첫 번째 리뷰

 

새해 들어 첫 리뷰할 책은 "자바에서 코틀린으로" 이다.

주종목이 자바 스프링인 본인으로서는 미래를 대비해 꼭 필요한 책이라 할 수 있겠지.

그래서 리뷰를 신청하게 되었습니다?

 

2021년 2월에 처음으로 나는 리뷰어다 활동을 시작했는데, 벌써 햇수로 3년째이다.

과연 올해도 리뷰어가 될 수 있을까 싶었는데, 그래도 꾸준히 올린 덕분에 올해도 선정해 주신 것 같다.

(한빛미디어!! 항상 사랑합니다!!)

 

그렇다면 본인의 개발자 경력도 그렇다는 이야기인데... 과연 내가 3년 차 개발자인가 싶다.

 

아무튼. 리뷰를 시작해 보자.

 

"이 책은 코틀린을 써서 컴퓨터 프로그래밍을 짜는 방법을 가르쳐주지 않는다."

 

이 책을 공부하고자 하는 개발자님이시라면 책의 목적이 이렇다는 것을 알아야 한다.

 

이 책은 기존 자바 코드를 코틀린으로 변환하면서 코틀린 언어를 가르쳐주고, 기존 자바와 코딩 지식을 활용해 더 빠르게 코틀린을 채택하고 싶어 하는 자바팀을 위해 고안된 책이다.

 

동기가 충분하고 경험이 많은 자바 개발자는 대부분 코틀린 언어의 기능을 아주 빠르게 배울 수 있다고 저자는 생각하고 있다.

이 책은 코틀린의 장점을 살릴 수 있도록 사고방식과 설계방식을 조정하도록 돕고, 자바식 사고방식의 코드를 코틀린식 사고방식의 코드로 마이그레이션 하는 방법을 보여주는 책이다.

 

책이 어떻게 구성되어 있는지 보자.

전형적인 자바 프로젝트의 몇 가지 측면을 어떻게 개선할 수 있는지를 살펴보며,

'자바의 방식'에서 '코틀린의 방식'으로라는 패턴의 제목으로 정리한다.

 

코틀린을 사용하면 자바에서 사용하기 힘든 접근 방법을 쉽게 쓸 수 있게 하거나 자바에서는 흔히 사용되는 접근 방법을 사용하지 않게 권장함으로써, 여러분의 설계를 실수할 여지가 더 적고, 더 간결하며, 더 도구 사용에 유리한 방향으로 이끌어 준다.

 

결국엔 안전하면서도 두 언어가 섞인 코드 기반을 계속 유지해 나갈 방법을 사용해 점진적으로 자바를 코틀린으로 리팩터링 한다.

 

목차를 정리해 보자.

 

1 소개
2 자바 프로젝트에서 코틀린 프로젝트로
3 자바 클래스에서 코틀린 클래스로
4 옵셔널에서 널이 될 수 있는 타입으로
5 빈에서 값으로
6 자바에서 코틀린 컬렉션으로
7 동작에서 계산으로
8 정적 메서드에서 최상위 함수로
9 다중식 함수에서 단일식 함수로
10 함수에서 확장 함수로
11 메서드에서 프로퍼티로
12 함수에서 연산자로
13 스트림에서 이터러블이나 시퀀스로
14 누적시키는 객체에서 변환으로
15 캡슐화한 컬렉션에서 타입 별명으로
16 인터페이스에서 함수로
17 목에서 맵으로
18 열린 클래스에서 봉인된 클래스로
19 예외 던지기에서 값 반환으로
20 I/O 수행에서 데이터 전달로
21 예외에서 값으로
22 클래스에서 함수로
23 여행은 계속된다

 

자바의 방식에서 코틀린의 방식으로 라는 패턴의 제목으로 정리되어 있으며, 자바개발자라면 친숙한 용어들이 나열되어 있다.

 

자바에서 코틀린으로 넘어가는 개발자들은 코틀린을 대충 살펴보고는 쉬운 언어라고 생각하고, 코틀린 문법으로 작성한 자바 코드를 작성하기 쉽니다. 하지만 코틀린의 결에 맞게 코드를 작성하면 전통적인 자바 객체 지향 코드보다 더 안전하고, 유지 보수하기 쉽고, 더 간결하면서 보기 좋은 코드를 작성할 수 있다.

 

이 책을 통해, 자바식 사고방식과 다른 코틀린식 사고방식을 접하고 얻어갈 수 있다면 이 책을 읽는 개발자에게 큰 도움이 될 수 있는 책이다.

 

코틀린을 공부하고자 하는 자바 개발자분들이여. 이 책은 꼭 거쳐가도록 하자.

 

코틀린의 결을 얻어 갈 때까지.

 

Love Yourself.

애플리케이션의 배포와 운영을 고려한 7가지 설계 패턴

카순 인드라시리, 스리스칸다라자 수호타얀 지음

박수현 옮김

 

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

 

2022년 12월

2022 나는 리뷰어다 활동의 아홉 번째 리뷰

 

12월에 리뷰할 책은 "클라우드 네이티브 애플리케이션 디자인 패턴"이다.

벌써 2022 나는 리뷰어다 활동도 마지막 12월이 되었다.

 

2022년 한해는 이직후로 굉장히 바쁘게 1년을 보낸 것 같다.

(하지만 지금 또 다시 이직 준비중이다.)

 

더 실력있는 개발자가 되자라고 다짐했었는데 그만큼 노력을 많이 하지 않은 것 같아 후회도 많이 남는 2022년이다.

 

아무튼 리뷰를 시작해보자.

 

우선, 클라우드 네이트브 아키텍처란 무엇일까?

비즈니스 기능별로 독립적인 마이크로서비스들이 느슨하게 결합된 소프트웨어 애플리케이션을 통칭하는 말이다.

각 마이크로서비스는 각각의 실행 환경(퍼블릭, 프라이빗, 하이브리드, 멀티클라우드)에서 실행되며 자동화되고 확장성을 지원하며 탄력적인 관리 및 관찰을 제공한다.

 

클라우드 환경은 민첩함과 신뢰성, 경제성, 확장성이라는 장점 덕분에 클라우드 네이티브 애플리케이션 개발이 점점 더 각광받고 있다. 최근 애플리케이션의 배포 및 운영에 대한 관심이 늘어나면서 기존의 개발 패턴이나 기술을 적용하기는 힘든 상황이 되고 있다.

 

이 책에서는 이런 문제점들을 API와 데이터, 이벤트, 스트림 기반 패턴을 통해 해결해볼 것이다. 이 방법들을 통해 클라우드 네이티브 애플리케이션의 목적에 맞게 설계하고 개발하고 배포할 수 있으며 최소의 비용과 시간, 노력으로 애플리케이션을 관리하고 유지보수 할 수 있다.

 

클라우드와 클라우드를 기반으로 하는 네이티브 애플리케이션은 변화 속도가 굉장히 빠르다.

기존의 상업 애플리케이션 뿐만 아니라 ML, AI와 같이 새롭게 각광 받는 분야의 애플리케이션들 역시 클라우드 기반으로 개발하면서 다양한 도메인들이 클라우드로 쏟아져 들어오는 상황이다.

 

이런 상황에서 개발하고자 하는 애플리케이션에 적합한 구조나 메시지큐, 데이터베이스 등을 선택하는 것조차 매우 어렵다.

 

클라우드 네이티브 애플리케이션은 다양한 디자인 패텬을 통해 구성하고 개발할 수 있다. 이 책에서는 주로 클라우드 네이티브 애플리케이션의 비즈니스 로직을 만들 때 반드시 적용해야 할 개발패턴을 살펴본다.

 

또한, 이 책은 클라우드 네이티브 애플리케이션을 개발하거나, 혹은 기존의 애플리케이션을 클라우드 네이티브로 전환하고자 할 때 어떤 기술 스택을 사용하고 어떤 구조를 사용할 것인지에 대한 전반적인 방향을 제시해 줄 수 있다. AWS나 Azure, GCP와 같은 퍼블릭 클라우드 환경뿐 아니라 온프레미스 환경에서도 사용할 수 있는 다양한 구조와 그에 잘 맞는 소프트웨어 및 애플리케이션을 소개한다.

 

목차를 살펴보자.

 

1장. 클라우드 네이티브란?

2장. 통신 패턴

3장. 연결 및 구성 패턴

4장. 데이터 관리 패턴

5장. 이벤트 기반 아키텍처 패턴

6장. 스트림 처리 패턴

7장. API 관리 및 사용 패턴

8장. 실례로 살펴보는 클라우드 네이티브 패턴

 

으로 구성이 되어 있다.

 

애플리케이션의 특성에 따라, 그리고 개발할 때 사용하는 패턴에 따라 배포나 확장성, 보안, 관측, 가능성 구현이 서로 다를 수 있다. 이런 다양한 패턴이 서로 어떤 차이가 있는지, 장단점은 무엇인지 생각하면서 이 책을 보면 좋을것이다.

 

Love Yourself.

클라우드 시대의 코드형 인프라(IaC)와 데브옵스 완벽 가이드

키프 모리스 지음

이동규 옮김

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

 

2022년 9월

2022 나는 리뷰어다 활동의 여덟 번째 리뷰

 

9월에 리뷰할 책은 "코드로 인프라 관리하기"이다.

 

우선 옮긴이가 꼭 전달하고 싶은 책의 일부를 보자

 

"애자일 소프트웨어 개발과 코드형 인프라의 핵심은 변경에 대한 태도를 뒤집는 것이다. 변경을 두려워하거나 변경을 최소화하기보다는 자주 변경함으로써 오류를 예방할 수 있다. 변경을 더 잘하는 유일한 방법은 자주 변경하여 시스템과 프로세스를 지속적으로 개선하는 것이다."

 

저자는 '속도를 빠르게 하여 품질을 향상시키고 품질을 향상시켜 속도를 빠르게 한다'를 강조한다.

가장 높은 수준의 데브옵스란 인프라 코드가 애플리케이션 코드와 결합하여 빠르고 안전하게 변경을 실행하고 언제든지 전체 시스템을 복구할 수 있는 상태라고 생각한다.

 

저자와 옮긴이의 기조를 생각하며 책을 읽어나가야 한다.

 

코드형 인프라라는 용어는 무엇인가?

오래전부터 시스템 관리자는 시스템을 관리하기 위해 스크립트를 사용했고, 코드형 인프라는 데브옵스 움직임과 함께 성장했다. 2009년 애자일 인프라라는 강연에서 코드형 인프라 용어가 사용되었고 이 책에까지 이르고 있다.

 

그럼 이 책의 세 가지 핵심 실행 방법을 보자.

 

1. 모든 것을 코드로 정의한다

2. 코드를 지속적으로 테스트하고 딜리버리 한다

3. 시스템을 작고 간단하게 빌드한다.

 

이 세 가지 실행 방법은 서로를 보강하며, 코드는 변경 관리의 여러 단계에서 추적, 버저닝, 배포를 용이하게 한다. 이를 통해 팀은 더 쉽게 더 작은 부분을 지속적으로 테스트할 수 있는 것이다.

 

이 책의 대상 독자는 소프트웨어 배포와 실행에 필요한 인프라를 프로비저닝하고 관리하는 사람으로 팀에서 엔지니어링, 테스트, 설계, 관리자 역할을 맡은 경우다. 시스템, 인프라 또는 소프트웨어 배포와 실행 관련 배경지식이 필요하며, 인프라 자동화를 위해 코드를 사용하는 클라우드나 가상 인프라에 대한 경험이 있다고 가정한다.

 

결국 이 책은 숙련된 실무자와 팀이 효율적인 방법으로 공통 언어를 만들고 인프라 자동화에 도전하는 과정에서 찾은 해결 방법을 명확하게 설명한다. 이 책을 통해 많은 엔지니어들은 시스템과 프로세스 구현의 밑거름을 얻어갈 수 있을 것이다.

 

Love Yourself.

SRE를 위한 시스템 설계와 구축

헤더 애드킨스, 벳시 바이어, 폴 블랭킨십, 피오트로 레반도프스키, 애나 오프레아, 애덤 스터블필드 지음

장현희 옮김

 

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

 

2022년 8월

2022 나는 리뷰어다 활동의 일곱 번째 리뷰

 

8월에 리뷰할 책은 "SRE를 위한 시스템 설계와 구축"이다.

 

우선 SRE란 무엇인가?

SRE(Secure & Reliable Systems)은 IT 운영에 대한 소프트웨어 엔지니어링 접근 방식이다.

SRE팀은 소프트웨어 툴을 활용하여 시스템을 관리하고, 문제를 해결하고, 운영 태스크를 자동화한다.

기존에 운영 팀이 수동으로 하는 경우가 많았던 태스크를 받아 엔지니어 또는 운영 팀에 넘기고, 엔지니어 또는 운영 팀은 소프트웨어 및 자동화를 사용해 문제를 해결하고 프로덕션 시스템을 관리한다.

 

간단히 SRE에 대해서 알아보았다.

 

이 책은 구글이라는 거대 IT 기업이 지금까지 수많은 서비스를 개발하고 운영해 오면서 터득한 보안과 신뢰성 관련 경험과 지식을 총망라한 책이다. 보안과 신뢰성은 서로 상충하는 부분도 있지만 궁극적으로는 안전하며 안심하고 사용할 수 있는 소프트웨어와 서비스를 제공하기 위해서는 반드시 고려해야 할 필수적인 요소이다.

 

보안과 신뢰성은 현대 소프트웨어 개발에서는 반드시 최우선으로 고려해야 할 요소이다. 이 책은 보안과 신뢰성에 어떤 문제가 발생할 수 있는지 그리고 이를 어떻게 예방하거나 대처할지에 대해 실용적이면서도 현실적인 조언을 제공한다.

 

구글은 거대 IT 기업이기 때문에 여러분들이 몸담고 있는 회사의 규모에 맞지 않는다고 느껴질 수도 있지만, 하나씩 천천히 도입해보면 보안과 신뢰성은 점점 더 견고해질 것이다.

 

책의 구성에 대해서 알아보자.

저자는 먼저 1장과 2장을 읽은 후 그 다음으로 관심이 가는 부분을 읽어보길 권한다.

이 책의 대부분의 장은 다음과 같은 내용으로 구성된 서문이나 실천적인 요약으로 시작한다.

- 문제에 대한 정의

- 각 장이 소개하는 원리와 사례를 적용하기에 적합한 소프트웨어 개발 수명 주기 단계

- 신뢰성과 보안 사이의 교집합 또는 절충

 

이 책은 업계에서 권장 사례로 여기는 많은 도구와 기술을 추천한다. 하지만 모든 것이 독자 여러분의 상황에 적합하지는 않을 것이므로 진행 중인 프로젝트의 요구사항을 평가하고, 프로젝트의 위협 요소에 적합한 솔루션을 설계하기 바란다.

 

본문 중의 인상 깊었던 부분을 살펴보자.

신뢰성과 보안은 시스템 설계의 이머전트 속성이다

전체 서비스를 마이크로서비스 같은 여러 컴포넌트로 나누는 방법을 예로 들고 있는데, 구축 과정에서 발생할 수 있거나 예상해야 하는 리스트에 대한 부분을 여러 컴포넌트로 나누고 있다. 이렇게 많은 설계 목표 간에 균형을 맞추는 일은 어렵다는 설명으로 SRE라는 것이 경험이 많이 필요한 영역이라는 것을 말하며, 그 경험에 대한 부분을 책에서 제공해주기 때문에 관련한 직무를 하고 있거나 하고자 하는 개발자라면 직접적인 도움이 될 책이라 생각된다.

 

아직,

본인에게는 조금 거리가 있는 영역이긴 하나 SRE라는 것을 알고 머릿속에 인지하면서 커리어를 쌓아간다면 목표점이 좀 더 명확해지지 않을까 하는 막연한 기대가 있다.

 

더 열심히 하자.

 

Love Yourself.

+ Recent posts