2024년 10월 26일 토요일

2024년 다섯번째 도서리뷰[챗GPT 제대로 써먹기]

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

얼마전 대학 교수로 있는 선배와 그런 애기를 나누었다.

우리가 계속해서 프로그래밍 언어나 코딩을 가르치는게 맞을까?

아마 이젠 인공지능을 잘 활용하는 방법을 가르쳐야 하지 않을까?

물론 개발일이란게 코딩만 잘한다고 되는건 아니긴 하지만....

어쩌면 앞으로는 직접 개발보다 명확하게 요구사항을 작성하고

이를 AI에게 전달? 하여 개발을 하는 형태로 바뀌어 가지 않을까?


나 역시도 요즘 여러 업무에서 인공지능을 활용하고 있다.

특히 내가 전문적이지 못한 분야에 대한 의존도가 더 높아지고 있는것 같다.

차라리 코딩이 쉬웠는데 코딩은 나보다 AI가 더 잘하고...

사업계획서 같은건 AI한테 거의 다 시키고 있고...


이번 책은 인공지능 기반 서비스중 가장 널리 알려진 챗GPT를 어떻게 잘 사용할 수 있는지에 대한

맛보기 같은 느낌이지만 내용이 알찬, 괜찮은 책의 소개가 될것 같다.


책은 크게 4부로 구성되어 있는데

IT관련 전공자가 아니라면 1부는 건너 뛰어도 좋을것 같다.

개인적으로는 마음에 드는 내용이긴 하지만 ㅎㅎ

1부는 AI에 대한 간략한 소개와 동작 원리 등에 대해서 설명하고 있다.

머신러닝, 딥러닝 등등 어쩌면 좀 머리아플 수도 있는 내용이라

건너뛰는게 정신건강에 이로울 확률이 높을듯 하다.


2부 부터 본격적으로 어떻게 사용하는지에 대한 내용을 다루고 있다.

어떻게 시작하고 어떤 기능들이 있는지, 효과적으로 사용하기 위해서 어떻게 해야 하는지를 소개한다.

특히 프롬프트에서 어떻게 하면 좀 더 나은 답을 얻을 수 있는지에 대한 내용과

맞춤 설정을 활용하는 방법도 소개하고 있다.

나도 그냥 대충 사용만 했지 맞춤 설정할 생각은 못했었는데....너무 사용에만 급급했나...;;


3부는 이 책에서 가장 많은 분량을 차지하는 내용으로

다양한 케이스를 통해 챗GPT를 제대로 활용하는 방법을 소개 하고 있다.

가장 큰 고민 거리중 하나인 오늘 뭐먹지 같은 경우나 집안일, 취미, 여행 계획작성 등 일상적인 활용방법과,

업무에서 보고서 작성이나 PPT작성, 데이터 분석

공부할때 새로운 개념에 대한 학습이나 외국어 학습, 강의/수업준비 활용 방법

이미지, 동영상, 오디오 생성 등 콘텐츠 만들때 활용 방법

대망의 코딩할때 활용 방법등 다양한 케이스에서 어떻게 잘 사용할 수 있는지를 설명하고 있다.

특히 각 케이스에서 인기있는 맞춤형 GPT를 소개해 주고 있어서 좀 더 유용하게 활용할 수 있도록 도와준다.


4부에서는 챗GPT와 같은 생성형 AI가 가져다줄 미래와 전망에 대한 내용을 다루고 있다.

대체로 AI를 통해 직업이 대체되기 보다는 생산성이 좋아 진다거나

새로운 일자리가 창출된다거나, 경제 성장에 도움이 될거라는 좋은 얘기들을 하고 있다.

그리고 AI에 대한 거부감보다 열린마음으로 다가 가기를 바란다는 얘기도 곁들이고 있다.

다만 챗GPT 서비스가 사용하는 엄청난 전력 등으로 서비스 자체는 적자가 발생 하는등의

좀 더 현실적인 얘기도 함께 해주었으면 하는 아쉬움이 있다.


인공지능이 어떤것인지 소개하고 다양한 케이스를 통해서 활용 방법을 설명하면서

독자들이 인공지능에 좀 더 거부감 없이 접근하고 도움을 받을 수 있도록 해주는 유익한 책인듯 하다.

2024년 8월 17일 토요일

2024년 네번째 도서 도서 리뷰 [개발하는남자의 핸즈온 플러터]

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


