Skip to content

Conversation

@chichoon
Copy link
Member

@chichoon chichoon commented Jan 8, 2026

어렵네요 한 페이지를 5번씩 읽은 것 같습니다

@github-actions
Copy link

github-actions bot commented Jan 8, 2026

우측에 있는 Projects, Milestone, Development를 확인 후 할당 해주세요~! 🙇

@chichoon chichoon added 2026 Software Architecture: The Hard Parts 소프트웨어 아키텍처: The Hard Parts, 분산 아키텍처를 위한 모던 트레이드오프 분석 labels Jan 8, 2026
@chichoon chichoon self-assigned this Jan 8, 2026
@gemini-code-assist
Copy link
Contributor

Summary of Changes

Hello @chichoon, I'm Gemini Code Assist1! I'm currently reviewing this pull request and will post my feedback shortly. In the meantime, here's a summary to help you and other reviewers quickly get up to speed!

이 PR은 "소프트웨어 아키텍처 The Hard Parts" 도서의 1주차 학습 내용을 정리한 문서입니다. 1장에서는 아키텍처의 기본 개념, 아키텍트의 역할, 데이터의 중요성, 아키텍처 결정 기록(ADR), 그리고 아키텍처의 건전성을 평가하는 피트니스 함수에 대해 다루고 있습니다. 2장에서는 아키텍처 퀀텀의 정의와 마이크로서비스 환경에서의 적용, 그리고 퀀텀 간의 커플링 트레이드오프를 설명하며, 각 개념에 대한 저자의 생각과 논의점들을 함께 제시하고 있습니다.

Highlights

  • Chapter 01 요약: 소프트웨어 아키텍처의 기본 개념, 개발자와 아키텍트의 역할 차이, 데이터의 중요성, 아키텍처 결정 기록(ADR), 그리고 아키텍처의 건전성을 평가하는 피트니스 함수에 대한 내용을 정리했습니다.
  • Chapter 02 요약: 아키텍처 퀀텀의 개념을 정의하고, 마이크로서비스 아키텍처에서의 적용 및 독립적인 배포 단위로서의 조건을 설명했습니다. 또한 퀀텀 간의 커플링 트레이드오프(기능 응집도, 통신, 일관성, 조정)에 대해 다루었습니다.
  • 논의점 제시: 각 장의 주요 개념에 대해 AI/LLM과 아키텍처의 연관성, 피트니스 함수의 실제 적용 사례, 프론트엔드 아키텍처 관점 등 다양한 논의점과 질문을 포함했습니다.

🧠 New Feature in Public Preview: You can now enable Memory to help Gemini Code Assist learn from your team's feedback. This makes future code reviews more consistent and personalized to your project's style. Click here to enable Memory in your admin console.

Using Gemini Code Assist

The full guide for Gemini Code Assist can be found on our documentation page, here are some quick tips.

Invoking Gemini

You can request assistance from Gemini at any point by creating a comment using either /gemini <command> or @gemini-code-assist <command>. Below is a summary of the supported commands on the current page.

Feature Command Description
Code Review /gemini review Performs a code review for the current pull request in its current state.
Pull Request Summary /gemini summary Provides a summary of the current pull request in its current state.
Comment @gemini-code-assist Responds in comments when explicitly tagged, both in pull request comments and review comments.
Help /gemini help Displays a list of available commands.

Customization

To customize Gemini Code Assist for GitHub experience, repository maintainers can create a configuration file and/or provide a custom code review style guide (such as PEP-8 for Python) by creating and adding files to a .gemini/ folder in the base of the repository. Detailed instructions can be found here.

Limitations & Feedback

Gemini Code Assist may make mistakes. Please leave feedback on any instances where its feedback is incorrect or counter productive. You can react with 👍 and 👎 on @gemini-code-assist comments. If you're interested in giving your feedback about your experience with Gemini Code Assist for Github and other Google products, sign up here.

You can also get AI-powered code generation, chat, as well as code reviews directly in the IDE at no cost with the Gemini Code Assist IDE Extension.

Footnotes

  1. Review the Privacy Notices, Generative AI Prohibited Use Policy, Terms of Service, and learn how to configure Gemini Code Assist in GitHub here. Gemini can make mistakes, so double check it and use code with caution.

Copy link
Contributor

@gemini-code-assist gemini-code-assist bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Code Review

소프트웨어 아키텍처 The Hard Parts 1, 2장에 대한 요약 정리를 추가해주셨네요. 책의 핵심 내용을 잘 파악하여 정리해주신 것 같습니다. 특히 각 장마다 논의점을 추가하여 스터디원들과 깊이 있는 논의를 유도하는 점이 인상적입니다. 내용 중 간단한 오타 수정과 포맷팅 개선을 위한 제안을 몇 가지 드렸습니다. 전반적으로 훌륭한 요약입니다!

- 데이터는 아키텍처를 넘어서서, 소프트웨어의 모든 것이라고 볼 수 있음
- 어떻게 하면 특정 데이터를 효율적, 효과적으로 다룰 수 있는지가 소프트웨어의 목표라고 할 수 있음?
- 수익과 직결
- 운영 데아터: 비즈니스 활동에 사용되는 데이터 (소비자와 직접적으로 연결)
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

medium

'운영 데아터'에 오타가 있는 것 같습니다. '운영 데이터'로 수정하면 내용이 더 명확해질 것입니다.

Suggested change
- 운영 데아터: 비즈니스 활동에 사용되는 데이터 (소비자와 직접적으로 연결)
- 운영 데이터: 비즈니스 활동에 사용되는 데이터 (소비자와 직접적으로 연결)

Comment on lines +1 to +2
# 따로 떼어놓기

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

medium

문서의 첫 부분에 있는 '# 따로 떼어놓기' 제목은 전체 내용과 직접적인 관련이 없어 보입니다. 문서의 명확성을 높이기 위해 이 부분을 제거하고 '## Chapter 02: 아키텍처 퀀텀'으로 시작하는 것이 더 좋을 것 같습니다.

- 옛날에는 중앙 집중식 체제가 강세였다면, 오픈소스의 대두와 함께 요즘은 마이크로서비스 인프라를 쉽게 구축할 수 있게 된 것처럼

```
논의점: 오픈소스 혁명처럼, 2023년경 챗지피티를 필두로 한 LLM 인공지능의 범람으로 새로운 패러다임이 또 등장하고 있진 않을까? AI와 아키텍처를 긴밀하게 엮을 수 있다면 어떤 부분이 있을지?
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

수동 피트니스 함수에 AI를 도입하여 도움을 받을 수 있을 것 같습니다.

Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

대략적으로, 제가 기대하는 부분은 아래와 같습니다

  1. 트레이드 오프 상황에서, AI를 활용해서 의사결정에 도움을 받는 것
  2. 아키텍쳐 결정 시, 여러가지 안이 있을 때 빠르게 POC(Proof Of Concept)를 만들어서 테스트해볼 수 있는 것
  3. 아키텍쳐 피트니스 함수 같은 일종의 제약사항으로, AI Agent로 코딩할 때 비결정적인 부분을 결정적으로 활용해볼 수 있는 용도

그 외에도 무궁무진 하지 않을까 생각됩니다(여기서 부턴 상상력과 창의력의 영역..)

- 개발자들이 아키텍처를 정확하게 이해하고 있지 않거나, 자동화 도구를 사용할 때 발생하는 부작용 등을 방지

```
논의점: 피트니스 함수 등 아키텍처 테스트를 위한 도구를 적절하게 도입한 예시가 있을지? 일단 저희 팀은 모르겠습니다. 별도의 도구 없이 개발자들 간의 합의와 믿음으로 진행되는듯.
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

책에서 나온 ArchUnit 은 공부할 때 한 번 사용해 본적은 있지만 실무에서는 사용하지 않습니다. 다만 적용한다면 의존성 문제와 같이 정적인 부분은 신경쓰지 않아도 되니 좋을 것 같습니다.


