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

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

섹션 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)를 사용하여 시스템 재부팅 후에도 안정적으로 작업을 자동 실행합니다.