반응형

전체 글 470

많은 조건들을 처리하는 코드를 어떻게 해야 유지보수에 좋은 코드가 될까 - 작성중

나중에 귀농을 한다고 생각해보자. 나는 비닐하우스에서 어떠한 작물을 키우는데 이 작물은 귀해서 키우기 굉장히 까다로웠다. 나는 이런 까다로운 조건을 알기 귀찮아서 자동화 작업을 외주로 맡겼으며, 자세한 조건은 모르지만 작물을 키우기 위해선 아래와 같은 조건들을 지켜야 한다고 가정해보자. 1. 매일 작물이 말랐을 때마다 물을 줘야 한다. 이때 작물의 성장에 따라 말라가는 속도가 다르다. 2. 물을 줄 때 작물의 성장 정도에 따라 물의 양을 다르게 주어야만 한다. 3. 이 작물은 해가 가장 높게 떴을 때에 해당하는 시간 대에 햇살을 쐬게 해주어야 한다. 4. 이 작물은 병에 잘 걸린다. 잎사귀가 썩고 나서부터 1시간 뒤 내에 병에 맞는 약을 뿌려주어야 살 수 있다. 이 작물이 걸릴 수 있는 병의 가짓수는 5..

'도메인 주도 개발 시작하기' 책 리뷰

https://m.hanbit.co.kr/store/books/book_view.html?p_code=B4309942517 도메인 주도 개발 시작하기 실제 업무에 도메인 주도 설계(DDD)를 적용할 수 있도록 기본적인 DDD의 핵심 개념을 익히고 구현을 통해 학습할 수 있도록 구성한 DDD 입문서 m.hanbit.co.kr DDD start! 에 이어 해당 책도 읽어보았다. 물론 같은 분께서 쓴 책이기도 하고 DDD 에 대한 내용이 주를 이룬 책이기에 필요한 부분만 찾아보았다. 애그리거트와 바운디드컨텍스트 쪽 위주로 읽었다. 그런데 꽤 쉽게 이해가 가도록 내용이 작성 돼 있어서 편하게 읽었다. 예제코드나 패키지 구조 예시가 나와있기도 해서 아직 개념이 헷갈리는 사람들에게는 도움이 될 것 같다. 나도 누군..

etc/책 리뷰 2022.06.13

'소프트웨어 아키텍처 101' 책 리뷰

한빛미디어 활동을 위해서 책을 제공받아 작성된 서평입니다. http://www.yes24.com/Product/Goods/104491433 소프트웨어 아키텍처 101 - YES24 막막했던 아키텍처가 쉬워지는 실무 지침서소프트웨어 아키텍트는 전 세계 연봉 10위 안에 드는 직업이지만, 지금까지 ‘개발자가 아키텍트’로 전향하는 데 실질적으로 도움이 될 만한 지침이 www.yes24.com 아직 다 읽진 못했다. 아키텍트가 어떤 생각과 어떤 마음을 가지고 설계를 해야 하는지 잘 얘기한다. 아직 책 초중반이라서 그런가 개발적인 내용보다는 위에서 말했던 내용이 좀 더 나오는 것 같다. 그래도 백엔드 개발자라면 서비스를 혼자 설계하고 개발하고 운영할 수 있는 정도는 되야한다고 생각하기 때문에 필요없는 내용은 아니..

etc/책 리뷰 2022.03.31

아키텍처 카타

소프트웨어 아키턱처 101 이라는 책을 읽고 있던 중, 아키텍처 카타(atchitecural kata)라는 것이 나왔다. Ted Neward 라는 아키텍트가 초보 아키텍트가 도메인에 관한 설명을 보고 아키텍처 특성을 도출하는 연습을 할 수 있도록 아키텍처 카타라는 것을 고안했다고 한다. 나는 설계하는 경험은 쉽게 얻을 수 없다고 생각한다. 그렇기에 막상 설계를 해야하는 상황이 닥치면 실수를 꼭 한 가지 이상은 하게 될 가능성이 높다. 나도 물론 그랬다. 코드에 대한 예제가 많는 많다. 예를 들어 클린 코드 같은 여러 도서들에선 이런 코드가 낫다고 말하며 코드를 많이 보여준다. 그러나 설계는 그 예가 별로 없다. 있어봤자 유투브에서 외국인이 트위터를 설계하는 동영상 정도? 그렇기에 연습을 꼭 해야한다고 생..

'DDD Start!' 책 후기

이것저것 하느라 그동안 못 읽었던 책인 'DDD Start!' 라는 책을 드디어 읽게 되었다. DDD START! - YES24 DDD의 핵심 개념을 배우고 구현으로 익히기!이 책은 DDD(도메인 주도 설계)를 처음 접하는 개발자를 위한 책이다. DDD를 실제 업무에 적용할 수 있도록 기본적인 이론을 설명하고 이를 구현한 코드 www.yes24.com 읽다보니 기존에 개발했던 코드들이 기억나면서 이 책을 좀 더 미리 읽었다면 좀 더 개발을 잘 할 수 있었을 것이라 생각이 들었다. 먼저, 기억나는 부분은 '가격 관련 코드는 어느 영역 있어야 하는가?' 와 같은 것이다. 상품의 가격은 쿠폰으로 인해 할인받을 수 있고 특수한 이벤트로 인해 할인이 될 수 있다. 그동안에는 이 책에서 얘기하는 applcatio..

etc/책 리뷰 2022.03.08

'도메인 주도 설계 철저 입문' 책 후기

갓 신입 딱지를 뗀 시절에 'DDD start!' 라는 책을 읽으려고 시도했다. 그러나 그 때에는 머리에 잘 남지는 않았던 것 같다. 그 이유는 애그리거트와 애그리거트 루트 등과 같은 용어들을 처음 접해보면서 완벽히 이해하기 어렵다고 느껴졌었기 때문이다. 과거에위와 같은 기억이 있었기에 코드로 잘 설명 돼 있으며, 'DDD start!' 보다도 쉽게 느껴지는 책인 '도메인 주도 설계 철저 입문' 을 구매했다. 도메인 주도 설계 철저 입문 - YES24 이해하기 쉬운 패턴부터 학습하자! 도메인 주도 설계를 쉽게 이해할 수 있는 입문서!초심자라도 이해하기 쉽고 실천하기도 쉬운 패턴부터 시작해 구체적인 예제와 함께 도메인 주도 설계에서 www.yes24.com 책 표지에는 '코드와 패턴으로 밑바닥부터 이해하..

etc/책 리뷰 2022.02.21

신뢰성, 확장성, 유지보수성

이 글은 데이터 중심 애플리케이션 설계 라는 책의 내용을 기반으로 제가 이해한 것들을 작성했습니다. 데이터 중심 애플리케이션 설계 라는 책에서는 소프트웨어 시스템이 신뢰성, 확장성, 유지보수성 이라는 세 가지 관심사에 중점을 둔다고 한다. 신뢰성: 시스템은 지속적으로 올바르게 동작해야 한다. 확장성: 시스템의 데이터 양, 트래픽 양, 복잡도가 증가하면서 이를 처리할 수 있는 방법이 있어야 한다. 유지보수성: 모든 사용자가 시스템 상에서 생산적으로 작업할 수 있게 해야 한다. 신뢰성 - 사용자가 기대한 기능 수행한다. - 사용자가 범한 실수, 예상치 못한 사용법을 허용할 수 있다. - 성능은 예상된 부하와 데이터 양에서 필수적인 사용 사례를 충분히 만족한다. - 허가되지 않은 접근과 오남용을 방지한다. 즉..

반응형