[Project] weather-collector 프로젝트 설계

2026. 3. 26. 23:10·Project

weather-collector/

│ ├── src/

│ ├── __init__.py

│ ├── fetcher.py

│ ├── parser.py

│ └── saver.py

│ ├── data/

├── main.py

├── requirements.txt

└── .gitignore

과 같이 프로젝트 구조를 설계하였다.

 

src/는 source의 약자로 실제 동작하는 핵심 코드를 모아두는 폴더이다. main.py와 코드를 깔끔하게 관리하기 위해 만든다.

핵심 로직은 src에 있다고 협업할 때 알 수 있다.

 

data/는 API를 통해 가져온 날씨 데이터를 CSV나 JSON으로 저장할 공간이다.

 

main.py는 프로그램을 구동 시킬 때 필요한 파일이다.

프로그램을 실행할 때 python main.py로 실행할 수 있다.

전체 흐름을 여기서 조율하고 세부 로직은 src안에 있는 파일들이 담당한다.

 

src/__init__.py src폴더가 파이썬 패키지 폴더라는 것을 알려주는 파일이다. 내용은 비어있어도 되는데 이게 있어야 main.py에서 src에 있는 파일들을 불러올 수 있다.

 

src/fetcher.py API호출만 담당하는 파일이다. 날씨 데이터를 가져오는 것을 담당한다. 나중에 API주소가 바뀌면 이 파일만 수정하면 된다.

 

src/parser.py 데이터 파싱만 담당한다. API에서 받아온 데이터는 복잡한 JSON형태인데 그걸 우리가 원하는 형태로 가공하는 역할을 한다. 데이터 구조가 바뀌면 이 파일만 수정하면 된다.

 

src/saver.py 데이터를 저장할 때 사용한다. 파싱된 데이터를 CSV나 JSON으로 저장하는 역할이다. 나중에 DB와 연결한다면 CSV 대신 PostgreSQL에 저장하도록 이 파일만 수정하면 된다.

 

이렇게 역할을 나누는 것을 단일 책임 원칙 이라고 한다. 하나의 파일은 하나의 역할만 한다는 것을 의미한다.

협업 할 때 한 담당씩 맡아서 작업할 수 있다.

'Project' 카테고리의 다른 글

[Project] 카카오 API 사용을 위한 카카오 개발자계정 만드는법  (0) 2026.04.01
'Project' 카테고리의 다른 글
  • [Project] 카카오 API 사용을 위한 카카오 개발자계정 만드는법
byhy0
byhy0
byhy0 님의 블로그 입니다.
  • byhy0
    byhy0 님의 블로그
    byhy0
  • 전체
    오늘
    어제
    • 분류 전체보기 (62)
      • T아카데미 (4)
      • Project (2)
      • Airflow (4)
      • Python (16)
        • Django (0)
      • Java (1)
      • Spring (4)
        • Board Project (3)
      • SQL (3)
      • Docker (1)
      • 클라우드 (2)
      • Error (3)
      • Git (5)
      • 코딩테스트 (12)
        • SQL (5)
        • Python (7)
      • TIL (3)
  • 블로그 메뉴

    • 홈
    • 태그
    • 방명록
  • 링크

  • 공지사항

  • 인기 글

  • 태그

    T아카데미 #SK플래닛 #회고 #1주차
    venv #파이썬 가상환경 #가상환경
    티스토리챌린지
    programmers #SQL #코딩테스트
    #클라우드 #클라우드컴퓨팅 #CloudComputing #온프레미스 #CS기초 #IT인프라 #서버
    Git #설치법
    git #github #repository 생성
    programmers # 코딩테스트 #sql
    API 요청 #API
    게시판
    Spring
    BigQuery #SQL
    push #pull #git연동
    python #pytest #테스트
    T아카데미#SK플래닛#데이터엔지니어2기
    vscode #git #git연동법
    #Python #정규표현식 #Regex #웹크롤링 #데이터처리
    오블완
    T아카데미 #면접 #데이터 엔지니어 #K-Digital Traning
    T아카데미 #2주차 회고 #데이터 엔지니어 2기
  • 최근 댓글

  • 최근 글

  • hELLO· Designed By정상우.v4.10.6
byhy0
[Project] weather-collector 프로젝트 설계
상단으로

티스토리툴바