오랜만에 플러터 책을 보게 되었다.

플러터 마지막으로 본게 재작년 프로젝트때 였는데....잠깐 보다가 난 서버쪽으로...

예전에도 그랬지만 이래저래 개발에서 플러터와는 아직 깊은 연은 없는듯 싶다

조만간 다시 앱 개발일들을 좀 해야 할거 같은데 그때는 좀 연을 맺게 되려나?

나이들어 공부하려니 머리에 전혀 안들어 오는데...ㅠㅠ


한빛미디어의 핸즈온 시리즈는 실전 기술을 습득하도록 도와주는 실용학습서이다.

이 책도 기존에 개발자가 플러터를 처음 접하거나 초급 개발자가 플러터를 공부하는데에 상당히 유용하게 구성이 되어 있는듯 하다.


크게 1부와 2부로 나누어져 있는데 1부에서는 플러터의 기초에 관한 내용을 주로 다루고, 2부에서는 당근마켓 클론 코딩을 통해 실제 프로젝트에서 어떻게 구현했는지를 가지고 설명을 하고 있다.


어떻게 보면 1부와 2부 각각이 하나의 책으로 나와도 될법한 내용이 아닐까 싶다.


1부에서는 플러터의 등장 배경과 장단점, 플러터를 도입한 기업의 예시를 통해 플러터를 소개 하고 있다.

이어서 개발환경 설정과 플러터의 다트 언어에 대한 설명으로 이어진다.

다트언어는 기본적인 문법이 C와 Javascript 중간 그 어디즘인듯한 느낌이다.

대부분 객채지향 언어책들 처럼 변수, 연산사, 조건, 반복, 함수 객채지향 순서로 기본적인 내용을 설명한다.


이후에는 플러터만의 개념에 대해서 설명한다.

아케텍처, 위젯, 라이프사이클, 레이아웃, 애니매이션 등은 앱 개발을 위해 플러터가 가지고 있는 개념들이다.

이후에는 플러터에서 사용할 수 있는 라이브러리들을 소개하며 설명하고 있고 이후 API 개발을 위한 내용을 끝으로 개발에 관한 내용을 마무리 하고 있다.

1부 마지막은 앱 배포에 관한 내용으로 구성했는데 플러터로 처음 앱을 개발해서 배포하고자 할때 많은 도움이 될 것 같다.배포가 별거 없을 것 같지만 막상 처음 해보면 여기저기서 괴롭히는데 그 시행 착오를 줄이는데 많은 도움을 줄 수 있을 것 같다.


2부는 본격적으로 당근마켓 클론 코딩을 통해  플러터로 개발하는 실무를 보여준다.

기본적인 프로젝트 생성으로 시작해서 Firebase 연동으로 이어지는데 Firebase 연동은 실무에서 푸쉬등 여러가지를 위해 많이 사용되므로 초중급 앱 개발자에게 큰 도움이 될 수 있다.


계속해서 앱 설정등을 관리하기 위해 많이 사용하는 SharedPreference 사용방법, 스플래시를 이용한 앱 시작화면 만들기로 앱의 첫 화면 구성을 위한 내용을 다루고 있다.


이어서 인증 및 로그인을 위해 구글 로그인, 애플 로그인, Firebase인증 등을 다루는 방법을 설명한다.


로그인 이후에 앱 화면을 구성하는 기본적인 설명을 시작으로 상품 등록 화면 개발, 상품 리스트 화면, 상품 상세 화면 개발 설명하고 있다.

끝으로 당근마켓 앱의 특징인 채팅 화면 개발을 마지막으로 다루면서 전체 내용을 마무리 하고 있다.


앱을 개발할때 Android와 iOS 두 가지를 동시에 개발하는 일은 언제나 시간과 비용, 효율성 문제에서 자유롭지 못했다.

두 플랫폼을 동시에 개발 할 수 있도록 다양한 크로스 플렛폼 프레임워크가 등장 하였는데 개인적으로 플러터는 앱 개발에서는 그 중 가장 효율성이 좋은 크로스 플렛폼 프레임워크가 아닌가 싶다.


앞서 언급 했지만, 이 책은 기존에 나온 책들과는 다르게 많은 사용자들이 사용중인 서비스의 앱 코드를 기반으로 플러터를 이용해 어떻게 개발 했는지 보여주면서 설명하고 있어 처음 플러터를 실무에 적용하고자 하는 개발자에게 많은 도움을 줄 수 있을 것으로 보인다.

