코스 개요
1일차 — 튼튼한 파이썬 기초 및 도구 사용법
현대 파이썬 기능 및 타이핑
- 타이핑 기본, 제네릭, 프로토콜 및 타입가드
- 데이터클래스, 불변 데이터클래스 및 attrs 개요
- 패턴 매칭 (PEP 634+) 및 관용적인 사용법
코드 품질 및 도구 사용법
- 코드 포매터 및 린터: black, isort, flake8, ruff
- MyPy 및 pyright로 정적 타입 검사
- 프리커밋 훅 및 개발자 워크플로우
프로젝트 관리 및 패키징
- Poetry 및 가상 환경으로 의존성 관리
- 패키지 레이아웃, 엔트리 포인트 및 버전 관리 최적화
- PyPI 및 사설 레지스트리로 패키지 빌드 및 게시
2일차 — 디자인 패턴 및 아키텍처 실천
파이썬의 디자인 패턴
- 생성 패턴: 팩토리, 빌더, 싱글톤 (파이썬 변형)
- 구조 패턴: 어댑터, 페이스드, 데코레이터, 프록시
- 행동 패턴: 전략, 옵저버, 커맨드
아키텍처 원칙
- 파이썬 코드베이스에 적용된 SOLID 원칙
- 헥사고날/클린 아키텍처 및 경계
- 의존성 주입 패턴 및 설정 관리
모듈화 및 재사용
- 라이브러리 vs 애플리케이션 코드 설계
- API, 안정적인 인터페이스 및 의미론적 버전 관리
- 설정, 비밀번호 및 환경별 설정 처리
3일차 — 동시성, 비동기 IO, 성능
동시성과 병렬성
- 쓰레딩 기본 및 GIL의 의미
- CPU 바운드 작업에 대한 멀티프로세싱 및 프로세스 풀
- concurrent.futures vs multiprocessing 언제 사용하는지
asyncio로 비동기 프로그래밍
- 비동기/대기 패턴, 이벤트 루프 및 취소
- 비동기 라이브러리 설계 및 동기 코드와의 상호 운용성
- I/O 바운드 패턴, 백프레셔 및 레이트 제한
프로파일링 및 최적화
- 프로파일링 도구: cProfile, pyinstrument, perf, memory_profiler
- 핫 경로 최적화 및 C-확장/Numba 적절한 사용
- 지연 시간, 처리량 및 리소스 활용 측정
4일차 — 테스트, CI/CD, 관찰 가능성, 배포
테스트 전략 및 자동화
- pytest로 단위 테스트 및 피처; 테스트 조직
- Hypothesis 및 계약 테스트를 통한 속성 기반 테스트
- 모킹, 모노패칭 및 비동기 코드 테스트
CI/CD, 릴리즈 및 모니터링
- GitHub Actions/GitLab CI에 테스트 및 품질 게이트 통합
- Docker 및 멀티 스테이지 빌드로 재현 가능한 컨테이너 빌드
- 애플리케이션 관찰 가능성: 구조화된 로깅, Prometheus 메트릭 및 추적
보안, 강화 및 최적 실천
- 의존성 감사, SBOM 기본 및 취약점 스캔
- 입력 검증 및 비밀번호 관리용 보안 코딩 실천
- 런타임 강화: 리소스 제한, 사용자 권한 및 컨테이너 보안
캡스톤 프로젝트 및 리뷰
- 팀 실습: 과정의 패턴을 사용하여 작은 서비스를 설계 및 구현
- 프로젝트의 테스트, 타입 검사, 패키징 및 CI 파이프라인
- 최종 리뷰, 코드 평가 및 실천 가능한 개선 계획
요약 및 다음 단계
요건
- 파이썬 중간 수준의 강력한 프로그래밍 경험
- 객체지향 프로그래밍과 기본 테스트에 대한 이해
- 명령 줄과 Git 사용 경험
대상
- 상급 파이썬 개발자
- 파이썬 코드 품질과 아키텍처에 책임이 있는 소프트웨어 엔지니어
- 파이썬 코드베이스를 사용하는 기술 리더 및 MLOps/DevOps 엔지니어
회원 평가 (5)
우리 프로젝트에서 사용하는 것과 더 유사한 데이터를 사용하여 더 실용적인 연습을 할 수 있다는 사실(래스터 형식의 위성 이미지)
Matthieu - CS Group
코스 - Scaling Data Analysis with Python and Dask
기계 번역됨
I thought the trainer was very knowledgeable and answered questions with confidence to clarify understanding.
Jenna - TCMT
코스 - Machine Learning with Python – 2 Days
Very good preparation and expertise of a trainer, perfect communication in English. The course was practical (exercises + sharing examples of use cases)
Monika - Procter & Gamble Polska Sp. z o.o.
코스 - Developing APIs with Python and FastAPI
The explaination
Wei Yang Teo - Ministry of Defence, Singapore
코스 - Machine Learning with Python – 4 Days
Trainer develops training based on participant's pace