본문 바로가기

TIL

2022/02/13 TIL

마틴 파울러의 Continuous Integration

From this I learned a common story of software projects: integration is a long and unpredictable process.

마틴 파울러도 처음으로 큰 프로젝트를 처음 접했을 때 통합이란 것이 오래 걸리고 예측할 수 없는 과정이라고 생각했다.

The term 'Continuous Integration' originated with Kent Beck's Extreme Programming development process, as one of its original twelve practices

CI란 용어는 켄트 벡의 익스트림 프로그래밍에서 나온 용어라는 것을 알게 되었다. 익스트림은 켄트 벡이 만든 개발 방법론이다.

Continuous Integration assumes a high degree of tests which are automated into the software: a facility I call self-testing code. Often these use a version of the popular XUnit testing frameworks.

CI에는 자동화 된 테스트 환경아 있다는 것을 가정한다. 이 말은 자동화된 테스트는 CI에서 뺄 수 없는 중요한 내용이다.

the error is detected rapidly.

CI를 하면 운영 코드의 에러를 빠르게 발견할 수 있다는 장점이 있다.

In a Continuous Integration environment you should never have a failed integration build stay failed for long.

빌드에 실패한 상태로 오랫동안 유지하면 안된다. 이를 실천하지 못하면 CI 하는 이유가 퇴색될 것 같다.

클린 아키텍처 15장 : 아키텍처란?

아키텍트라면 코드에서 탈피하여 고수준의 문제에 집중해야 한다는 거짓말에 절대로 속아 넘어가서는 안 된다.
아키텍처의 주된 목적은 시스템의 생명주기를 지원하는 것이다.

경력이 쌓이고 아키텍처를 구성하는 일을 하더라도 끊임 없임없이 코드 작업을 해야 한다. 또한 이런 아키텍트가 되기 위해 시스템의 생명주기에 관심을 지금부터 가져야겠다.

좋은 아키텍트는 세부사항에 대한 결정을 가능한 한 오랫동안 미룰 수 있는 방향으로 정책을 설계 한다.

좋은 아키텍트라면 처음부터 모든 상황을 세팅할 것 같지만 현실은 그렇지 않다. 가능한 한 결정을 미루고 다양한 시도를 해보며 최적의 답을 찾는 상황을 만들어야 한다. 이런 과정을 통해 좋은 아키텍트가 되는 것이다.

'TIL' 카테고리의 다른 글

2022/02/15 TIL  (0) 2022.02.16
2022/02/14 TIL  (0) 2022.02.15
2022/02/12 TIL  (0) 2022.02.13
2022/02/11 TIL  (0) 2022.02.12
2022/02/10 TIL  (0) 2022.02.11