2024년 7월 22일 월요일

2024년 세번째 도서 리뷰 [처음 시작하는 FastAPI]

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


개발 업무가 소강상태? 에 있다.

바꿔말하면 잡무? 가 늘어났다...진득하게 코드좀 보고 싶은데...


조만간 웹 프론트 개발 업무를 좀 해야 할거 같아 웹쪽 책을 신청 하고 싶었는데 무조건 두 권 이상 선택하도록 변경된듯 하다.


각설하고...또 파이썬이다.

여러 대학에서도 교양이나 프로그래밍 기초로 파이썬을 가르치고 있고...다양한 분야에서 많이 사용되고 있어 확실히 주류로 자리 잡은 듯 하다.

처음 접했던 2005년 즈음에는 이걸 누가 쓸까? 싶었는데....ㅎㅎ


책은 4개 파트 18개 챕터로 나누어져 있고 파이썬의 문법 같은 내용은 전혀 다루고 있지 않다.

어느정도 프로그래밍 경험이 있고 파이썬을 알고 있는 개발자를 위한 책이다.


파트1은 모던 웹과 파이썬에 관한 내용으로 현재 웹 서비스와 API에서 많이 다루는 것들, 모던 파이썬에 관한 얘기와 기존의 파이썬 웹프레임 워크, FastAPI 프레임워크 등에 대한 내용을 다루고 있다.

전반적으로 현재의 추세? 에 관한 내용이라 할 수 있을 것 같다.


파트2는 FastAPI에 대해서 본격적으로 다루기 시작 한다.

FastAPI소개를 시작으로 Starlette, 비동기, 동시성, Pydantic과 타입 힌트, 모델, 의존성에 대한 내용으로 이어지며,

마지막엔 파이썬 기반 다른 웹 프레임워크와 비교하는 내용을 다루고 있다.


파트3 부터 본격적인 웹사이트 만들기가 시작 된다.

웹 계층, 서비스 계층, 데이터 계층을 구현하기 위한 내용을 각각의 챕터에서 설명하고 있다.

이후에는 인증, 인가에 관련한 내용을 다루는데 예전 스프링 부트에서 인증관련하여 조금 애를 먹은 적이 있어 이 챕터는 후에 다시 천천히 내용을 보면 좋을 것 같다는 생각이 든다.


그 뒤로는 다양한 테스트에 관한 내용과 배포에 관한 내용으로 파트3을 마무리 하고 있다.


파트4는 주로 데이터에 관한 내용으로 이루어져 있는듯 하다.

데이터베이스를 이용하는 방법, 파일을 처리 하는 방법, 양식과 템플릿(폼) 등을 다루는 방법을 설명하고 있다.

이어서 데이터의 탐색, 시각화에 관한 내용을 다루는데 시각화 관련하여 좀 더 많은 내용이 있었으면 좋았을것 같다.

(개인적으로 시각화관련 구현 할 일은 없지만 팀 내에서 많이 하는 업무중에 하나라...)

마지막 챕터는 게임을 통한 웹 엔드포인트에서 사용자와 상호 작용하는 내용을 다루고 있다.


책이 컬러풀하게 화려하지 않지만 설명과 코드가 명확하게 구분되고 눈에 잘 들어오는 편집 형태라 좋았다.

(개인적으로 흑백, 회색 만을 이용한 깔끔한 편집 상태가 보기가 가장 좋은듯 하다.)


개인적으로 웹기반 API 서비스를 개발할 때는 자바/스프링 기반으로 해 왔는데, 현재는 대부분 주변 개발자들은 자바스크립트 기반으로 개발을 가장 많이 하고 있지 않나 하는 생각이 든다.

개인적으로 자바스크립트를 좋아하지 않아서 꺼리는 부분이 있었는데 파이썬의 FastAPI는 나에게 자바/스프링 기반 개발에서 변화를 줄 수 있는 좋은 대안이 되는듯 하다.

그리고 이 책은 이런 나와 같은 개발자들에게 많은 도움을 줄 수 있는 책이 분명 한듯 하다.


오랜만에 기술서적이라...내가 공부가 된걸 빼고나니 뭔가 할 말이 많지 않은 책인듯도 하다.

2024년 2월 25일 일요일

