아는 만큼 보이는 생성형 AI - 챗GPT, 제미나이, 클로드, 클로바X, 달리, 미드저니, 스테이블 디퓨전, 수노, 유디오까지 한 권으로 보는 생성형 AI 기술과 트렌드 아는 만큼 보이는 시리즈 (길벗)
김주영 지음 / 길벗 / 2025년 7월
평점 :
장바구니담기


※ 길벗 출판사에서 도서를 제공받아 작성된 서평입니다.

이번 도서 후기는 생성형 AI에 대해 기초 지식을 쌓을 수 있는 책이다.

생성형 AI는 인간과 비슷한 수준의 새로운 결과물을 만들어낼 수 있어 기존 AI 기술보다 더 발전되고 데이터를 분석하여 결과를 예측하거나 집중했던 부분에서 새로운 컨텐츠까지 생성해낼 수 있을 뿐만 아니라 일을 하는 환경에서도 효율성을 높여주는 중요한 역할을 해주고 있다.

AI는 인간의 지능을 모방하는 기술로 여기에 머신러닝을 통해 AI가 스스로 학습을 하게 하는데 생성형 AI는 머신러닝 중 인공 신경망을 토해 복잡한 문제를 해결해 나갈 수 있는 기술을 통해 기존 데이터를 분석하여 새로운 컨텐츠까지 만들어 낸다.

이 책은 생성형 AI가 무엇인지, 그리고 용어와 우리가 잘 아는 챗GPT, 제미나이, 클로드와 같은 언어 생성형 AI와 텍스트를 기반으로 이미지를 생성하거나 기존 이미지를 변형, 복잡한 이미지 작업을 수행하는 이미지 생성형 AI, 클로바와 같은 음성, 음악 등의 소리를 만드는 오디오 생성형 AI, 그리고 텍스트와 이미지, 오디오 등의 정보를 동시에 이해하고 처리하는 LMM의 모델까지 생성형 AI의 종류들을 간략하게 정리하여 이해해볼 수 있고, 이를 통해 생성형 AI의 역할과 우리가 살아가는데에 있어서 이 기술을 어떤 관점에서 보아야 하는지에 대해 앞서 생각해보게 한다.

2부에서는 이러한 생성형 AI 단계까지 머신러닝과 딥러링, 그리고 트랜스포머와 LLM이 등장하게 된 배경과 각 기술의 핵심 기법과 작동 원리를 다루고 3부에서는 우리가 잘 아는 GPT가 어떤 기반으로 만들어졌고 각 버전별 어떤 한계를 가지고 발전해 나갔는지 이해해볼 수 있다.

특히 나는 생성형 AI 기술 중 GPT를 가장 많이 사용하는데 내가 사용하는 기술에 대해서 버전별로 특징과 어떤 기술을 통해서 만들어졌는지 알아볼 수 있어 흥미로웠다.

후반부에는 우리가 사용하는 생성형 AI들의 종류와 특징들에 대해서 간략히 다루고 생성형 AI가 어떤 한계를 가지고 있고 이를 극복하기 위해서 어떤 노력을 필요로 하는지 다룬다.

그리고 이미지와 오디오 관점의 생성형 AI의 발전 과정과 작동 원리와 활용 사례를 다루고 이후에는 우리가 살아가는 미래에 AI를 통해 변화되는 직업들을 예측해보고 분야별로 AI 기술을 어떻게 활용해볼지 그리고 사람이 AI 기술에 대해 어떤 역할을 해야 하고 준비해야 하는지 즉 올바른 방향으로 우리에게 도움이 될 수 있는 방법에서 AI 기능을 사용하기 위한 생각도 해볼 수 있었다.

최근 가장 화두되는 주제에 대해서 알아볼 수 있는 책이어서 흥미있게 읽었다.

특히 앞서 말했듯 내가 실제로 사용하고 있는 생성형 AI 기술에 대해서 알아볼 수 있었던 점도 좋았다.

AI 기술로 인해 개발자의 직업에 변화가 있을 거라는 생각들도 많지만 개인적으로는 오히려 이 기술을 활용하여 일의 효율을 높일 뿐만 아니라 빠르게 기술을 습득할 수도 있고, 뿐만 아니라 이 기술을 만들 수 있는 것도 개발자라고 생각한다.

오히려 AI로 인해 직업을 빼앗긴다는 생각에 불안해하는 것보다는 오히려 이를 어떻게 활용하고 받아들일지를 고민해보는게 더 나은 미래가 될 수 있지 않을까 싶다.


댓글(0) 먼댓글(0) 좋아요(0)
좋아요
공유하기 북마크하기찜하기 thankstoThanksTo
 
 
 
코드 너머, 회사보다 오래 남을 개발자 - 소프트 스킬·개발문화·퍼스널 브랜딩으로 확보하는 결정적 경쟁력
김상기 외 지음 / 한빛미디어 / 2025년 6월
평점 :
장바구니담기


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

이번 도서 후기는 소프트 스킬의 중요성을 통해 더 오래 개발자로서 일하고 싶은 분들에게 도움이 될 책이다.

개발자로 성장하기 위해 코드만 잘 작성하면 되지 않을까라는 생각을 하게 되는 시기가 있다.

개발자는 코드를 잘 잘성해야 하는 것은 맞다.

하지만 그 외에도 같이 함께하는 동료들과의 협업을 위한 소통과 듣기의 기술 뿐만 아니라 질문하는 기술 등 여러 부분에서도 중요한 부분이 있다.

즉 이러한 기술적인 능력 뿐만 아니라 동료들과의 함께하는 중요한 역량을 소프트 스킬이라고 한다.

이 책은 이런 소프트 스킬의 역량을 강화하여 개발자로서 경쟁력있고 오래 일할 수 있는 힘을 기르기 위해 7명의 DevRel 전문가가 경험하여 얻은 내용들을 다룬다.

총 7장으로 구성된 이 책은 개발자들이 협업 과정에서의 커뮤니케이션 능숙하게 잘 하기 위한 스킬이 얼마나 중요한지 소개하고, 실무에서 체득한 스킬들의 현실적인 필요성을 통해 오래 일하고 싶은 동료는 기술력만으로 되지 않는 다는 것을 다룬다.

또한 계속해서 개발자로서 성장하기 위해서는 혼자만이 아닌 동료들과 함께 공유하고 소통하는 힘도 중요함을 다루며, 동료들과 함께 성장하기 위해 소속된 개발 조직 문화도 한 몫을 한다는 점도 책을 통해 다시한번 공감할 수 있다.

후반부 내용에서는 개발자라는 나 스스로가 어떻게 좋은 커리어를 쌓을 수 있는 지에 대한 기회를 만들기 위한 구체적인 퍼스널 브랜딩 전략과 함께 이력서가 없어도 스카웃을 받을 수 있도록 블로그나 커뮤니티 등의 외부 활동에서도 일상의 기회가 될 수 있다는 점에서 어떻게 스스로를 PR할 수 있는지에 대한 방향성을 함께 알아갈 수 있다.

개발자라는 커리어를 잘 다지고 확장하기 위해 다양한 관점과 시각에서 7명의 DevRel 전문가인 실무자들의 경험과 조언을 통해 이 책을 읽는 독자인 각자의 위치에서 방향성을 찾아가고 부족하거나 소홀히하였던 여러 소프트 스킬들에 대해서도 어떻게 보완해 나갈 수 있는지 생각해볼 수 있었다.

연차가 쌓이면서 특히나 리더의 위치에 있어야 하는 상황도 있는데 이럴때 기술력 뿐만 아니라 어떤 관점에서 동료들과 소통하고 또한 조직의 문화를 만들어 나가야 하는지에 대해서도 고민해볼 수 있게 했다.

이 책을 읽고 나니 여러 가지로 생각이 많아졌다.

함께하는 동료들과 성장하고 우리가 속한 개발 조직의 문화가 건강하고 성장을 할 수 있는 문화로 나아가기 위해 조금이나마 나도 항상 이 책을 읽고 깨달았던 여러 부분들에 대해서 소홀히 하지 말아야겠다는 생각을 하였다.

특히 개발자로서 롱런하기 위해 나의 퍼스널 브랜딩 전략도 어떤 방향으로 쌓아가야 하는지 생각해보게했다.

기술력만 갖춘 개발자가 아닌 소프트 스킬의 역량도 함께 갖춘 롱런하기 위해 나의 코드가 아닌 나를 기억하게 하는 경쟁력을 갖추고 싶은 분들에게 추천한다.


댓글(0) 먼댓글(0) 좋아요(0)
좋아요
공유하기 북마크하기찜하기 thankstoThanksTo
 
 
 
이것이 스프링 부트다 with 자바 - JPA와 AWS, 챗GPT까지 스프링 부트를 활용한 백엔드 프로젝트 실습서 | 저자 직강 유튜브 강의, 연습문제 제공 이것이 시리즈
김희선 지음 / 한빛미디어 / 2025년 6월
평점 :
장바구니담기


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

이번 도서 후기는 자바 개발자라면 한번 즈음 공부하고 사용해본 스프링 부트에 관한 내용을 다루는 책이다.

이 책은 최신 스프링 부트 3버전의 내용을 다룰 뿐만 아니라 다른 여러 스프링 부트를 다루는 책과 달리 도커와 AWS를 사용하는 방법과 함께 AI의 기능을 스프링 부트에서 사용할 수 있는 가이드와 함께 예시 코드를 통해 실무 개발을 하는 것처럼 실습을 해볼 수 있는 최신 기술까지 도입하고 공부해볼 수 있는 내용을 다룬다.

총 10장으로 구성된 이 책은 스프링 부트를 처음 공부해보는 분들을 위해 스프링 프레임워크가 개발 환경에 어떠한 영향을 미쳤는지, 또한 스프링 프레임워크와 스프링 부트의 차이가 정확히 어떤 부분이 있는지에 대한 내용을 다룬다.

특히 스프링 부트를 처음 공부해볼 때 어떤 핵심 개념과 기능을 이해해야 하는지에 대한 내용 설명과 함께 예시 코드들도 함께 설명에 다루기 때문에 처음 공부해보는 분들이 제대로된 개념과 이해를 도울 수 있도록 한다.

핵심 기초 개념 설명 이후에는 스프링 부트를 실무에서 처럼 개발해보기 위한 개발 환경을 구축하는 각 단계를 다룬다.

기본이 되는 JDK 설치부터 개발하기 위한 IDE 툴인 인텔리제이 설치와 함께 프로젝트를 생성하고 셋팅하는 방법 이후에는 데이터를 관리하기 위해 데이터베이스와 연동하는 방법을 설명하기 앞서 MySQL 데이터베이스를 설치하고 실제 데이터를 조회하고 사용해볼 수 있는 데이터베이스 툴을 설치하는 방법도 친절하게 소개한다.

특히나 각 단계를 하나하나 이미지로 설명하고 있어서 설치하거나 셋팅하는 방법을 어렵지 않게 따라해볼 수 있다.

뿐만 아니라 프로젝트를 시작하기에 앞서 알아두어야 할 롬복의 사용방법이나 애플리케이션 내 설정 파일 관리 및 로그 출력 부분에 대한 기본적인 내용도 친절히 안내하고 있어 처음 공부해보는 독자들도 선수 지식을 쌓을 수 있게 책의 구성되어 있다.

이후에는 실무에서 개발하는 것과 같이 데이터베이스를 프로젝트에 연동하기 위한 방법과 함께 어떤 원리로 연동이 되는지에 대한 내용도 설명하고 있어 각 요소와 핵심 개념을 정리해볼 수 있다.

특히나 이 부분은 그림과 예시 코드들로 자세히 설명되어 있어 어렵지 않게 이해할 수 있도록 한다.

특히나 데이터베이스에 접근할 때 많이 사용되는 Mybatis 외에 SQL 구문 없이도 데이터를 조작할 수 있는 최근 많이 사용되는 JPA 기술도 설명하고 있어 데이터베이스의 기능을 연동하고 사용할 수 있는 다양한 기술도 이해하고 실제로 사용해볼 수 있도록 구성되어 있다.

뿐만 아니라 내/외부 서비스들과 API를 통한 연동을 위한 REST API에 대한 개념 이해와 이를 직접 사용해볼 수 있는 예시코드들도 제공하고 있다.

이러한 핵심 기능을 다룬 이후에는 실제로 게시판을 개발하면서 다양한 스프링의 기능도 이해하고 사용해볼 수 있도록 하며 이후에는 실제로 서비스를 해볼 수 있도록 애플리케이션을 jar나 war의 빌드 결과물로 만들고 이를 톰캣, AWS, 도커 환경에서 배포할 수 있도록 하기 위한 선수 지식과 배포 방법도 다룬다.

이후에는 가장 궁금했던 부분인 OpenAI를 통한 스프링 부트 내에서 AI 기능을 직접 사용해볼 수 있는 부분도 설명하고 있어 단순 핵심개념과 코드 설명 외에도 최신 기술까지의 내용도 스프링 부트 안에서 도입해볼 수 있도록 한다.

이로 인해 스프링 부트의 기초 개념부터 고급까지 실무에서 다룰 수 있는 폭넓은 내용을 이 책 한 권이 모두 다루고 있단 점이 이 책의 가장 큰 장점으로 생각한다.

백엔드 개발의 전반적인 개발의 이해와 경험을 해보고 싶은 모든 분들에게 추천한다.


댓글(0) 먼댓글(0) 좋아요(0)
좋아요
공유하기 북마크하기찜하기 thankstoThanksTo
 
 
 
자바 최적화 - 클라우드 시대의 자바 성능 튜닝을 위한 실용적인 기법, 2판
벤저민 J. 에번스 외 지음, 오지영 외 옮김 / 한빛미디어 / 2025년 5월
평점 :
장바구니담기


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

이 책은 자바 애플리케이션을 좀 더 잘 운영하고 관리하기 위한 최적화된 기술을 배울 수 있는 책이다.

대다수의 자바 개발자들이 프로그래밍을 위한 언어 사용법을 배우지만 프로그래밍 외에 좀 더 안정적이고 최적화된 운영을 위한 방법을 직접적으로 배울 수 있는 방법은 드물다.

처리량과 지연 시간, 수용량과 활용도 뿐만 아니라 확장성과 효율성 그리고 성능 저하 같은 기본적인 성능상의 요소들이 왜 중요한지 파악하는 것이 중요하고 이 요소들이 동시에 최적화하기는 어렵기 때문에 성능 최적화를 위한 올바른 목표를 설정하고 추구하는 것이 중요하다.

이런 자바의 성능을 튜닝하는 실용적인 기법들을 이 책에서 다룬다.

총 15장으로 이루어진 총 5가지 주제를 다룬다.

가장 처음으로 다루는 주제는 여러 정의를 통한 자바 성능을 최적화하기 위한 개념을 다지고 성능을 논할 때 사용할 프레임워크를 수립하는 부분도 다룬다.

이후에는 자바 성능에 대한 내용을 다룰 때 자주 등장하는 문제와 함정을 살펴보는 과정도 다룬다.

특히 첫번째 장에서는 잘못된 자바 성능을 최적화하기 위한 기본 핵심을 다루기 때문에 더 좋은 성능을 위한 엔지니어링을 위한 여러 내용을 집중적으로 다루기 때문에 이러한 성능 문제가 발생했을 때 이를 폭넓게 이해하고 해결할 수 있는 기반의 내용을 다루기 때문에 첫장에서 다루는 내용은 꼼꼼히 읽고 이해할 수 있도록 해야한다.

이후에는 자바의 성능 테스트 방법론을 다루는데 이 부분은 실무를 하면서 많이 접할 수 있는 테스트의 종류이다.

각 테스트별로 어떠한 성능의 종류를 테스트하기 위한 것인지에 대해 다루기 때문에 특히나 실무에서 접할 수 있는 내용이므로 성능 테스트 방법론의 내용을 정리해보는 것도 추천한다.

이후에는 자바 개발자라면 알고 있을 내용인 JVM에 대한 내용을 다룬다.

JVM의 구성 요소들과 함께 이를 모니터링하기 위한 도구를 소개하며 이후에는 JVM의 구성요소인 GC, JIT의 각 요소에서 자바의 성능을 좌우하는 부분에 대한 내용과 함께 이를 잘 다루기 위한 방법을 다룬다.

이를 통해서 왜 성능이 느려지는 지에 대한 원인을 파악할 수 있고 이를 해결할 수 있는 방안들을 생각해볼 수 있다.

GC와 JIT를 다룬 이후에는 하드웨어의 관점에서의 하드웨어를 이루는 메모리와 캐시, 프로세서, OS에 대한 기본 이해를 통해 애플리케이션 성능에 영향을 미치는 하드웨어 측면에서의 안정된 사용 방법을 이해할 수 있다.

이후에는 클라우드 플랫폼 환경에서 자바의 성능을 효과적으로 관리하는 최적화 방법을 다룬다.

클라우드 플랫폼 환경에서 자바 애플리케이션을 잘 운영하기 위한 가상화 고려사항과 함께 클라우드 환경의 이미지와 컨테이너의 기초 내용도 다루고 있다.

또한 클라우드 네이티브의 스택의 중요 요소인 네트워킹은 서비스를 검색하고 트래픽을 라우팅하는 중요한 고려사항을 다루고 있다는 점에서 클라우드 플랫폼 환경에서 이해할 기본 내용과 핵심을 이해해야 이후에 다루는 내용을 이해할 수 있다.

이러한 기본 내용 이후에는 클라우드 환경에서 자바 애플리케이션을 배포하기 위한 구성요소들과 함께 배포의 원리와 방식을 소개한다.

클라우드 환경에서 블루/그린 배포, 카나리 배포는 한번쯤 들어보았을 배포 전략이다.

이런 배포 기술의 원리와 각각의 특징, 장/단점을 통해 서비스와 상황에 맞는 배포 전략을 이해할 수 있다.

이후에는 모니터링 시스템의 연장으로 더 확장되고 일반화된 모니터링 기술을 넘어 새로운 기능을 제공하는 관측성에 대한 내용을 다룬다.

관측성은 시스템의 내부 상태를 외부에서 얼마나 잘 추론하는 가라는 질문에서 시작이 되는데 이를 통해 장애 상황을 해결하는 과정 뿐만 아니라 다양한 활용 가능성을 가지고, 컨테이너 환경과 같은 새로운 운영 방식에서 시스템이 업그레이드 되거나 유지되기보다 문제의 상황이 발생되면 안정적인 버전으로 롤백하거나 새로운 빌드로 전환하는 방식에서 변화된 서비스의 운영 방식 뿐만 아니라 확장의 규모에서 문제를 해결하도록 하는 내용을 다룬다.

후반부에서는 가상 스레드와 분산 패턴을 통해 클라우드 규모의 동시성에 관한 내용을 다룬다.

동시성은 특히나 서비스가 확장되고 복잡해지면 더더욱 중요해진 기술이다.

동시성에 대한 개념과 함께 자바 영역에서 제공하는 동시성 라이브러리들은 실무에서 자주 다루는 부분들이다.

특히나 자바의 동시성과 비동기 실행 방식, 가상 스레드를 다루는 내용은 어려울 수 있지만 분명 실무에서 자주 다루는 서비스 로직의 한 부분이기 때문에 어렵더라도 이들의 사용 원리를 이해하기를 추천한다.

마지막 장에서는 자바의 JVM의 미래를 생각하는 내용으로 마무리를 짓는다.

복잡해지는 서비스를 개발/운영하기 위해 자바의 관점 뿐만 아니라 클라우드 환경에서 자바 애플리케이션을 안정적으로 운영하기 위한 기법들을 다룬다는 점에서 개인적으로 많은 도움을 받았다.

서비스를 운영하면서 성능 관점에서 최적화되지 않은 부분들을 접할 수 있었다.

그때마다 가장 먼저 프로그래밍 관점에서 최적화한 부분도 있지만 이외에 하드웨어와 인프라 관점에서도 성능을 개선한 부분도 있었다.

다양한 관점에서 자바 애플리케이션의 성능을 최적화하기 위한 특히나 클라우드 환경에서 최적화하는 방법을 다루고 여러 지표와 사례를 통해 상황별 해결 방안을 이해하고 최적화하는 방법을 익힐 수 있었다.

앞서 말했듯이 어려울 수 있는 내용들도 많지만 프로그래밍 관점 외에 더 확장된 영역에서 서비스를 안정적으로 운영하기 위한 방법을 이해할 수 있기 때문에 어렵더라도 완독하기를 추천한다.


댓글(0) 먼댓글(0) 좋아요(0)
좋아요
공유하기 북마크하기찜하기 thankstoThanksTo
 
 
 
Do it! 클린 프로그래밍 - 코드만 짜던 당신, '진짜' 개발자가 된다! Do it! 시리즈
김종관 지음 / 이지스퍼블리싱 / 2025년 6월
평점 :
장바구니담기


이 책은 책의 제목처럼 코드를 깔끔하게 작성하는 방법과 함께 다른 개발자 동료와 협업이 가능한 개발자가 되기 위한 방법 및 클린한 설계를 위한 프로그래밍 원칙들을 배울 수 있는 책이다.

시중에 이런 클린 프로그래밍과 관련된 책이 많이 출간되어 있지만 이 책은 개발을 이제 시작하려는 분들이나 신입 개발자분들에게 초점이 맞추어진 책이어서 핵심 내용에 대해 어렵지 않게 설명되어 있고 무엇보다 각 챕터를 시작할 때 왜 이런 내용을 다루는지에 대한 내용을 소개하고 후반부에서 이런 핵심 내용을 정리해주고 있어서 다시 한번 내용을 되새길 수 있도록 구성되어 있다.

그렇기 때문에 이 책을 읽는 누구나 어렵지 않게 내용을 이해할 수 있다.

이 책은 총 네 가지 챕터로 이루어져있다.

첫번째 마당에서는 클린 코드 개발자 되기라는 주제를 다룬다.

클린 코드를 왜 지켜야 하는지에 대한 내용을 먼저 다루기 때문에 소프트웨어를 개발하면서 코드의 가독성과 개발 생산성, 유지보수성을 향상하기 위해 개발자라면 반드시 준수해야 하는 중요한 사항임을 깨달으면서 시작한다.

이를 위해 클린 코드의 원칙과 기존 코드에서 발생하는 코드 스멜을 개선하기 위한 리팩토링과 함께 개선한 코드를 검증하기 위한 테스트 코드의 작성 방법도 다루고 있어 클린 코드를 위해 개발자가 어떠한 부분을 할 수 있는지에 대해서 배울 수 있다.

특히 나의 경우 첫번째 장에서 다루는 내용의 예시 코드를 나는 어떤 방식으로 바꿀지에 대해 먼저 생각해보고 책의 내용과 비교해보았다.

두번째 마당에서는 협업 가능한 개발자 되기라는 주제를 다루는데, 주 내용이 코드 리뷰에 관한 내용이다.

코드 리뷰는 최근 개발 과정 중에서 중요하다고 생각되는 단계 중 하나이다.

코드 리뷰는 작성한 코드를 다른 동료 개발자들의 시각에서 검토하고 오류 사항이나 코드 스멜을 찾아내는 프로세스로 코드의 품질 향상에 많은 도움이 된다.

내가 현재 근무중인 회사에서도 코드 리뷰를 진행하고 있다.

나뿐만 아니라 다른 개발자들은 처음에는 코드 리뷰를 많이 부담스러워한다. 일정이 빠듯한 점도 있지만 내 코드를 다른 동료들에게 평가를 받는다는 부담감 뿐만 아니라 귀찮기도 하지만 코드 리뷰를 통해 다른 개발자의 코멘트로 코드의 품질이 향상이 되기도 하고 리뷰이도 개발 역량을 높일 수 있는 이점을 많이 갖고 있다.

코드 리뷰를 하는 방법과 함께 이를 효과적으로 수행하는 방법을 통해 다른 개발자와의 협업의 한 부분인 코드 리뷰를 효율적으로 하는 방법을 알 수 있다.

세번째 마당에서는 좋은 구조를 만드는 개발자 되기라는 주제로, 이 책에서 중요하다고 생각한 챕터이다.

객체 지향 프로그래밍이라는 용어를 한번쯤 들어보았을 텐데 이 객체지향 프로그래밍의 특징인 추상화와 상속, 그리고 다형성과 캡슐화를 통해 절차 지향 프로그래밍보다 코드의 확장성과 재사용성, 그리고 외부에서 추가 요청이나 기능 변경이 있을 때의 유연하게 대응할 수 있도록 하는 특징을 이해할 수 있다.

특히 많이 들어보았을 생성 패턴, 구조패턴, 행동패턴, MVC 패턴으로 나누어볼 수 있는 효과적인 디자인 패턴의 활용 전략들도 예시 상황과 코드를 통해서 이해할 수 있다는 점에서 클린 코드를 작성하기 위한 패턴의 구조를 이해할 수 있다.

특히 이 내용들은 면접 시에도 질문 내용으로 다룰 수 있는 내용들을 이해하기 쉽게 다루고 있어서 내용을 정리하고 예시코드도 이해하는 것을 추천한다.

다만 나는 디자인 패턴 내용의 서론에서 저자가 언급했듯이 "패턴병에 걸리지 말라"는 내용에 많은 공감을 했다.

주변에 개발자분들 중 처음 디자인 패턴을 배울 때 모든 부분을 패턴으로 해결하려는 분들을 많이 보았기 때문이다. 실제로는 좀 더 간단하게 해결 할 수 있는 부분인데도 디자인 패턴의 내용에 기반하여 해결하려고 하여 여러 애로새항을 경험한 적이 있었다.

저자의 생각처럼 나도 클린 코드의 기본은 간결하고 이해하기 쉬운 깨끗한 코드를 작성하는 데에 있기 때문에 이를 너무 남용하지 않아야 한다고 생각한다.

마지막 네번째 마당에서는 소프트웨어를 설계하는 개발자 되기라는 주제로 소프트웨어 프로세스 모델에 내용을 다룬다.

소프트웨어 프로세스 모델은 프로젝트의 전반적인 흐름을 이해하고 관리하는데 도움이 되고 각 단계에서 필요한 작업과 책임을 명확히하기 때문에 여러 이해 관계자들의 소통을 명확히 할 수 있다는 점에서 안정적이고 효과적으로 설계할 수 있다.

특히 UML은 이러한 의사 소통을 원활하게 하기 위해 시스템을 시각화하여 표현하게 하여 의사소통을 원활하게 해주고 개발자들이 이 UML만으로도 프로세스를 빠르게 이해할 수 있도록 도와준다.

그렇기 때문에 네번째 장에서는 UML을 작성하는 방법을 소개하는데 실무에서도 실제로 UML을 작성해야 하는 단계가 있기 때문에 이 부분도 꼼꼼히 읽는 것을 추천한다.

개발 프로세스에서 중요 핵심 내용들을 이 책에서 다루기 때문에 코드를 깔끔하게 작성하는 것을 넘어 품질 높은 코드를 작성하고 주변 동료 개발자들과의 협업을 원할하게 하는 방법, 그리고 시스템 설계에서 각 구조를 이해하기 위한 작업들에 대해서도 다루기 때문에 이 책의 제목처럼 클린 프로그래밍의 핵심 내용을 공부해볼 수 있다.

클린 프로그래밍은 개발자의 숙명이다.

클린 프로그래밍의 관심이 많은 개발자분들께 추천하고 기초 내용부터 이해하고 싶은 분들에게 특히나 추천한다.


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