도메인 주도 개발 시작하기 - DDD 핵심 개념 정리부터 구현까지
최범균 지음 / 한빛미디어 / 2022년 3월
평점 :
장바구니담기


도메인 주도 개발 시작하기


백엔드 개발을 하다 보면 서비스가 확장될 때마다 레거시 코드의 수정이 필요한지 안 하는지 고민하게 됩니다.


옛말에도 ‘바퀴를 다시 발명하지 말라는 말’처럼 이미 만들어져 잘 되는 것을 처음부터 다시 만들 필요는 없다는 것이죠.


하지만 도메인이 전반적으로 달라지면 코드 크게 고쳐야 하므로 MSA형식으로 분할해서 개발하는 것이 더 편하다는 생각이 듭니다.


그럼 이러한 상황이 덜 오게 하려면 어떻게 해야 할까요? 제일 중요한 것은 서비스 로직의 변화를 예상하는 것입니다.


예를 들어 결제 시스템이 있습니다. 10년 전만 해도 카드 및 계좌이체만 생각했을 시스템이 지금은 각종 페이부터 간편 시스템들이 즐비한 시대가 됐습니다.


결제 시스템이 늘어날 때마다 코드 전반을 고치는 것보다 확장성이 좋게끔 변화의 여지를 주는 개발이 필요합니다.


이때 필요한 것은 바로 도메인 주도 개발입니다.

에릭 에반스가 직접 만든 시스템 설계 방법인데요. 일명 DDD라고도 불립니다.


10년 전에 나온 책(도메인 주도 설계)이 원서를 번역한 책이며 글 위주의 책이라 실무가 적은 개발자들이 보면 이해하기가 쉽지 않습니다.


이 책을 이해를 돕기 위한 책이 나왔습니다.


바로 ‘도메인 주도 개발 시작하기’입니다.




1) 애그리거트

복잡한 도메인 모델을 관리할 수 있는 단위로 묶는 것을 에그리거트라 말합니다.


애그리거트간 집합 연관을 살펴보기 위한 예시를 들어보겠습니다.


카테고리와 상품 간의 연관이 대표적입니다.


카테고리는 한 개이지만 카테고리에 속한 상품은 여러 개가 될 수 있습니다.


1-N 연관도 있지만 상품의 경우 여러 카테고리에 속할 수 있다 볼 수 있는데요.

그런 경우에는 M-N 연관도 요구사항을 고려하여 구현에 포함해야 합니다.





2) 도메인 서비스

도메인 서비스에 대해 알아보겠습니다.


도메인 서비스는 도메인 로직을 표현할 때 사용합니다.


도메인 로직을 사용하는 예를 몇 가지 알아보겠습니다.


먼저 계산 로직인데요.

간단한 계산은 한 애그리거트에 넣을 수 있습니다.


하지만 복잡한 계산 로직의 경우 여러 애그리거트에 로직을 넣어야 합니다.


외부 시스템의 경우 구현할 때 타 시스템을 사용해야 할 때가 있습니다.


다음 상황은 외부 시스템을 도메인 로직에 연동해야 합니다.




PS

도메인 주도 개발을 알고자 하는 자바 서버 개발자에게는 큰 도움이 되는 책인데요.

관련된 예제 소스도 실행이 잘되며 설명도 쉽게 되어 있어서 에릭 에반스의 책을 읽기 전에 이 책으로 개념을 잡고 넘어가면 좀 더 쉽게 잘 읽힐 것입니다.


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




댓글(0) 먼댓글(0) 좋아요(0)
좋아요
북마크하기찜하기 thankstoThanksTo
 
 
 
AI, 빅데이터 활용이 쉬워지는 142가지 데이터셋
반병현 지음 / 생능북스 / 2022년 2월
평점 :
장바구니담기


빅데이터 세상에서 살아가고 있습니다.

AI 하면 자율주행차, 인공지능 스피커, 이미지 분류가 생각납니다.

양질의 데이터를 얻고 싶지만 구하기 어렵습니다.