2024년 첫번째 도서 리뷰 GPT-4를 활용한 인공지능 앱 개발

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

24년 첫 도서 리뷰이다.

작년까지? 한참 핫 했던 인공지능 서비스 Chat GPT에 관한 책이다.

핑계지만 어쩌다보니 GPT에 대한 접근이 남들보다 뒤쳐졌었다.

작년 상반기에 앱 개발할때 조금 활용 해 보고....

RFP작성때 살짝? 그리고 올해 넘어와서는 사업계획서 작성할때 좀 써보고...


GPT가 API를 제공 한다는건 알고 있었지만 API를 사용해 본적은 없었다.


오늘 소개할 책은 GPT-4의 API를 이용한 앱 개발에 관한 책이다.


책을 처음 받았을 때 응? 이라는 생각이 들었는데 예상보다 책이 많이 얇다.

표지 제외하고 179페이지가 전부다.

기억나는 IT책중 얇은책...The C Programming Language...

저 책을 처음 보기 시작 했을때의 기억은...

얇은 책의 장점, 간결해서 좋다. 읽으면서 이해만 할 수 있다면...

그런 점에서 C 책의 첫 추억은 썩 좋진 않았는데...

다행인건 지금 내가 그래도 예전 저 C책을 처음 접했을 때보단 좀 나은 수준이라는거....


책을 받고 제목만 보았을 때는 GPT에게 개발을 시키는 거에 대한 내용인가?

우와...내가 드디어 실직자에 한 발 다가서는 세상이 오는 것인가? 라는 생각을 했다...다행이? 아직은 아닌듯...


책은 5개의 챕터로 나누어져있다.


첫 챕터에서는 GPT-4와 Chat GPT에 대한 소개로 내용이 이루어져있다.

지금 깨닭은건데 왜 Chat GPT라 쓰지 않고 챗GPT라고 써놓은걸까...이게 눈에 더 안들어 오는거 같은데...


먼저 LLM - Large Language Model 에 대해서 소개하는 내용으로 시작해서

GPT 모델 의 역사를 소개하고 여러 LLM을 사용한 사례들을 보여준다.

여기서는 모건 스탠리나 듀오링고 같은 비교적 익숙한 이름들도 볼 수 있다.

이즘 되었을때 '아~ GPT의 LLM을 이용한 서비스를 만들때 API 사용법에 대한 내용이구나'를 눈치챘다.


챕터2에서는 본격적으로 GPT-4와 ChatGPT의 API사용에 대한 내용을 다룬다.

과금과도 직결되는 가장 필수 적인 프롬프트와 토큰, 모델에 대한 설명으로 시작한다.

사용가능한 모델을 소개 하고 파이썬으로 어떻게 시작 하는지를 예제를 통해서 설명하고 있다.

자주 볼 수 있는 'Hello World'예제부터 채팅의 입력과 출력, 텍스트의 입력과 출력을 예시로 하여 설명을 하고 있다.

여기서 채팅과 텍스트의 차이는...채팅은 좀더 대화에 가까운 형태로 이루어 진다는 점이 차이점이다.


챕터3에서는 실제 애플리케이션을 구축하는 내용을 간단히 다루고 있다.

API키 관리, 보안, 개인정보 보호...아무래도 GPT에게 뭘 시킬때 실수로 개인정보가 들어가면 안되니까...

그런데 딱히 코드로 그런걸 막을수 있는건 아닌거 같고 그냥 주의 하라고...

그런걸 위한 입출력 분석에 대한 내용도 그냥 이래이래 하면 된다고 말로만...이래서 책이 얇....;;;

예제에서는 뉴스 생성 솔루션, 유튜브 동영상 요약, 음성제어 등에 대한 간단한 코드를 소개 하고 있다.


챕터4 에서는 GPT의 고급 기법이란 내용을 다루고 있다.

효과적인 프롬프트의 설계나 퓨샷러닝(책에 설명만으로는 이해가....), 파인튜닝 등을 이용해서 성능을 향상하는 내용을 다룬다.

특히 파인튜닝은 비용이 많이 드는 편이라 비용에 대해서도 간단히 소개 하면서 언급하고 있다.


챕터5는 랭체인, 플러그인으로 기능 향상을 하는 내용을 다루고 있다.

랭체인은 LLM기반 애플리케이션 개발을 위한 새로운 프레임워크로

파이썬에서 해당 라이브러리를 설치해서 간단히 사용 할 수 있다고 소개하고 있다.

플러그인은 GPT-4의 기능을 확장해 주는 역할을 한다.

플러그인은 OpenAI에서 제공하는것도 있고, 개발자가 만들어 올릴 수 도 있는 듯하다.(책에 내용을 봐서는)


그 뒤에 Appendix는 GPT의 새로운 기능과 개선 사항 등에 대해서 소개 하고있다.

책이 나올 무렵의 GPT의 정보와 과금 등에 관한 내용으로 이루어져 있고...

재미있다고 해야 할까? OpenAI를 이용한 개발을 진행 할 때 ChatGPT에게 물어가며 할 수 있다.

뭔가 당연한대...재귀적인 느낌이라 해야 하나... 


전반적으로 얇은 책의 장점, 간결하다.

항목마다 디테일하게 설명하진 않지만 OpenAI API 활용에 관한 내용을 러프하게 이해하고 싶을때 좋은 책이란 생각이 든다.

설명이 디테일하지 않아 뭔가 애매한게 나올때 마다 따로 찾아보며 봐야 하는 책이란 생각이 든다.

...난 하나만 던져 줬지만 나머지 9개는 니가 찾아서 공부 해라...라는 저자의 큰 그림일까?

대상이 초중급...단서를 달자면 자의든 타의든 책 내용에 관련해서 여기저기 찾아보며 열심히 공부하겠다면...


2023년 일곱번째 도서 리뷰 "데이터 메시"

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


이번에도 지난번과 마찬가지로 사내 스터디에 도움이 될만한 책으로 서평 도서를 골라보았다.

하둡 시스템 구성과 시각화까지 서비스하는 업무가 메인인 회사에서 빅데이터의 다음 행보에 관한 내용은 상당히 중요하고 그에관한 도서라면 충분히 향후 업무에 도움이 될 것이라 생각 했다.


데이터 메시(메쉬가 맞지 않나?)를 설명하려면 기존의 데이터를 다루거나 관리하는 방식에 대해서 한번 볼 필요가 있을것 같다.

예전, 지금도 많이 사용하고 있는 RDBMS 를 기반으로 하는 데이터베이스는 모든 데이터를 한곳에 모아 관리하며, 로우데이터(?)나 살짝 가공된 운영데이터를 관리 하는것에 중점을 두고 있다고 생각한다.

통계등의 분석은 그때그때 어플리케이션들이 데이터를 가지고 와서 생성하여 사용자에게 제공하고 있다.


빅데이터 시스템의 경우....(사실 회사 주 업무가 하둡기반 빅데이터 시스템 운영 및 유지보수 이긴 하지만 내 업무 중 이쪽 업무 비중은 매우 낮은 편이다.) 어떤 데이터를 수집하고 사용하는지에 따라 다르겠지만 현재까지 대부분의 경우에는 기존 RDBMS때와 마찬가지로 중앙집중식으로 데이터를 관리하고 있다고 보는것이 맞을 듯 하다.


아무래도 기존 설계방식을 따르면서 데이터의 종류와 양만 어마어마 하게 늘어난게 현재 대부분의 빅데이터 시스템 이다 보니...

내가 본게 그런게 다라서 그런가...여튼...


데이터메시는 기존과 반대로 설계를 한다.

업무 도메인 별로 각 도메인별 데이터를 직접 관리하고 필요한 경우 데이터를 주고 받으며 사용한다.

로우 데이터나 운영 데이터 보다는 분석 데이터에 중점을 두고...운영 한다고 하는데 사실 직접 해보진 않아서 정확하게 와 닿지는 않았다.


이 책은 프롤로그를 반드시 읽어 보기를 추천한다.

가상의 음악 및 오디오 스트리밍 회사인 다프라는 회사에서 데이터 메시를 구현하여 사용하는 내용으로 데이터 메시의 전반적 개념과 운영 방법 등에 대해서 얘기를 시작 하고 있다.

사실 프롤로그 까지만 읽어도 데이터 메시가 무엇인지, 어떻게 이루어 지는지에 대한 어렴풋한(?) 개념은 잡을 수 있었던 것 같다.


프롤로그에서 다프라는 회사가 기존에 데이터를 다루는 방식에서 데이터 메시로 전환 하면서 어디가 어떻게 달라 졌는지, 어떤 방식으로 변화 하였는지를 설명하며 데이터 메시에 대한 이야기를 해 주고 있다.


