본문 바로가기
  • SDXL 1.0 + 한복 LoRA
  • SDXL 1.0 + 한복 LoRA
Study/컴퓨터 공학

클린 아키텍처

by 마즈다 2022. 1. 7.
반응형

2022.01.11 - [Study/컴퓨터 공학] - 클린 아키텍처 #2

2022.01.18 - [Study/컴퓨터 공학] - 클린 아키텍처 #3

2022.02.15 - [Study/컴퓨터 공학] - 클린 아키텍처 #4

2022.03.02 - [Study/컴퓨터 공학] - 클린 아키텍처 #5

2022.05.16 - [Study/컴퓨터 공학] - 클린 아키텍처 #6

클린 아키텍처 : 2부 3장까지


 

저자 : 로버트 C. 마틴

출판 : 인사이트

출간 : 2019.08.20.


학습 방법 : 책을 읽고 소제목 단위로 핵심 내용을 1~3문장 정도로 요약

 


 

1부. 소개

1장. 설계와 아키텍처란?

 

⦿ 설계 = 아키텍처 

✓ 아키텍처 : 저수준의 세부사항과 분리된 고수준의 어떤 것 

✓ 설계 : 저수준의 구조 또는 결정사항 

✓ 하지만 둘의 경계는 뚜렷하지 않다. 

 

⦿ 목표는? 

✓ 필요한 시스템을 만들고 유지보수하는 데 투입되는 인력을 최소화하는 것! 

 

⦿ 사례 연구 생략

 

⦿ 결론 

✓ 훌륭하고 깔끔한 아키텍처와 설계가 무엇인지 설명한다.

✓ 이를 통해 소프트웨어 개발자가 장기간에 걸쳐 수익을 창출하는 시스템을 만들 수 있게 한다. 

 

2장. 두 가지 가치에 대한 이야기

 

⦿ 두 가지 가치 

✓ 행위 : 프로그래머가 요구사항을 기계에 구현하고 버그를 수정함 

✓ 아키텍처 : 소프트웨어는 변경하기 쉬워야 한다. 변경사항을 적용하는데 드는 어려움은 범위에 비례하고 형태와는 관련이 없어야 한다. 따라서 아키텍처는 형태에 독립적이어야 한다. 

 

⦿ 더 높은 가치

✓ 당장의 동작 가능한 기능보다 변경이 쉬운 프로그램이 더 가치가 있다. 

 

⦿ 아이젠하워 매트릭스 

✓ 기능의 긴급함이 아닌 아키텍처의 중요성을 설득하는 것은 개발팀의 책임이다. 

 

⦿ 아키텍처를 위해 투쟁하라 

✓ 아키텍트는(일반 개발자도) 시스템이 제공하는 특성이나 기능보다는 시스템의 구조에 더 중점을 두며 이러한 특성과 기능을 개발하기 쉽고 간편하게 수정할 수 있으며 확장하기 쉬운 아키텍처를 만들기 위해 투쟁해야 한다. 

 


 

2부. 벽돌부터 시작하기: 프로그래밍 패러다임

3장. 패러다임 개요

 

⦿ 구조적 프로그래밍 

✓ 무분별한 점프(goto문) 지양 

✓ 제어흐름의 직접적인 전환에 대해 규칙을 부과한다. 

 

⦿ 객체 지향 프로그래밍 

✓ 제어흐름의 간접적인 전환에 대해 규칙을 부과한다. 

✓ 클래스 생성자, 인스턴스 변수, 메서드, 다형성 등의 개념 

 

⦿ 함수형 프로그래밍 

✓ 할당문에 대해 규칙을 부과한다. 

✓ 불변성을 기초 개념으로 하는 람다 계산법 

 

⦿ 생각할 거리 

✓ 프로그래밍 패러다임은 개발자에게 무엇을 하지 말아야 할지를 말해준다. 

✓ 구조적 프로그래밍에서는 goto문을, 객체 지향 프로그램에서는 포인터를 함수형 프로그래밍에서는 할당문을 앗아간다. 

 

⦿ 결론

✓ 세가지 프로그래밍 패러다임은 아키텍처의 3가지 큰 관심사인 함수, 컴포넌트 분리, 데이터 관리와 연관된다. 

 

반응형

'Study > 컴퓨터 공학' 카테고리의 다른 글

클린 아키텍처 #6  (0) 2022.05.16
클린 아키텍처 #5  (0) 2022.03.02
클린 아키텍처 #4  (0) 2022.02.15
클린 아키텍처 #3  (0) 2022.01.18
클린 아키텍처 #2  (0) 2022.01.11