GitHub - npryce/adr-tools: Command-line tools for working with Architecture Decision Records Command-line tools for working with Architecture Decision Records - GitHub - npryce/adr-tools: Command-line tools for working with Architecture Decision Records github.com ADR (Architectural Decision Records) 아키텍처를 설계함에 있어서 이해관계자들끼리의 수많은 논의가 필요하다. 그리고, 이러한 논의를 통해 아키텍처가 결정되는데, 처음부터 전체가 결정되기는 어렵다. 따라서 부분부분..
소프트웨어 아키텍처 101 - YES24 막막했던 아키텍처가 쉬워지는 실무 지침서소프트웨어 아키텍트는 전 세계 연봉 10위 안에 드는 직업이지만, 지금까지 ‘개발자가 아키텍트’로 전향하는 데 실질적으로 도움이 될 만한 지침이 www.yes24.com 이름에서 알 수 있듯이, micro한 커널(kernel) 아키텍처이다. 또한 플러그인(plug-in) 아키텍처라고도 불리는데, 위 그림에서 알 수 있듯이 코어 시스템을 중심으로 플러그인을 붙여나가는 형태이기 때문이다. 일반적으로 모놀리식 형태에서 많이 사용되며, 가장 좋은 예시는 Eclipse IDE와 같은 Plugin 기반의 IDE이다. 즉, Eclipse core system 자체는 단순한 텍스트 에디터지만, 여기에 플러그인을 어떤걸 붙이느냐에 따라 C+..
소프트웨어 아키텍처 101 - YES24 막막했던 아키텍처가 쉬워지는 실무 지침서소프트웨어 아키텍트는 전 세계 연봉 10위 안에 드는 직업이지만, 지금까지 ‘개발자가 아키텍트’로 전향하는 데 실질적으로 도움이 될 만한 지침이 www.yes24.com 파이프라인 아키텍처는 꽤 흔하게 볼 수 있다. 머신러닝의 워크플로(workflow)가 이와 같은 형태이며, 함수형 프로그래밍(FP), bash shell의 경우는 이 구조를 따른다. 파이프(pipe)와 필터(filter) 이 아키텍처에서는 가장 기본적으로 두 가지 요소로 구성된다. 파이프 한 소스(source)에서 입력을 받아 다른 소스로 출력을 내는 필터 간 통신 채널이다. 우리가 실생활에서 볼 수 있는 긴 파이프 라인을 구성하는 각각을 떠올려서 생각해보면..
소프트웨어 아키텍처 101 - YES24 막막했던 아키텍처가 쉬워지는 실무 지침서소프트웨어 아키텍트는 전 세계 연봉 10위 안에 드는 직업이지만, 지금까지 ‘개발자가 아키텍트’로 전향하는 데 실질적으로 도움이 될 만한 지침이 www.yes24.com 프레젠테이션(Presentation) 레이어 비즈니스(Business) 레이어 퍼시스턴스(Persistence) 레이어 데이터베이스(Database) 레이어 관심사의 분리 (separation of concerns) 모듈화와 인터페이스간의 연결에 대한 이야기로 표현할 수도 있는데, OSI 7계층처럼 각각의 영역이 담당하는 역할과 책임을 기준으로 만든다는 것이다. 따라서, 역할과 책임을 기준으로 레이어를 나누고 각 레이어별로 어떠한 인터페이스를 가지고 데이터를..
소프트웨어 아키텍처 101 - YES24 막막했던 아키텍처가 쉬워지는 실무 지침서소프트웨어 아키텍트는 전 세계 연봉 10위 안에 드는 직업이지만, 지금까지 ‘개발자가 아키텍트’로 전향하는 데 실질적으로 도움이 될 만한 지침이 www.yes24.com 전제 오류 (fallacy) 어떠한 계획/설계를 하던지 간에 우리는 당연시하거나 가정하는 전제들이 있다. 책에서는 특히 분산 아키텍처 설계시 놓칠 수 있는 '오류(fallacy)'들을 소개하고 있다. 여기서 오류라 함은 옳다고 믿거나 가정하지만 사실은 틀린 것을 의미한다. 사실 아키텍처를 설계하는 사람이 이러한 오류에 빠질 수 있다는게 말이 안된다는 생각이 들면서도, 사람이기에 실수할 수 있다는 부분과, 아키텍트가 아니지만 이러한 부분에 대한 지식이 부족한 ..
소프트웨어 아키텍처 101 - YES24 막막했던 아키텍처가 쉬워지는 실무 지침서소프트웨어 아키텍트는 전 세계 연봉 10위 안에 드는 직업이지만, 지금까지 ‘개발자가 아키텍트’로 전향하는 데 실질적으로 도움이 될 만한 지침이 www.yes24.com 트레이드오프와 최고의 제일 나은 아키텍처 최고(best)의 아키텍처를 고집하지 말고 나쁜 것 중에서 제일 나은(least worst) 아키텍처를 선택하세요 - 소프트웨어 아키텍처 101, p.99. 제목과 위의 인용문에 있듯 나쁜 것중에 제일 나은(least worst) 아키텍처를 선택하는 것이 핵심 내용이다. Generic 프로그래밍을 너무 좋아한 나머지 아키텍처에서도 Generic 아키텍처를 찾는 사람들이 있는데, 이는 가장 흔한 안티 패턴이라고 한다. ..