소프트웨어 개발의 진주 - 60개의 레슨으로 배우는 소프트웨어 개발의 핵심 지식과 실전 경험
칼 위거스 지음, 심재철 옮김 / 제이펍 / 2024년 3월
평점 :
장바구니담기


총평

- 책의 난이도 : ★★★☆☆

- 추천 별점     : ★★★★★

- 추천 독자     :  기획자 혹은 기획에 관여하는 개발자 등

- 지은이          : 칼 위거스, 캔디스 호캔슨 지음 / 심재철 옮김

- 출판사          : 제이펍


 

오늘은 제이펍에서 제공해주신 책을 리뷰하고자 합니다.

 

총 2권인데 아무래도 기획을 담당하는 분들이 읽기에 가장 적합하다고 생각됩니다. 다만 개발자도 충분히 해당 단계에 상호작용을 하고 관여를 하기 때문에 같이 읽어주면 도움이 될거라고 생각합니다.

또한 개별적으로 애플리케이션을 만드는 사람의 경우 기획이랑 개발을 같이 하기 때문에 기획을 해야하는 사람들이라면 읽기 좋은 실전서가 아닐까 합니다.

 

소프트웨어 요구사항 단계와 개발단계에 대해서 다루는 책입니다. 책이 실무의 예제를 중심으로 나와있기 때문에 훨씬 더 접근하기도 편하고 실제 제공하는 레슨들은 실무적으로 바로바로 적용하기 좋은 것들이기 때문에 자주 읽어보는게 좋을 것 같습니다.

 

 

각 책의 내용

<소프트웨어 개발의 진주> 

이 책에서는 아래 6가지의 소프트웨어 개발 및 관리에 대한 내용을 60가지 레슨을 통해서 소개하고 있습니다.

 

- 요구사항

요구사항 개발의 목적은 명확한 의사소통입니다. 품질은 보는 사람 관점에 따라 다릅니다. 요구사항은 허용 가능한 위험 범위 수준 내여야 합니다. 많은 사람들이 모이면 요구사항의 합의가 어렵습니다. 요구사항 도출은 고객의 음성이 개발자의 귀에 잘 들릴 정도로 가까운 거리여야 합니다.

 

- 설계

최대한 추상화 시켜서 반복하는게 중요하고 사용하기 쉽도록하는게 중요합니다. 힘들게 재코딩하지말고 조금이라도 설계해보려고 해야합니다.

 

- 프로젝트 관리

프로젝트는 항상 냉철하게 관리되어야 합니다. 그래서 마찰이 생길 점을 미리 고려하고, 데이터 기반의 명확한 분석이 필요합니다. 다양한 관점에서 유연성을 가지고 위험을 통제할 수 있어야 합니다.

 

- 문화와 팀워크

지식을 항상 공유하고 발전을 시키려면 교육을 시켜야합니다. 모든 권리의 이면에는 책임이 따른다는 사실을 알아야합니다. 물리적 분리가 의사소통과 협업의 저해를 만들어내지는 않습니다. 

 

- 품질

고품질은 생산성 향상으로 이어지고 소프트웨어를 제대로 구축할 시간이 없지만 나중에 그것을 해결할 수 있는 자원을 찾아야합니다. 

 

- 프로세스 개선

단순히 비즈니스위크를 추종하지 말고 우리의 이득을 먼저 생각하도록 해야 합니다. 올바른 판단과 경험이 때로는 정해진 프로세스보다 우선합니다. 

 

<소프트웨어 요구사항의 정수>

소프트웨어 요구사항의 핵심에서 정의 및 실무 사례 등을 배워봅니다.

기반 마련하기에서 비즈니스 문제를 식별하고 목표를 어떻게 정의할지, 이해당사자의 특성은 무엇인지 확인해봅니다.

- 요구사항 도출에서는 이벤트 및 응답을 식별하고 데이터 개념 및 관계를 평가합니다. 품질 속성을 도출해봅니다.

요구사항 분석에서는 요구사항 모델과 프로토타입을 만들고 우선순위를 지정하는 것을 확인해봅니다.