그런 분들에게 데이터셋을 잘 정리해둔 책을 하나 소개해드리고자 합니다.

소개할 책은 ‘AI, 빅데이터 활용이 쉬워지는 142가지 데이터셋’입니다.

이 책을 통해 어떤 종류의 데이터셋이 있는지 같이 살펴볼 수 있습니다.

데이터셋을 통해 AI와 빅데이터를 활용하는 여러분이 되시길 바랍니다.




1) 관심 분야

사람들마다 관심 분야가 다릅니다.

사람들이 관심 있어 할만한 데이터셋도 잘 정리되어 있습니다.

예를 들어 영상, 자연어 처리, 이미지 분류의 데이터셋도 다룹니다.

또한 의료나 농업에 관심 있는 분들도 있습니다.

그 외에도 데이터셋의 범위가 18가지가 됩니다.

목차를 보면서 관심이 가는 데이터셋이 있는지도 찾아보시기를 바랍니다.

궁금한 데이터셋이 있으면 어떤 데이터셋인지 읽어봐도 좋습니다.




2) 데이터셋 활용

데이터셋을 활용하려면 어떤 데이터인지 알아야 합니다.

데이터를 안다는 것은 무슨 특징을 가졌는지와 데이터에 관해 설명할 수 있어야 합니다.

데이터셋의 명칭부터 해당 데이터셋 관련 논문도 알려줍니다.

다른 논문을 참고할 경우 출처를 잘 적어줘야 하는데요.

출처가 없을 경우 애써 만든 논문이 표절될 수 있습니다.

그렇기 때문에 논문을 참고할 때도 출처를 잘 기록해두며 참고하고 사용해야 합니다.




Ps

연구나 개발업무에 관심 있는 분들이 계실 텐데요.

전문 분야에 따라 학습하는 게 다릅니다.

데이터 분석하려면 데이터가 필요합니다.

데이터를 직접 확보하거나 검증된 데이터셋을 통해 할 수 있습니다.

검증된 데이터셋을 알려주고 저작권과 관련된 논문의 출처도 알려줍니다.

졸업작품을 준비하는 대학생이나 졸업논문을 준비 중인 대학원생들에게도 이 책을 추천합니다.



댓글(0) 먼댓글(0) 좋아요(0)
좋아요
북마크하기찜하기 thankstoThanksTo
 
 
 
쉽게 따라 만드는 파이썬 주식 자동매매 시스템 - 파이썬으로 나만의 주식 자동매매 시스템을 만든다!
박준성 지음 / 길벗 / 2021년 10월
평점 :
장바구니담기


쉽게 따라 만드는 파이썬 주식 자동매매 시스템

주식은 소액으로 투자할 수 있기 때문에 많은 사람이 도전합니다.

한번 수익을 보면 수익에 중독되어 주식만 쳐다보게 되는 문제가 생깁니다.

주식에 대한 공부 없이 투자를 하다 보면 큰 낭패를 당할 수 있습니다.

주식에 계속 정신이 팔리면 본업에도 지장이 생깁니다.

본업에 지장이 생기지 않도록 주식 투자를 하기 위해 좋은 책을 소개해 드리려 합니다.

소개할 책은 “쉽게 따라 만드는 파이썬 주식 자동매매 시스템”입니다.

한 가지 일만 해서는 돈을 모으기 쉽지 않습니다.

주식 자동매매에 관심이 있으시다면 이 책을 한 번 보시길 바랍니다.

주식에 대한 투자 전략과 자동 매매 시스템이 어떻게 만들어지는지 알 수 있습니다.





1) 자동매매 시스템

자동매매 시스템은 아나콘다와 파이참을 통해 개발 할 수 있습니다.

증권 데이터를 주고받을 때 키움증권 API를 사용합니다.

주식은 타이밍을 잘 못 잡으면 손해를 보기 쉽습니다.

자동매매프로그램을 만들면 현명한 투자를 할 수 있습니다.