이후 부터는 본격적으로 데이터 메시를 설명하고있다.

1~5부까지 나누어져 있는데 각각 소개 하면 다음과 같다.


1부 - 데이터 메시란

데이터 메시를 요약하고 데이터 메시의 네가지 원칙에 대하여 설명하는 내용이다. 뒤에 나오는 내용들에 비해 가장 이론적인 내용이 아닐까 싶다.


2부 - 왜 데이터 메시인가

비즈니스의 변화에 따른 전략적 이유로 기존의 데이터에 접근 하는 방식에서 데이터 메시로 바뀌어야 하는 이유를 설명하는 내용이다.

예전보다 비즈니스의 복잡도나 변동성이 증가 했다는 것에 그 이유를 두고 있다.

책 전체에서 가장 많은 비중을 차지하는 내용이다.


3부 - 데이터 메시 아키텍처의 설계 방법

말 그대로 아키텍처의 설계에 관한 내용을 다루고 있다.

중앙집중식에서 도메인별로 나누어 관리 하는 방법으로 바뀌기 때문에 당연히 아키텍쳐 설계에 대한 내용을 다루는 것 같다.


4부 - 데이터 프로덕트 아키텍처의 설계 방법

앞에서도 설계를 다루었는데 다시 설계 방법 이라고 나와서 의아할 수 도 있을듯 하다.

앞에서의 설계는 데이터 메시에 대한 설계이고 4부에서 다루는 내용은 데이터 프로덕트의 설계이다.

데이터 메시에서는 데이터의 제품화? 에 대한 이야기를 하고 있다.

중앙집중 식으로 데이터를 관리 하지 않고 도메인 별로 관리를 하기 때문에 다른 도메인에서 필요로 하여 데이터를 제공 하는 경우에 대한 데이터를 데이터 프로덕트라고 표현 하는 것 같았다.(늙어서 그런가 요즘 뭘 한번에 이해 하는게 잘 없는거 같다 ㅠㅠ)

따라서 데이터의 관리를 위한 설계가 아니라 데이터를 소비 하기 위한 설계라고 보면 이해가...(내가 이해 한거 설명해서 이해 시키는게 확실히 힘들구나...)

내용은 데이터의 제공, 소비, 변환, 검색 을 위한 데이터 구성 설계에 대한 것 들이다.


5부 - 새로운 시작

데이터 메시의 도입에 관한 내용이다.

앞서 내용들을 보면 당연히 도입 하는 것이 좋은 것 처럼 보이지만 책에서는 데이터 메시를 도입하기 전에 충분히 고려 해야 할 8가지 항목을 설명하고 있다. (신기술을 적용 하는것이 늘 좋기만 한 것은 아니니까)

그리고 마지막으로 데이터 메시를 위한 조직과 문화에 대한 얘기로 마무리를 짓는다.


이번 책은 특징이 있다면 매 장 마지막에 정리하기라는 내용이 있다.

코드 한줄 없이 이론적인 내용만 다루는 책이라 죽~ 읽다가 보면 크게 기억에 남지 않는 문제가 있다.(나만 그런가?)

그래서 매 장 마지막 정리하기에 있는 요약은 책을 이해하는데 상당히 도움이 되는것 같았다.

먼저 읽고 정리하기를 봐도 괜찮고, 정리하기를 먼저 보고 앞에 내용을 읽어 보는 방법도 괜찮은 것 같았다.


마무리를 하자면...중앙집중식 데이터 관리에서 비즈니스 도메인별로 데이터를 분산하는 데이터 메시라는 새로운 패러다임? 이 등장 했고 그 패러다임에 대한 내용 설명 이라고 하면 정리가 될까 싶다.


이론에 대한 기나긴 설명만 있으면 책을 읽어 내려 가기가 힘들어 지는데 다행이 각 장 마지막 부분에 요약을 잘 해놓아서, 그나마 쉽게? 읽을 수 있었던 데이터에 대한 새로운 개념을 다룬 책이 었던 것 같다.


이제...세미나를 시켜 볼까나...




2023년 여섯번째 도서 리뷰 "처음부터 제대로 배우는 스프링 부트"

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

요즘 서평책을 선택 할 때 사내 스터디에 도움이 될 만한 책 위주로 골라 보고 있다.

