Skip to content

[REFAC] crawler 잔여 fetcher 영역 → processor/fetcher 이동 (이슈 #195 단계 3, 메타 이슈 close) #198

Description

@juhy0987

Parent: #195

어떤 작업인가요?

internal/crawler/ 의 남은 fetcher 영역 — core / handler / implementation / domain / rate_limiter / worker (단계 1-2 진행 후의 잔여) — 를 internal/processor/fetcher/... 로 이동하여 parser / validate 와 동등한 processor 단계 정렬을 완성. 본 sub-issue 머지 시 internal/crawler/ 디렉토리는 완전 제거되어 메인 이슈 #195 도 close.

전제

Scope

이동

  • internal/crawler/core/internal/processor/fetcher/core/
  • internal/crawler/handler/internal/processor/fetcher/handler/
  • internal/crawler/implementation/chromedp/internal/processor/fetcher/chromedp/
  • internal/crawler/implementation/goquery/internal/processor/fetcher/goquery/
  • internal/crawler/domain/general/{fetcher,sources}/internal/processor/fetcher/{fetcher,sources}/
  • internal/crawler/rate_limiter/internal/processor/fetcher/rate_limiter/
  • internal/crawler/worker/ (lock 분리 후 잔여) → internal/processor/fetcher/worker/

변경 후 구조

internal/processor/
├── fetcher/
│   ├── core/
│   ├── handler/
│   ├── chromedp/
│   ├── goquery/
│   ├── sources/
│   ├── rate_limiter/
│   └── worker/
├── parser/         (단계 1 결과)
└── validate/       (기존)

작업 항목

  1. git mv 로 디렉토리 이동
  2. import 경로 일괄 치환 (issuetracker/internal/crawler/Xissuetracker/internal/processor/fetcher/X)
  3. cmd/issuetracker/main.go, cmd/processor/main.go, cmd/api/... 등 entry point 의 import 갱신
  4. 테스트 mirror 경로 갱신 (test/internal/crawler_core/test/internal/processor/fetcher/core/)
  5. internal/crawler/ 디렉토리 완전 삭제 검증 (find internal/crawler -type d 결과 비어야 함)
  6. CLAUDE.md / .claude/rules/01-architecture.md / .claude/rules/02-crawler-implementation.md 문서 업데이트 — 디렉토리 도식 + 패키지 명칭 변경
  7. go build ./... && go test -race ./... 통과

위험도

Medium

  • 가장 큰 import 변경 — fetcher 가 system 의 핵심 진입점이라 영향 범위 넓음
  • 본 단계 머지 후 internal/crawler/ 가 완전히 사라지므로 README / docs / 기여자 가이드의 모든 언급 업데이트 필요
  • entry point (cmd/) 가 모두 영향 받음 — main.go 빌드 검증 필수

메인 이슈 close

본 PR 머지 시 Closes #195 도 함께 적용 — 모든 sub-issue 완료.

Activity

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

Metadata

Metadata

Assignees

No one assigned

    Labels

    refactorCode refactoring

    Type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions