Conversation
|
우측에 있는 |
Summary of ChangesHello, 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" 6주차 학습 내용을 정리한 노트를 추가합니다. 아키텍처 계약의 다양한 형태, 데이터 관리 전략, 그리고 시스템 변경 시 트레이드오프를 분석하는 방법에 대한 핵심 개념들을 다루고 있습니다. 특히, 컨슈머 주도 계약과 데이터의 적절한 추상화 수준에 대한 저자의 깊이 있는 고민이 담겨 있어, 아키텍처 설계 시 고려해야 할 중요한 관점을 제공합니다. Highlights
🧠 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 AssistThe 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
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 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. Footnotes
|
There was a problem hiding this comment.
Code Review
The pull request introduces a new Markdown document summarizing chapters 13-15 of "Fundamentals of Software Architecture 2nd Edition," covering architectural contracts, analytical data management, and trade-off analysis. A review comment suggests clarifying the section on strict contracts, specifically explaining why versioning is listed as both an advantage and a disadvantage to avoid reader confusion.
| - 계약(Contract): 종류가 다른 아키텍처 파트가 어떻게 연결되는지 정의한 것 | ||
| - 엄격한 계약: XML, 스키마 정보가 추가된 JSON, (g)RPC | ||
| - 장점: 계약 충실도 보장, 쉬운 검증 가능, 문서화 용이, 버저닝 | ||
| - 단점: 단단한 커플링, 버저닝 |
| 컨슈머가 실제로 쓰지 않는 데이터까지 같이 내려주는 걸 어디까지 허용할 것인가에 대해 논의하면 좋을 것 같습니다. | ||
|
|
||
| 예를 들어 Consumer A는 id, name이 필요하고, Consumer B는 id, name, description이 필요한 경우, | ||
| 하나의 공통 계약으로 유지하는 것이 맞을지, 아니면 Consumer별 계약으로 분리하는 것이 맞을지 이야기하면 좋을 것 같습니다. |
There was a problem hiding this comment.
책에 예시가 너무 극단적으로 나와서 논의 내용의 필드 갯수 정도라면 공통 계약으로 해도 될 것 같네요
There was a problem hiding this comment.
일반적으로, API를 제공하는 MS가 데이터의 오너이고, API를 통해서 데이터를 누구에게 어디까지 공개할 것인지를 정하기 때문에, API를 나눌지, 말지는 데이터 오너 마음이지 않을까 생각됩니다
데이터 오너 MS를 관리하시는 분들이 생각했을 때, 더 유지보수하기 쉬운 방향으로 하지않을까 싶고, 특별하게 나눠야할 상황에선 나눌 텐데, 특히나 조회의 경우에는 굳이 나눌 필요가 있을지 사례가 잘 떠오르진 않는거 같습니다
재밌게 읽었네요 :)