요구사항 명세에서는 요구사항을 구성하고 비즈니스 규칙을 어떻게 식별하면서 문서화하는지 확인해봅니다.

요구사항 검증에서는 요구사항을 검토하고 테스트 해봅니다.

요구사항 관리에서는 기준선을 설정하고 변경을 어떻게 효과적으로 관리하는지 확인해봅니다.

 

책의 장점

- 각 레슨 별로 생각해볼 문제에 대해서 제시하고 있습니다. 이를 먼저 읽고서 염두한 상태로 본문을 읽으면 좀 더 포인트를 명확하게 확인할 수 있으며, 다 읽고나서 다시 이 부분에 대한 답변을 하면서 내용을 정리해볼 수 있습니다.

 

- 부록에 있는 레슨 요약을 통해서 책의 내용을 한 눈에 볼 수 있습니다. 추후 정리하거나 내용을 복기할 때 유용해 보입니다.

 

 

<소프트웨어 요구사항의 정수>에서는 관련 실무 사례와 다음 단계 항목이 있어 해당 사례에서 중점적으로 봐야할 내용과 생각해볼 내용이 잘 정리되어 있습니다.

 

 

이상으로 책 리뷰를 마치겠습니다. 해당 책은 틈틈히 여러 번 읽어두어야 내용을 적용하고 파악하는데 더 도움이 될 것 같습니다. 만약 특히 기획 직무를 가지고 계신 분이라면 이 책을 꼭 읽어보실 것을 추천드립니다.




댓글(0) 먼댓글(0) 좋아요(0)
좋아요
공유하기 북마크하기찜하기 thankstoThanksTo
 
 
 
함수형 프로그래밍 with 자바 - 함수형 프로그래밍을 적용하여 객체 지향 자바 코드 향상시키기
벤 바이디히 지음, 허귀영 옮김 / 한빛미디어 / 2024년 3월
평점 :
장바구니담기






총평

- 책의 난이도 : ★

- 추천 별점     : ★★★★

- 추천 독자     :  자바를 이미 어느정도 사용하고 알고있는 개발자 중 함수형 프로그래밍을 적용해보고 싶은 분

- 지은이          : 벤 바이디히 지음 / 허귀영 옮김

- 출판사          : 한빛미디어



말그대로 자바를 이용한 함수형 프로그래밍을 어떻게 적용할 것인지를 다루는 책입니다. 자바는 기본적으로 객체지향형 프로그래밍을 지향하고 있습니다. 다만 이는 병렬 처리를 통한 소프트웨어의 수평 확장이 쉽지 않습니다. 만약 문제가 간단하고 서로 관련이 없는 하위 문제로 분할할 수 있는 경우 병렬 처리가 훨씬 효과적입니다. 이 경우 함수형 프로그래밍이 유용하게 사용될 수 있습니다.


이 책을 통해서 저자는 언어를 함수형으로 만드는 다양한 개념들과 JDK에서 제공하는 도구 또는 직접 생성한 도구들을 사용해 자바 코드에 결합하는 방법을 중점으로 설명합니다.



책의 내용

1부에서는 함수형 프로그램이의 핵심 개념과 역사, 자바에서 구현 하는 방법을 배워봅니다.

2부에서는 함수형 원칙에 대해서 알아보고 레코드와 스트림 등의 주요 기능을 예제를 통해 학습합니다.


좀 더 구체적인 내용은 다음과 같습니다.

1장. 함수형 프로그래밍 소개 - 함수형 프로그래밍이 무엇인지, 여기서 쓰이는 개념인 불변성, 재귀 등을 학습합니다.

2장. 함수형 자바 - 람다 문법과 구성, 익명 클래스, 람다 생성 및 호출 방법 등을 학습합니다.

3장. JDK 함수형 인터페이스 - Function, Consumer, Supplier, Predicate 이 4가지 인터페이스를 학습하고, 함수 합성이나 확장 등을 알아봅니다.

