개발 slecs

푸터 전체에 쿠키 정책 링크 추가

목차

모든 푸터 위치에 쿠키 정책 링크를 일관되게 추가했다. 단순 링크 추가처럼 보이지만, 이면에는 법적 컴플라이언스와 코드 유지보수성 사이의 균형이 숨어 있다.

들어가며: 왜 갑자기 쿠키 링크가 필요했나

쿠키 정책은 요즘 웹 서비스라면 거의 필수다. GDPR, CCPA 같은 개인정보보호 규제에서 사용자가 쉽게 접근할 수 있는 위치에 공지해야 한다고 요구하기 때문이다. 특히 푸터는 거의 모든 페이지 하단에 노출되는 공간이라, 여기에 링크를 두는 게 가장 자연스럽다.

그런데 우리 프로젝트는 푸터가 한 곳에만 정의되지 않았다. 여러 페이지(about, privacy, terms)와 클라이언트 컴포넌트(ButtonClient.tsx)에 산재되어 있었다. 이런 상황에서는 "일관성"이 문제가 된다. 한 곳만 수정하고 다른 곳을 놓치면, 특정 페이지에서는 쿠키 정책에 접근할 수 없게 되는 거다.

작업 범위와 파일 구조

변경한 파일들을 정리하면 이렇다:

파일명 역할 추가된 이유
src/app/ButtonClient.tsx 클라이언트 사이드 버튼 컴포넌트 모달/동적 컨텐츠 푸터
src/app/about/page.tsx About 페이지 페이지 고유 푸터
src/app/privacy/page.tsx Privacy 페이지 페이지 고유 푸터
src/app/terms/page.tsx Terms 페이지 페이지 고유 푸터

네 곳 모두에 같은 링크를 추가해야 했다는 건 꽤 흥미로운 설계 신호다. 보통 이렇게 여러 곳에 중복되는 UI는 공통 컴포넌트로 추상화할 기회를 보여준다.

기술적 의사결정: 컴포넌트화 vs 점진적 추가

사실 처음 고민한 지점이 이것이었다:
- 옵션 A: 지금 당장 푸터를 독립 컴포넌트로 분리하고, 모든 곳에서 임포트해서 사용하기
- 옵션 B: 각 파일에서 개별적으로 링크 추가하기 (현재 구조 유지)

A가 이상적이지만, 시간이 더 필요하다. B는 빠르지만, 나중에 푸터를 또 수정할 때 네 곳을 다시 수정해야 한다는 부담이 있다.

결국 B를 선택했다. 이유는:
1. 현재 시급성: 법적 요구사항이므로 빠른 적용이 필요
2. 낮은 변경 위험: 푸터 구조가 자주 바뀌지 않는다면, 당분간은 관리 가능
3. 향후 리팩토링 준비: 이번 작업 후 푸터 컴포넌트화를 별도 이슈로 등록할 기회가 생김

// 예상되는 향후 리팩토링 구조
import { Footer } from '@/components/Footer'

export default function AboutPage() {
  return (
    <div>
      <h1>About Us</h1>
      {/* 콘텐츠 */}
      <Footer />
    </div>
  )
}

팀 협업 관점에서 생각한 것들

이런 변경을 할 때 고려해야 할 포인트들:

  • 디자인팀: 쿠키 정책 링크가 푸터 레이아웃에 어떻게 들어가는지 미리 확인했나? 기존 푸터 배치와 충돌하지 않는가?
  • QA팀: 네 곳 모두에서 링크가 제대로 작동하는지 테스트할 대상이 명확한가?
  • 법무/컴플라이언스: "쿠키 정책 페이지가 실제로 존재하는가"가 중요. 링크만 추가했다면, 실제 정책 페이지가 준비됐는지 확인 필요.

회고: 작은 변경에서 배운 점

이번 작업은 겉으로는 단순해 보이지만, 여러 교훈을 담고 있다:

  1. "작은 기능"도 전략적으로 보기: 링크 추가는 단순하지만, 이것이 시스템의 어떤 약점(여러 곳 중복)을 노출했는지 인식해야 한다.

  2. 빠른 수정 vs 근본 개선의 균형: 당장 필요한 것과 장기적 개선 사이에서 타협안을 찾는 게 팀 리드의 몫. 이번엔 "빠른 수정 후 리팩토링 이슈 등록" 전략으로 갔다.

  3. 중복 코드는 신호: 같은 푸터가 여러 곳에 있다면, 나중에 유지보수 비용이 증가한다. 언제 이걸 컴포넌트화할지는 기술 부채 관리의 일부.

다음 스프린트에서는 이 경험을 바탕으로 푸터 컴포넌트 통합을 진행할 예정이다. 지금의 "점진적 추가"가 미래의 리팩토링 작업을 명확하게 만들어 줄 거다.


🛒 이 글과 어울리는 추천 상품

*위 링크는 쿠팡파트너스 활동의 일환이며, 일정액의 수수료를 제공받을 수 있습니다.

댓글 0

첫 댓글 달아줘.