10분
금요일, 드디어 종합 실습의 날
로깅+캐싱 시스템 구축 - 주간 프로젝트
금요일, 드디어 종합 실습의 날
Python 고급: 제너레이터, 데코레이터, 컨텍스트 매니저, Type Hints > 로깅+캐싱 시스템 구축 - 주간 프로젝트
학습 목표
이번 주 학습 내용을 종합적으로 회고한다 실무에서 로깅+캐싱 시스템의 중요성을 이해한다
금요일, 드디어 종합 실습의 날
"신입씨, 이번 주에 배운 것들... 다 연결되는 거 느꼈어?"
박선배가 커피를 건네며 물었다. 김신입은 노트를 펼쳤다.
에디터 로딩 중...
박선배의 과제
"오늘은 이 네 가지를 하나의 시스템으로 만들어볼 거야."
| 컴포넌트 | 활용 개념 | 역할 |
|---|---|---|
| 로깅 시스템 | 데코레이터 + 컨텍스트 매니저 | 함수 호출 자동 기록 |
| 로그 버퍼 | 제너레이터 | 메모리 효율적 로그 처리 |
| 캐싱 시스템 | 데코레이터 + 제네릭 | 함수 결과 캐싱 |
| 전체 | Type Hints | mypy --strict 통과 |
왜 이 조합인가?
실무에서 로깅과 캐싱은 거의 모든 서비스에서 사용하는 핵심 인프라다.
에디터 로딩 중...
데코레이터 2개만으로:
- 함수 호출이 자동으로 기록되고
- 결과가 60초간 캐싱되며
- 100개 초과 시 오래된 캐시가 자동 삭제된다
오늘의 목표
| 산출물 | 설명 | 예상 시간 |
|---|---|---|
logging_system.py | @log, LogBuffer, LogContext | 45분 |
caching_system.py | @cache, MemoryCache, CacheStats | 45분 |
integration.py | 두 시스템 통합 예제 | 30분 |
| 테스트 + 문서화 | mypy 통과, README | 30분 |
| 총 | 2.5시간 |
"준비됐어? 지금부터 진짜 실무급 코드를 짜보자."
핵심 포인트
- • 제너레이터 + 데코레이터 + 컨텍스트 매니저 + Type Hints 종합
- • 로깅: 함수 호출 자동 기록, 컨텍스트 정보 전파
- • 캐싱: TTL 지원, LRU 정책
- • mypy --strict 통과 필수