4장. 불변성 - 불변성 상태는 무엇인지를 알아보고 직접 만들어봅니다.

5장. 레코드 - 데이터 유형으로 튜플이나 POJO를 만들어봅니다. 레코드의 내부 동작과 특징에 대해서 상새하게 알아보고 다양한 사례를 통해 학습합니다.

6장. 스트림을 이용한 데이터 처리 - 함수형 데이터 파이프라인으로써의 스트림의 특성을 알아보고 파이프라인을 구축해봅니다.

7장. 스트림 사용하기 - 원시 / 반복 /무한 스트림이 무엇인지 알아보고 배열에서 스트림으로 변경하는 것을 알아봅니다. 저수준 스트림을 생성해보고 다양하게 사용해봅니다. JMH를 통해서 스트림 성능을 측정하는 것 등을 학습합니다.

8장. 스트림을 활용한 병렬 데이터 처리 - 병렬 스트림에 대해서 알아보고 활용해보며 주의할 점은 무엇인지 학습해봅니다.

9장. Optional을 사용한 null 처리 - null 참조에 대해서 알아보고 Optional이 무엇인지 알아봅니다.

10장. 함수형 예외 처리 - try-catch블록에 대해 알아보고 람다에서 체크 에외 함수형으로 예외를 다뤄봅니다.

11장. 느긋한 계산법(지연평가)  - 자바의 구조에 대해서 알아보고 람다와 고차 함수 등을 통해서 다양한 접근 방식을 확인해봅니다.

12장. 재귀 - 재귀에 대해서 알아보고 다양한 예시를 학습합니다.

13장. 비동기 작업 - 비동기 파이프라인을 구축해보고, 스레드 풀에 대한 개념을 알아봅니다.

14장. 함수형 디자인 패턴 - 함수형 디자인 패턴인 팩토리 / 데코레이션 / 전략 / 빌더 등의 패턴을 알아봅니다.

15장. 자바를 위한 함수형 접근 방식 - 함수형 아키텍처를 알아보고 어떤식으로 구성해야하는지 학습해봅니다.




책의 구성

- Note등을 통해서 부가 설명이 잘되어 있고, 키워드는 색깔 및 블러 처리로 정리가 용이하게 되어있습니다.



- 각 장의 마지막에는 핵심 요약이 있어서 학습 내용을 확인해 볼 수 있습니다.




이상으로 도서 리뷰를 마치겠습니다.


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


댓글(0) 먼댓글(0) 좋아요(0)
좋아요
공유하기 북마크하기찜하기 thankstoThanksTo
 
 
 
혼자 공부하는 첫 프로그래밍 with 파이썬 - 1:1 과외하듯 배우는 프로그래밍 자습서, 개정판 혼자 공부하는 시리즈
문현일 지음 / 한빛미디어 / 2024년 4월
평점 :
장바구니담기


총평

- 책의 난이도 : ★★☆☆☆

- 추천 별점     : ★★★★★

- 추천 독자     :  개발을 처음 해보고자 도전하는 비전공자, 파이썬을 처음 공부하는 사람

- 지은이          : 문현일

- 출판사          : 한빛미디어

 

 


제가 직접 리뷰한 책이기도 해서 애착이 가는 책입니다. 혼공 시리즈는 프로그래밍을 공부하고싶은 분들께 강추하는 시리즈 인데 정말 쉽게 설명이 잘 되어있어서 초심자에게 매우 좋습니다. 이것만 잘 공부해도 많은 도움이 될 것입니다.

 

이 책의 내용

1장 첫 프로그래밍에서는 프로그래밍을 처음하는 사람들이 읽어보기 좋은 프로그래밍 관련 내용들과 프로그래밍을 하기 위해 필요한 사전지식들을 알려줍니다. 그리고 실제로 파이썬에서 코딩하기 위한 컴파일러, 인터프리터 등을 알아보고 IDE를 활용하는 방법을 배웁니다.

 

