Challenge/Inflearn

[클로드코드] 챌린지 기록 1주차 4일 - 디렉터리 분석

graph-dev 2025. 9. 25. 19:36
728x90

 

클코챌린지

 

 

 

넘겨받은 디렉터리 분석 및 조치:
처음보는 디렉터리 전체를 분석하고, 이와 관련된 질문을 이어서 사용자가 필요로 하는 내용 얻기


 

이번에는 특정 디렉터리로 들어가서, 이 디렉터리의 목적을 물어보는 실습을 수행했습니다.

 

1. 디렉터리로 이동

디렉터리

 

2. 디렉터리의 목적

"현재 디렉터리의 목적을 알려주세요"

현재 디렉터리의 목적

 

이것을 그대로 작성해보니, 클로드 코드가 대략적으로 잘 설명해줍니다. 오른쪽은 구체적으로 각 항목을 설명해달라는 결과입니다.

디렉터리의 목적과 설명

 

프롬프트를 바꾸기만해도, 각 항목을 잘 설명해주어 편리합니다. 다만 없는 챕터가 있는데, 이것을 물었습니다.

"ch1이 없는 이유를 알려주세요"

웹 검색을 시도

 

내부에 정보가 없으니, 웹으로 검색합니다.

왜 챕터 1은 없어요?

 

이론만 있어서 실습 파일은 없다는 것을 알게 되었습니다.

 

3. 학습 방법과 계획 세우기

앞에 제시한 챕터 정보를 기억한다고 가정하고, 이제 학습 방법을 물어봅니다.

"챕터 순서대로 공부하면 되는건가요?"

순서대로 공부

 

의존성이 있다는 것을 알았는데, 제대로 설명해주지 않아서 구체적으로 물어봅니다.

"이전 내용에 대한 의존성을 구체적으로 설명해줘"

챕터별 의존성 설명

 

자세하게 설명해주고 있고, 그 다음에 공부 계획을 세웁니다.

"한달 안에 전부 공부할 수 있게 계획을 작성해주세요."

후후, 벼락치기할 때 이만한 프롬프트가 없겠습니다.

 

 

한달 학습 계획

 

평일과 주말을 나누어 시간을 잡아주는게 마음에 듭니다. 직장인이면, 책에서 나온 것처럼 퇴근 후 작업해야하니까요?

쿠버네티스 인프라 학습계획 요약

 

이렇게 주요 체크포인트까지 각 주차별로 잘 정리해주었습니다. 매일 실습을 해야한다고 하고, 문서화가 중요하다고 합니다.

 

0. 스프링부트

책에서는 스프링 부트 저장소를 분석했는데,

https://github.com/spring-projects/spring-boot

 

GitHub - spring-projects/spring-boot: Spring Boot helps you to create Spring-powered, production-grade applications and services

Spring Boot helps you to create Spring-powered, production-grade applications and services with absolute minimum fuss. - spring-projects/spring-boot

github.com

 

이 부분은 실습한 화면만 보고 넘어가겠습니다.

실습결과

깃 클론을 해서 내려받습니다.

클론
핵심아키텍처와 메커니즘

 

저장소를 클론하고, 핵심 아키텍처와 의존성 주입 패턴, 자동 구성 메커니즘까지 잘 소개해주었습니다. 추가 질의도 진행해서 더 많은 정보를 뽑아낼 수 있네요!

추가 질문

 

추가 질문 결과

 

 

추가 질의도 진행해서 더 많은 정보를 뽑아낼 수 있네요. 토큰도 살살 녹습니다!

 

 

 

저는 저만의 관심사인 파이토치와 에어플로우를 활용하여 저장소(리포지토리)를 분석해보겠습니다.

 

1. 파이토치

"파이토치 저장소를 내려받고 클래스 간의 의존성 관계를 파악해주세요. 주소는 다음과 같습니다. https://github.com/pytorch/pytorch"

 

GitHub - pytorch/pytorch: Tensors and Dynamic neural networks in Python with strong GPU acceleration

Tensors and Dynamic neural networks in Python with strong GPU acceleration - pytorch/pytorch

github.com

 

저장소 클론 후 확인 작업 진행

 

작업에 약간 시간이 걸린다는 점을 유의합니다.

파이토치 구조 분석

 

핵심 클래스 구조를 분석하고, 마지막으로 의존성 흐름까지 잡아줍니다.

의존성 흐름

 

정리하면, PyTorch는 Tensor → Module → Autograd → Optimizer 순서로 계층화된 의존성을 가지며, 각 계층이 명확한 역할 분담을 통해 유연하고 확장 가능한 딥러닝 프레임워크를 구성하고 있습니다.

 

 

2. 에어플로우

"에어플로우 저장소를 내려받고, 클래스 간 의존성 관계를 파악해주세요. 주소는 https://github.com/apache/airflow 입니다"

 

GitHub - apache/airflow: Apache Airflow - A platform to programmatically author, schedule, and monitor workflows

Apache Airflow - A platform to programmatically author, schedule, and monitor workflows - apache/airflow

github.com

 

주의! 엄청나게 오래걸립니다.

상당한 시간이 소요됨

 

핵심은 DAG, Task, Operator라는 클래스로 보이고, 그 관계를 찾는 중입니다.

에어플로우 의존성 관계 분석

 

전체 아키텍처는 이벤트 드리븐, 플러그인 확장, 데이터베이스 중심 상태관리 특징으로 하며, 대규모 워크플로우 오케스트레이션을 위한 엔터프라이즈급 설계를 보여줍니다.

 

이벤트가 주도하는 설계방식으로, 좀 더 깊이 파고들기 좋은 오픈소스입니다. 차후 별도 카테고리로 진행해보겠습니다.