현대 데이터 애플리케이션 아키텍처

데이터 모델링부터 안전한 자동 배포까지, 견고한 시스템 구축을 위한 종합 가이드

섹션 I: 청사진 - 데이터 우선 아키텍처 설계

모든 견고한 애플리케이션은 잘 정의된 데이터 모델에서 시작됩니다. '스마트 팩토리' 시나리오를 통해 비즈니스 로직이 어떻게 데이터베이스 스키마로 변환되는지 살펴봅니다.

스마트 팩토리 엔티티 관계도 (ERD)

ProductionLines
→
Machines
→
Sensors
↓
Readings
Operators
↕
MaintenanceLogs
(Linking Table)
↕
Machines

위 다이어그램은 엔티티 간의 일대다(→, ↓) 및 다대다(↕) 관계를 시각화합니다. 다대다 관계는 'MaintenanceLogs'라는 연결 테이블을 통해 구현됩니다.

섹션 II: 엔진 룸 - 복원력 있는 데이터 파이프라인

'도시 날씨 데이터 로거' 프로젝트를 통해, 장애에 강하고 모듈화된 데이터 처리 시스템을 구축하는 방법을 알아봅니다.

데이터 파이프라인 5단계

1. 설정 관리
↓
2. 데이터 수집
↓
3. 데이터 처리
↓
4. 영속성 계층
↓
5. 스케줄러

저장 전략 비교: CSV vs. SQLite

저장소 선택은 미래의 분석 능력과 확장성을 결정하는 중요한 아키텍처 결정입니다. Bar Chart는 각 방식의 장단점을 명확히 비교합니다.

섹션 III: 요새 - 현대 인증 및 인가

안전한 시스템은 사용자의 신원을 확인하고 권한을 관리하는 강력한 보안 계층 위에 구축됩니다. JWT와 OAuth 2.0의 핵심 원리를 알아봅니다.

1

로그인 & 토큰 발급

서버는 검증된 사용자에게 단기 `Access Token`과 장기 `Refresh Token`을 발급합니다. Refresh Token은 `HttpOnly` 쿠키로 안전하게 전달됩니다.

2

API 요청

클라이언트는 `Access Token`을 사용하여 보호된 API에 접근합니다. 토큰이 만료되면 401 오류를 받습니다.

3

자동 토큰 갱신

클라이언트는 401 오류 시 `Refresh Token`을 사용하여 사용자 모르게 새로운 `Access Token`을 발급받아 끊김 없는 경험을 제공합니다.

섹션 IV: 조립 라인 - 통합 및 자동화

개발된 코드를 신뢰할 수 있고 배포 가능한 자동화 시스템으로 전환하는 '제품화' 단계의 핵심 원칙들을 살펴봅니다.

⚙️

중앙 집중식 구성

`config.ini` 파일을 통해 코드 변경 없이 애플리케이션의 동작(도시 목록, 파일 경로 등)을 제어합니다.

🔑

안전한 비밀 관리

API 키와 같은 민감 정보는 소스 코드와 분리하여 **환경 변수**를 통해서만 관리하여 보안을 강화합니다.

🗓️

OS 수준 스케줄링

`cron` (Linux) 또는 `작업 스케줄러` (Windows)를 사용하여 시스템 재부팅 후에도 안정적으로 작업을 자동 실행합니다.