2장 데이터에서는 실제 프로그래밍을 시작합니다. 문자데이터와 숫자데이터를 어떻게 선언하고 사용하고 활용하는지 배웁니다. 숫자데이터의 경우 연산자나 우선순위 등 관련내용을 학습하고 변수의 네이밍 규칙을 알아봅니다.

 

3장 선택에서는 조건문 위주로 학습합니다.

 

4장 데이터 세트에서는 리스트 데이터와 딕셔너리의 개념에 대해서 배워보고 데이터를 어떻게 관리할지에 대해서 학습합니다.

 

5장 반복에서는 while, for 반복문을 사용하고 range를 활용하는 방법을 알아봅니다.

 

6장 함수에서는 abs, len, sum 과 같은 내장함수를 활용해보고 직접 함수를 만들어봅니다. 그리고 다양한 사례들을 통해서 함수형 프로그래밍은 무엇인지 생각해봅니다.

 

 

이 책의 장점

- 학습 로드맵을 통해서 우리가 배울 내용이 무엇인지 한눈에 볼 수 있습니다.

 

 

 

- 각 장의 학습목표와 핵심 키워드를 제공해서 중요하게 학습해야하는 내용이 무엇인지 확인할 수 있습니다.

 

 

- 여기서 잠깐 등을 통해서 다양한 지식을 제공합니다.

 

 

- 마무리를 통해서 지금까지 배운 내용을 한 눈에 정리할 수 있습니다.

 

 

- 도전문제를 통해서 내가 얼마나 잘 학습했는지 확인해 볼 수 있습니다.

 

- 각 장에는 학습 목표가 있어 어떤 내용을 학습할지 포인트를 잡을 수 있습니다.

 

- 혼공 씨리즈 중 장점은 혼공 용어 노트를 제공해서 쉽게 들고다니면서 복습이 가능합니다.

 

 

이상으로 도서 리뷰를 마칩니다.


댓글(0) 먼댓글(0) 좋아요(1)
좋아요
공유하기 북마크하기찜하기 thankstoThanksTo
 
 
 
GPT-4를 활용한 인공지능 앱 개발 - 오픈AI API와 최신 GPT 모델로 창의적 앱 구축하기
올리비에 케일린.마리-알리스 블레트 지음, 이일섭 옮김 / 한빛미디어 / 2023년 12월
평점 :
구판절판


총평

- 책의 난이도 : ★★★☆☆

- 추천 별점     : ★★★★★

- 추천 독자     :  ChatGPT를 이용해서 앱 개발을 해보고 싶으신 분

- 지은이          : 올리비에 케일린, 마리-알리스 블레트 / 이일섭 옮김

- 출판사          : 한빛미디어

 


각 챕터별 설명 

1장에서는 LLM(언어모델)과 GPT 모델의 역사 그리고 LLM 활용사례에 대해서 배웁니다. ChatGPT가 어떻게 발전해왔고 어떠한 구성을 가지고 있는지에 대해 조금 살펴볼 수 있는 기회가 되는 부분입니다.

 

2장에서는 ChatGPT API를 실제로 활용하는 방법을 배웁니다. 그래서 OpenAI에서 API키를 발급받아 애플리케이션에서 사용할 API를 활용하는 방법에 대해 설명합니다.

 

3장에서는 실제로 애플리케이션을 구축해봅니다. 구축할 애플리케이션의 아키텍처를 파악해보고 프로젝트 예제를 통해서 뉴스 생성, 유튜브 동영상 요약 등의 예제를 확인해 볼 수 있습니다.

 

4장에서는 조금 심화된 내용으로 프롬프트 엔지니어링과 파인튜닝에 대해서 어떻게 진행하면 될지 확인해봅니다.

 

5장에서는 부가기능으로 활용할 수 있는 랭체인과 플러그인을 덧붙여 기존보다 향상된 기능의 인공지능을 활용하는 방법을 배웁니다.

 

 

책의 특성

요즘 인기있는 GPT에 대한 내용과 역사를 소개하고 있습니다. 단순히 따라하기보다는 해당 내용의 역사를 통해 기반지식을 제대로 학습하고 따라한다면 더욱 유익하고 빠른 발전을 할 수 있을 것입니다.

 

