디자인 패턴의 아름다움 - 객체지향 패러다임부터 설계 원칙, 코딩 규칙, 리팩터링 기법, 디자인 패턴까지
왕정 지음, 김진호 옮김 / 제이펍 / 2023년 5월
평점 :
장바구니담기


큰 프로젝트를 하기 위해서는 다양한 사람들이 같이 개발을 하는 것이 대부분입니다.

혼자서 개발하는 경우는 없습니다. 그러므로 코드를 작성하기 위해서는 다른 사람들이

이해할 수 있는 코드와 효율적인 코드를 작성해야합니다. 

그리고 유지보수가 잘되고 재사용이 가능한 코드를 작성해야 개발하는 비용을 줄일 수 있습니다.그러나 효율적인 코드를 작성하고 개발하지 않고 개발하는 경우가 많은데 기간 내에 개발을 완료하고 납품을 해야하기 때문입니다. 

이 책은 이러한 경우를 없애줄 수 있는 좋은 방안을 알려주는 책입니다.

디자인 패턴은 소프트웨어 개발에서 자주 접하게 되는 일부 설계 문제에 대해 요약된 솔루션 또는 설계 사상을 모아둔 것으로 코드 디커플링과 확장성 문제를 해결합니다. 

디자인 패턴은 설계 원칙에 비해 그다지 추상적이지 않고 이해하기 쉽고 코드 구현도 복잡하지 않습니다. 이책은 이러한 디자인 패턴을 22개로 나눠서 알려주고 있고 누구나 손쉽게 디자인 패턴을 배우고 적용할 수 있는 방법을 상세히 기술하고 있습니다. 

먼저 이책은 코드 설계를 배우는 이유에 대해서 코드품질 평가방법, 코품질 코드를 작성하는 방법, 과도한 설계를 피하는 방법을 먼저 알려주고 있습니다. 

두번째로는 모든 코드의 기본적인 설계 방법인 객체지향 프로그래밍 패러다임에 대해서 다양한 관점에서 알려주고 있습니다. 단순히 코드만 나열하는 것이 아니라 실제 프로그래밍을 하면서 객체지향을 적용할 때 어떤 방법으로 적용해야하는 지를 알려주고 있습니다.

이러한 기본 개념을 바탕으로 소프트웨어 설계 원칙에 대해서 8개의 원칙(단일 책임 원칙, 개방 폐쇄 원칙, 리스코프 치환 원칙, 인터페이스 분리 원칙, 의존 역전 원칙, KISS원칙과 YAGNI원칙, DRY원칙, LoD)에 대한 자세한 설명을 해주고 있습니다. 

그리고 22개의 고전적인 디자인 패턴에 대해서 예제코드를 보여주면서 각 패턴에 대한 자세한 설명을 해주고 있어서 실무에 적용하기 편리하게 되어 있습니다. 

생성디자인 패턴 : 싱글턴 패턴, 팩터리 패턴, 빌더 패턴, 프로토타입패턴

구조 디자인 패턴 : 프록시 패턴, 데커레이터 패턴, 어댑터 패턴, 브리지 패턴, 퍼사드 패턴, 복합체 패턴, 플라이웨이트 패턴

행동 디자인 패턴 : 옵서버 패턴, 템플릿 메서드 패턴, 전략 패턴, 책임 연쇄 패턴, 상태 패턴, 반복자 패턴, 비지터 패턴, 메멘토 패턴, 커맨드 패턴, 인터프리터 패턴, 중재자 패턴

으로 나눠서 알려주고 있습니다. 






댓글(0) 먼댓글(0) 좋아요(0)
좋아요
공유하기 북마크하기찜하기 thankstoThanksTo
 
 
 
개발자를 넘어 기술 리더로 가는 길
타냐 라일리 지음, 김그레이스 옮김 / 디코딩 / 2023년 5월
평점 :
장바구니담기


개발자라면 항상 고민하는 문제가 있다. 계속해서 개발자로서 남을 것인가. 아니면 관리자급으로 올라갈 것인가.

연차가 쌓이고 나이가 들면 누구나 직면하는 문제일 것이다. 이책은 이러한 문제에 대해서 어떻게 하면 두개를 융합한 좋은 기술 리더가 될 수 있는지 그 방법을 제시해주고 있다. 

개발자 이후 두갈래 의 길이 있다. 하나는 직속 보고를 받는 매니저가 되는 것, 두번째는 기술 리더의 길로 흔히 스태프 엔지니어라고 불리는 길이다. 스태프 엔지니어의 길은 매니저가 되는 길보다는 상대적으로 불완전하다. 많은 기업에서 기술 전문가 진로는 여전히 많은 사람이 가보지 않은 길이고 국내에서도 거의 없는 것으로 보인다. 그리고 기업에서조차 스태프 엔지니어를 고용하거나 승진시키는 기준이 모호한 경우도 있고, 이마저 실행 여부가 불투명한 상황도 많다. 이책은 이러한 스태프 엔지니어가 더 성장하고 앞으로 더 중요한 역할을 하도록 그 길을 제시해주고 있다. 실제 저자가 이러한 길을 직접 걸어서 개척한 스태프 엔지니어이므로 이와 관련된 많은 조언을 이책에서 다 알려주고 있다. 

이러한 것을 알려주기 위해 아래와같이 그림으로 설명을 해주고 있다. 







또한 각 장을 마치면서 가장 중요한 내용을 요약해서 알려주고 있다. 



이 책은 총 3부로 나뉜다. 첫번째는 넓고 전략적인 관점을 취하는 방법에 대해서 알려준다. 두번째는 전술을 수립하고 프로젝트를 주도하면서 문제를 해결하는 실용적인 방법을 알려준다. 세번째는 조직 차원의 레벨업이다. 이렇듯 이책은 기술 전문가 진로에 머무르는 것을 전제로 내용을 진행하고 기술서가 아니므로 기본적인 기술은 보유하고 있다고 가정한다. 그리고 스킬 역량이 뛰어난 사람이 자신의 아이디어를 수용하도록 동료들을 설득하고, 주변 엔지니어들의 실력을 향상시키고, 조직의 교착 상태를 풀어낼 수 있는 아주 중요한내용을 알려줄 것이다. 

기술 리더가 되고 싶은 모든 개발자들은 반드시 읽어야할 책이라고 생각된다. 물론 나도 열심히 읽을 것이다.


댓글(0) 먼댓글(0) 좋아요(1)
좋아요
공유하기 북마크하기찜하기 thankstoThanksTo
 
 
 
추천 시스템 입문 - 개인화된 콘텐츠 제공을 위한 추천 시스템 설계부터 UI/UX, 구현 기법, 평가까지
가자마 마사히로.이즈카 고지로.마쓰무라 유야 지음, 김모세 옮김 / 한빛미디어 / 2023년 5월
평점 :
장바구니담기


추천 시스템은 현재 여러 방문에서 많이 사용되고 있다. 유튜브에는 수많은 콘텐츠가 매일 매일 업데이트 되고 있고, 아마존에서도 매일 새로운 상품이 추가되고 있다. 또한 넷플릭스에서는 내가 본 영화나 드라마와 비슷한 유형의 새로운 영상을 추천해주고 있다. 이렇듯 추천시스템은 다양한 분야에서 사용되고 있으며, 추천알고리즘도 인기도 순위같은 획일적인 추천이 아니고 개개인의 흥미나 관심에 부합하는 맞춤형 추천이 가능할 정도로 정교해졌다. 

이러한 추천 시스템의 발전을 처음으로 배우기에 이책은 매우 적합한 내용으로 되어 있다. 

복잡한 내용보다는 추천시스템의 기본적인 내용에 대해서 입문서로서 알기쉽게 설명되어 있다. 

총 8개의 장으로 되어 있으며 1장은 추천시스템의 개요에 대해서 알려주고 있다. 

3장은 추천 시스템의 UX/UI에 관해서 서술하고 있고 4장 에서는 대표적은 추천 알고리즘인 협조필터링과 내용 기반 추천에 대해서 설명한다. 

5장은 인기도 추천과 행렬 분석 알고리즘에 관해 각각 자세히 설명을 해주고 있고 특히 10종류 이상의 알고리즘에 대해서 소개를 해주고  있다. 또한 실제 예제인 MovieLens라는 데이터셋을 가지고 각 알고리즘을 적용하는 코드를 알려준다. 











7장에서는 추천 시스템의 성능을 어떻게 평가할 수 있는지 다양한 평가모델을 설명해준다. 간단한 예측 오차 같은 지표 뿐만 아니라 추천한 아이템의 다양성을 측정하는 지표나 의외성을 측정하는 지표도 알려주고 있다. 


이렇듯 이책은 추천시스템을 처음으로 접하는 입문자들을 위한 책으로 내용이 깊이가 있지는 않으나 처음 접하는 사람이 손쉽게 추천 시스템에 대한 내용을 알 수있도록 저자들이 신경써서 작성한 것이 많이 보이는 책이다. 

처음으로 추천시스템을 공부하려는 초보자분들에게 적합하다고 생각된다. 이 책으로 기본기를 다지고 더 높은 알고리즘이나 중고급 책을 보면 매우 좋을 것으로 판단된다. 



댓글(0) 먼댓글(0) 좋아요(0)
좋아요
공유하기 북마크하기찜하기 thankstoThanksTo
 
 
 
코딩 자율학습 나도코딩의 파이썬 입문 - 초보자 눈높이에 맞춘 친절한 프로그래밍 자습서 코딩 자율학습
나도코딩 지음 / 길벗 / 2023년 2월
평점 :
장바구니담기


파이썬을 누구나 배우고 싶어할 때 적극적으로 추천해줄만한 책이다. 스스로 누구의 도움없이 공부할 수 있도록 짜임새있게 서술되어 있다. 핵심만 보여주는 간결한 설명, 초보자들에게 생소한 개념을 그림으로 쉽게 이해할 수있게 서술 되어 있으며 초보자의 입장에서 막힐 만한 부분은 상세히 서술해 놓아서 이해가기가 쉽다. 또한 동영상 강의도 같이 제공되므로 하나하나 동영상을 보면서 따라할 수 있도록 되어 있어서 누구나 쉽게 파이썬을 공부할 수 있도록 해놓았다. 

각 장마다 기본 설명, 팁과 노트, 1분 퀴즈, 실습 문제, 마무리, 셀프체크, 게임만들기 예제 등으로 되어 있어서 자칫 지루한 프로그래밍을 흥미롭게 공부할 수 있도록 여러 코너를 제공해주고 있다. 












파이썬이란 언어를 처음 접하고 기초를 어느정도 확보하기 위한 사람들을 위한 좋은 책이라고 말할 수 있을 듯 하다.

현재 파이썬 기본 관련 된 책이 엄청나게 많이 나오고 있는 상황이라 어떤 책을 골라야할지 많이 고민이 될 수있을 듯하다. 이책은 그러한 고민을 덜어줄수 있는 책임에는 틀림이 없다는 것을 다시 한번 확인할 수 있었다. 


댓글(0) 먼댓글(0) 좋아요(0)
좋아요
공유하기 북마크하기찜하기 thankstoThanksTo
 
 
 
NestJS로 배우는 백엔드 프로그래밍 - 타입스크립트 환경의 차세대 서버 프레임워크를 만나다
한용재 지음 / 제이펍 / 2022년 12월
평점 :
장바구니담기


백엔드 프로그래밍을 위한 다양한 프레임워크가 사용되고 있다. Express가 가장 범용적으로 사용되고 있으나 npm으로 설치하는 경우가 많아서 관리하는 것이 귀찮고 생산성이 약간 떨어진다. 그래서 다른 새로운 편리한 프레임워크에 대한 수요가 많이 늘어나는 상황에서 Nestjs에 대한 내용을 체계적으로 알려주는 책은 이책이 유일한 것으로 보여진다. 나도 nestjs에 대한 것을 배우고 싶었으나, 제대로 정리한 책이나 예제를 찾아보기 어려워서 이 책이 나온 것이 너무 반갑게 여겨진다. 


이책은 node.js, 이벤트 루프, 타입 스크립트, 데커레이트 등 웹 개발 기초지식을 알려주고 있고, nestjs 구현 하는데 필요한 인터페이스, 프로바이더, 파이프, 모듈 등에 대한 상세한 설명을 제공하고 있으며, 백엔드 기술에서 필수적인 요소인 환경변수 구성, JWT인증/인가, 테이블에 데이터를 기록하고 처리하는 영속화 등에 대한 내용을 제공하고 있다. 

또한 이책의 가장 큰 장점중에 하나는 중요한 기술인 경우 쉬어가는 페이지 코너를 통해서 더 자세한 내용을 제공하고 있으며 nest.js에 기술에 국한된 것이 아니고 저자의 경험에서 우러나오는 백엔드 프로그래밍을 할때 꼭 필요한 좋은 SW개발자가 되기 위한 매우 좋은 팁도 쉬어가는 페이지를 통해서 제공해주고 있어 이 부분은 정말 개발자들에게 꼭 필요하다. 


본문 내용은 아래와 같이 각 장마다 내용을 서술하고 관련 소스코드를 전체 제공하고 설명해주고 있다. 


서비스를 위한 전반적인 그림을 그려서 한눈에 파악하기 쉽게 서술되어 있다. 




쉬어가는 페이지를 통해서 본문에서 미쳐 알려주지 못한 내용을 알려주고  있으며 nestjs에 국한되지 않고 백엔드 개발자가 되기 위한 로드맵등과 같이 백엔드 개발자가 되기 위한 아주 좋은 팁도 제공해주고 있어서 백엔드 개발을 위해서 정말로 필요한 정보를 제공해주고 있다. 


이책은 백엔드 개발자들에게 매우 큰 도움이되는 저자만의 팁을 제공하고 있어서 이것만 해도 매우 큰 장점을 가지고 있다. 

이렇듯 이 책은 Nestjs를 개발하기 위한 충분한 내용을 제공하고 있어서 nestjs를 배우고 싶은 모든 개발자들에게 강력하게 추천한다. 


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