매수와 매도 조건을 정하고 조건 달성하면 자동으로 사고파는 시스템을 만들면 그런 걱정을 덜게 됩니다.

개발자나 비개발자든 누구나 쉽게 따라 할 수 있도록 개발환경 만드는 것부터 알려줍니다.

파이썬 기초를 모르시는 분들이라도 기초부터 알려주므로 쉽게 따라 만들 수 있을 것입니다.




2) 투자전략

주식도 투자전략이 있어야 수익을 만들 수 있습니다.

저자가 알려주는 방법 외에도 공부를 통해 다른 투자전략도 고민해보시길 바랍니다.

자동매매시스템은 룰을 정해야합니다.

매수와 매도 조건을 정하면 나를 대신해 주식을 사거나 팔아줍니다.

투자에 대한 지식 없이 투자하는 것은 위험합니다.

먼저는 모의투자를 통해 충분히 테스트하고 실전 투자로 전환하시길 바랍니다.




Ps

주식 투자는 심리적인 부분이 가장 힘듭니다.

큰 수익은 아니더라도 조건을 달성하면 주식을 사고, 팔아준다면 심리적인 부담을 줄일 수 있습니다.

이 책은 시스템을 만드는 전체 과정을 설명해줍니다.

기본 지식이 있는 분들은 아는 부분은 넘어가고 모르는 부분부터 보셔도 좋습니다.

계속 손해만 보는 투자를 하고 있다면 이 책이 도움 될 것입니다.


댓글(0) 먼댓글(0) 좋아요(3)
좋아요
북마크하기찜하기 thankstoThanksTo
 
 
 
쥬비스 미라클 - 쥬비스 다이어트는 어떻게 신화가 되었나?
조성경 지음 / 쌤앤파커스 / 2022년 3월
평점 :
장바구니담기


창업을 하지만 회사 운영을 어떻게 해야 할지 모르는 분들에게 추천하고 싶은 책이 있습니다.

소개해 드리려는 책은 ‘쥬비스 미라클'입니다.

다이어트를 해보시려던 분들은 쥬비스 회사에 대해 들어보셨을 건데요.

쥬비스 회사는 코로나 19의 여파에도 지속적인 성장을 보인 기업입니다.

회사 창업을 할 때 조언을 얻으려면 창업 성공사례를 찾습니다.

쥬비스를 창업하면서 경험한 모든 전략이 담겨 있습니다.

노하우를 같이 살펴보도록 하겠습니다.




1) 가시적인 데이터

가시적인 데이터는 회사의 운영 상태를 잘 보여줍니다.

대표적인 사례를 들자면 통장을 3개로 관리하면 됩니다.

매출 통장, 지출 통장, 이익 통장으로 나눌 수 있는데요.

회사의 매출은 매출통장에 들어옵니다.

인건비, 광고비, 임대료 등 지출되는 비용은 지출통장에서 빠져나가도록 합니다.

지출되는 비용을 정확히 계산해 그 비용만큼만 매출통장에서 지출통장으로 옮깁니다.

지출되고 남은 비용은 이익 통장으로 옮겨가면 매달 1일에 매출통장은 0원으로 만듭니다.

매출, 지출, 이익을 한눈에 확인할 수 있습니다.

하나의 통장으로 관리하면 돈이 들어오고 나가는 것을 관리하기 어렵습니다.




2) 데이터 핸들링

데이터가 쌓이면 핸들링을 통해 가치 있는 데이터를 뽑아야 합니다.

방대한 데이터 중 가치 있는 데이터를 통해 고객에 대한 정확한 처방을 내릴 수 있습니다.

고객의 정보 211가지를 측정하고 데이터를 분석합니다.

데이터를 바탕으로 530만 건의 빅데이터를 통해 AI가 최적의 솔루션을 찾아낼 수 있습니다.

다이어트 시장에서 데이터를 분석하고 활용했기에 다른 기업보다 잘 된 것으로 보입니다.




Ps

다이어트 책으로 보기보단 스타트업에 초점이 맞춰진 책입니다.

저자는 5000만 원으로 창업해 2,500억 가치의 회사를 만들었습니다.

코로나19 와중에도 30% 성장을 보였습니다.

AI 솔루션을 통한 고객의 다이어트를 도와줍니다.

쥬비스 회사가 성공할 수 있던 노하우가 궁금하신 분들에게 이 책을 추천합니다.



댓글(0) 먼댓글(0) 좋아요(0)
좋아요
북마크하기찜하기 thankstoThanksTo
 
 
 
자바 마이크로서비스를 활용한 SRE - 기업에서 신뢰할 수 있는 마이크로서비스를 위한 패턴
조너선 슈나이더 지음, 정병열 옮김 / 한빛미디어 / 2022년 3월
평점 :
장바구니담기


슈퍼앱을 개발하는 회사들이 서비스 운영을 모놀리식에서 마이크로서비스로 넘어가는 케이스들이 점차 늘어나고 있습니다.


계기점은 '구글의 로그인 인증' 이슈 입니다.


로그인 인증이 필요한 구글 서비스들이 한 순간에 작동이 되지 않았는데요.

유튜브 등 로그인이 필요 없는 서비스만 이용할 수 있었습니다.


그 후로 서비스 방식을 대부분 이동했다고 봐도 무방합니다. 

큰 이유는 모놀리식의 특징 때문이죠.


하나의 거대한 똥들이 쌓이게 되면 서로 영향을 받기 때문에 한 개만 잘못되도 다 영향을 받습니다. 


유니콘 기업들은 이러한 영향을 받지 않기 위해 '마이크로서비스'로 전향을 하게 되고 컨테이너 기술들이 덩달아 기술의 발전을 함으로써 큰 부담 없이 바꾸고 있는 추세입니다. 


이러한 가운데 서비스를 보다 더 안정적으로 운영하기 위해서 SRE에 대한 관심이 커지게 됐는데요. 


자바 기반의 마이크로서비스를 이용한 개발자들에게 단비 같은 책이 나왔습니다. 


바로 '자바 마이크로서비스를 활용한 SRE' 이 책에 대해서 2가지로 요약해보도록 하겠습니다.




1) 경험을 바탕으로 쓴 책

이 책의 저자는 넷플릭스, 스프링, 그레이들 등 스타트업 및 테크기업까지 여러 회사에서 경험을 쌓았습니다.


맡은 업무는 서버 관리를 주로 했는데요. 

운영을 하면서 메트릭 정보를 활용해 모니터링 시스템을 만든 경험이 있습니다.


전반적인 SRE 대규모 트래픽을 받고 대응 하는 경험을 이 책에 녹여서 썼습니다.




2) 모니터링의 중요성

메트릭, 로그, 분산 추적 등은 서비스 가용성을 측정 할 때 관찰할 수 있는 요소 입니다.


서비스의 가용성은 시스템의 상태와 정상적으로 작동 되는지 측정할 수 있도록 정량화 하는 개념인데요. 


예를 들어 서버의 시스템 장비의 상태와 초당 비디오 스트리밍 용량을 등을 확인 할 수 있습니다.


또한 모니터링은 시스템을 개발할 때 장애를 발생한 곳을 찾는 용도로 사용되는데요.

해당 곳을 찾은 후 디버깅을 통해서 장애를 해결합니다.




PS

국내 테크기업들은 SRE의 개념이 근 1~2년 사이로 자리를 잡을 것이라고 생각이 되는데요. 

대부분이 기존의 데브옵스 업무에서 전향하거나 백엔드 개발자들이 전향할 것으로 보여집니다. 


이 책은 SRE에 대한 용어 설명이 세세하게 되어 있으며, 각 상황별 어떤 식으로 해결 했고 대응을 했는지 경험이 잘 녹여진 책입니다.


자바 마이크로서비스에 관심 있는 분이나 SRE에 관련된 업무를 맡을 분들에게는 개념 잡는데 큰 도움이 됩니다.


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