활용 예제를 위한 코드나 파라미터에 대한 설명들이 많이 들어있습니다. 해당 내용을 통해서 독자는 내용을 좀 더 쉽게 익힐 수 있습니다.

 

 

 

만약 ChatGPT를 활용해서 애플리케이션을 개발해보고 싶은 독자라면 이 책을 읽어보는 것을 추천한다.

 

 

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


댓글(0) 먼댓글(0) 좋아요(0)
좋아요
공유하기 북마크하기찜하기 thankstoThanksTo
 
 
 
혼자 공부하는 자바 - 1:1 과외하듯 배우는 프로그래밍 자습서, 개정판 혼자 공부하는 시리즈
신용권 지음 / 한빛미디어 / 2024년 2월
평점 :
장바구니담기


총평

- 책의 난이도 : ★★★☆☆

- 추천 별점     : ★★★★★

- 추천 독자     :  JAVA를 공부하려고하는 주니어 개발자 혹은 취준생

- 지은이          : 신용권

- 출판사          : 한빛미디어

 


 

자바 21최신 버전까지 반영된 혼자 공부하는 자바 개정판이 출간되었다.

리뷰할 수 있는 기회가 주어져서 책을 읽어보게 되었는데, 개정판 이전에도 이미 유명한 책이고 정말 잘 만들어진 책이다.

 

 

이게 딱 <자바의 정석>은 옛날 수학의 정석 같은 느낌이고, <혼자 공부하는 자바>는 옛날에 그 개념원리나 완자 같은 ㅋㅋㅋ 혼자서 공부하기 편하도록 작성된 책이다.

 

그래서 책을 그냥 그대로 따라 읽으면 옆에서 친절하게 설명해주는 느낌이다.

 

책의 특장점

1. 그림 같은 시각적 자료도 많고, 말풍선이나 주석이나 키워드 등으로 다양하게 설명을 보충하고 있다.

 

 

 

만약 IDE나 홈페이지 등 화면에서 봐야할게 있다면 화면을 직접 보여주면서 설명을 해놨기 때문에 누구나 쉽게 직관적으로 이해할 수가 있다.

 

또한 코드를 설명할 때 소스 코드의 위치와 해당 코드에 대해 바로 옆에 설명되어 있기 때문에 가독성이 매우 좋다. 대부분의 책들이 코드를 나열한 다음 밑에서 설명하고 있는 것보다 훨씬 직관적이고 이해하기가 더 쉬웠다.

 

2. 마무리를 통해서 핵심 포인트가 무엇인지 알아보고, 확인 문제를 통해서 명확하게 이해했는지 알 수 있다.

이런 내용은 필수 내용으로 구성되기 때문에 만약 해당 확인 문제를 틀리거나 키워드를 설명할 수 없다면 앞 부분을 다시 읽어보는 걸 추천한다.

 

3. 혼공 용어 노트로 마무리 학습

책의 끝에는 혼공시리즈의 장점인 혼공 용어 노트가 있는데, 이 노트를 별도로 분리할 수 있으니 지하철이나 대중교통을 타고다닐 때 쉽게 복습하면서 리마인드 하기 좋다.

 

 

 

 

 

이상으로 혼자 공부하는 자바의 리뷰를 마친다. 자바를 공부할 생각이 있는 사람이라면 이 책을 통해서 입문하는 것을 강력 추천한다. 이 책 한 권만 완벽하게 익혀도 자바에 대해 입문을 했다고 할 수 있을 것이다. 그리고 책이 무려 700페이지가 넘는데, 기본 뿐 아니라 고급 기술들도 다루고 있으니 이 책만 제대로 알아도 주니어에는 문제가 없다고 생각한다. 이론은 딱 이 책만큼만 알고 이제 실무에 부딪혀 보는게 맞지 않을까 싶다.


댓글(0) 먼댓글(0) 좋아요(0)
좋아요
공유하기 북마크하기찜하기 thankstoThanksTo