최근 스프링으로 이런저런 작은 프로젝트도 하고 해서 스프링 책이 서평 목록에 있으면 했었는데

딱 좋은 책이 있길래 냉큼 신청을...


책을 펼쳐 처음부터 보는데 베타리더 리뷰에 반가운 이름이 똭! (형이 왜 거기서...ㄷㄷㄷㄷㄷㄷ)


책은 챕터1에서 스프링 핵심 기능 세가지를 소개 하는 것으로 시작하여 

도구 선택, REST API, 데이터베이스등의 가장 기본적인 내용으로 이어 진다.

이후에는 에플리케이션 설정과 검사, 데이터 파고들기(DB심화?), MVC, 리액티브 프로그래밍 이란 내용들을 다루고 있다.

챕터 9 이후 후반부로 넘어 가면 애플리케이션 테스트, 보안, 배포등 프로젝트 막바지에 다루는 내용들을 다루며

마지막 챕터에서는 리액티브 관련한 내용을 좀 더 심도 있게 다루고 있다.


위에 열거한 챕터 제목들만 보면 다루는 내용들이 여느 책들과 크게 다르지 않아 보인다.

하지만 개인적인 생각으로 이 책이 다른 책들과 다른점이라면 중요한 포인트를 잘 짚어서 이해하기 쉽게 알려 준다는 것이다.

특히 설명이 장황하지 않고 간결하며 쉽게 이해 할 수 있도록 하고 있어 더 좋은것 같다.


그런 특징은 챕터1에서 부터 잘 드러난다. 챕터1은 단 여섯 페이지 이다.

그 안에 "의존성 관리", "배포 간소화", "자동설정" 이라는 세가지 키워드로 스프링의 핵심 기능을 소개 한다.

스프링을 사용할 때는 별 생각 없었는데(그냥 개발 하기 바빳나...) 이렇게 정리된걸 보니 설명을 참 잘하고 있다고 느꼈다.


또 다른 차이점이라면 가려운 곳을 잘 긁어 준다고 해야 할까?

스프링을 시작 하면서 몇 가지 고민거리중 가장 대표적인것이 메이븐이냐? 그레들이냐? 중 선택 하는 문제 일 것이다.

결국은 개발자의 취향대로 하겠지만 책은 메이븐과 그레들 각각에 대해 설명하고 각각의 차이와 장단점을 비교 하면서

어떤 경우에 어느 툴을 선택하면 좋을지를 잘 안내해 주고 있다.

마찬가지로 자바와 코틀린중 어떤 언어를 선택하면 좋을지 설명하는것 같지만 언어는 그냥 개발자가 원하는거 선택 하는걸로....


이후 내용은 앞에서 전체 내용 다룰때 얘기한 것 처럼 REST API나 데이터베이스 등 일반적인 내용으로 이어진다.

역시 REST에 대한 설명등을 간략 하지만 이해하기 쉽게(나한텐 약간 아닌듯 하기도...) 설명 하고 있다.

간결하지만 충분한 설명과 복잡하진 않지만 부족하지도 않는 내용의 코드로 쉽게 따라하며 이해 할 수 있도록 되어있어 좋은것 같다.


그리고 그 뒤로 이어지는 내용중엔 리액티브 프로그래밍 관련한 내용이 나온다.

이건...나도 안해본거라...공부해야 할...

그 뒤에 보안관련 내용도 뭔가 새로워진 것 같아 공부해야 할...

배포도...예전엔 그냥 톰켓이었는데...뭔가 새로운것이...


마무리 해 보자면, 책은 스프링을 사용하는데 있어 초/중급 개발자를 대상으로 매우 좋은 책인 것 같다.

그리고 나처럼 예전에 스프링을 조금 사용해봤던 개발자에게도 좋은 책인 것 같다.


조만간 스프링 프로젝트를 시작 하게 된다면 이 책을 다시 신나게 펴 보고 있게 될 듯 하다.



2024년 다섯번째 도서리뷰[챗GPT 제대로 써먹기]

한빛미디어 <나는 리뷰어다> 활동을 위해서 책을 제공받아 작성된 서평입니다. 얼마전 대학 교수로 있는 선배와 그런 애기를 나누었다. 우리가 계속해서 프로그래밍 언어나 코딩을 가르치는게 맞을까? 아마 이젠 인공지능을 잘 활용하는 방법을 가르쳐...