```
논의점: 피트니스 함수 등 아키텍처 테스트를 위한 도구를 적절하게 도입한 예시가 있을지? 일단 저희 팀은 모르겠습니다. 별도의 도구 없이 개발자들 간의 합의와 믿음으로 진행되는듯.
단순 유닛 테스트 기반 CI/CD 자동화도 아키텍처 테스트 도구라고 볼 수 있을지? '아키텍처가 흐트러지는 것을 방지하는' 피트니스 함수의 범위는 어디까지일까?
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

단순 유닛 테스트 기반 CI/CD 자동화도 아키텍처 테스트 도구라고 볼 수 있을지?

CI 단계에 시스템의 구조적 무결성과 아키텍처 특성을 검증한다면 아키텍처 테스트라고 얘기할 수 있을 것 같습니다.

@chichoon chichoon marked this pull request as ready for review January 8, 2026 10:34
- 옛날에는 중앙 집중식 체제가 강세였다면, 오픈소스의 대두와 함께 요즘은 마이크로서비스 인프라를 쉽게 구축할 수 있게 된 것처럼

```
논의점: 오픈소스 혁명처럼, 2023년경 챗지피티를 필두로 한 LLM 인공지능의 범람으로 새로운 패러다임이 또 등장하고 있진 않을까? AI와 아키텍처를 긴밀하게 엮을 수 있다면 어떤 부분이 있을지?
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

대략적으로, 제가 기대하는 부분은 아래와 같습니다

  1. 트레이드 오프 상황에서, AI를 활용해서 의사결정에 도움을 받는 것
  2. 아키텍쳐 결정 시, 여러가지 안이 있을 때 빠르게 POC(Proof Of Concept)를 만들어서 테스트해볼 수 있는 것
  3. 아키텍쳐 피트니스 함수 같은 일종의 제약사항으로, AI Agent로 코딩할 때 비결정적인 부분을 결정적으로 활용해볼 수 있는 용도

그 외에도 무궁무진 하지 않을까 생각됩니다(여기서 부턴 상상력과 창의력의 영역..)

- 개발자들이 아키텍처를 정확하게 이해하고 있지 않거나, 자동화 도구를 사용할 때 발생하는 부작용 등을 방지

```
논의점: 피트니스 함수 등 아키텍처 테스트를 위한 도구를 적절하게 도입한 예시가 있을지? 일단 저희 팀은 모르겠습니다. 별도의 도구 없이 개발자들 간의 합의와 믿음으로 진행되는듯.
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

저희 팀도 사례는 없는데, 꼭 필요하다고 느끼지 못해서 그랬던거 같습니다


```
논의점: 피트니스 함수 등 아키텍처 테스트를 위한 도구를 적절하게 도입한 예시가 있을지? 일단 저희 팀은 모르겠습니다. 별도의 도구 없이 개발자들 간의 합의와 믿음으로 진행되는듯.
단순 유닛 테스트 기반 CI/CD 자동화도 아키텍처 테스트 도구라고 볼 수 있을지? '아키텍처가 흐트러지는 것을 방지하는' 피트니스 함수의 범위는 어디까지일까?
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

단순 유닛 테스트 기반 CI/CD 자동화도 아키텍처 테스트 도구라고 볼 수 있을지?

단순 유닛 테스트 기반 CI/CD의 목적을 생각해보면, 아키텍쳐 레벨보단, 애플리케이션 레벨에서 예상된 비즈니스로직을 체크하는게 목적이기 때문에, 아키텍처 테스트 도구라고 보기엔 힘들지 않을까 라는 생각 입니다

Copy link
Collaborator

@TaeHyoungKwon TaeHyoungKwon Jan 9, 2026

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

'아키텍처가 흐트러지는 것을 방지하는' 피트니스 함수의 범위는 어디까지일까?

쉽게 생각하면 애플리케이션 레벨의 비즈니스 로직 외 모두 라고 볼 수 있을거 같습니다

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

2026 Software Architecture: The Hard Parts 소프트웨어 아키텍처: The Hard Parts, 분산 아키텍처를 위한 모던 트레이드오프 분석

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants