문의를 보내주셔서 감사합니다! 팀원이 곧 연락드리겠습니다.
예약을 보내주셔서 감사합니다! 저희 팀 멤버 중 한 분이 곧 연락드리겠습니다.
기간 28 시간
코스 개요
Day 1 — 견고한 Python 기초 및 도구
최신 Python 기능 및 타이핑
- 타이핑 기초, 제네릭, Protocols, 및 TypeGuard
- Dataclasses, frozen dataclasses, 및 attrs 개요
- 패턴 매칭(PEP 634+) 및 관용적 사용
코드 품질 및 도구
- 코드 포매터 및 린터: black, isort, flake8, ruff
- MyPy 및 pyright를 활용한 정적 타입 체크
- Pre-commit 훅 및 개발자 워크플로우
프로젝트 관리 및 패키징
- Poetry 및 가상 환경을 활용한 의존성 관리
- 패키지 레이아웃, 진입점, 및 버전 관리 모범 사례
- PyPI 및 전용 레지스트리에 패키지 빌드 및 게시
Day 2 — 디자인 패턴 및 아키텍처 관행
Python에서의 디자인 패턴
- 생성 패턴: Factory, Builder, Singleton (Pythonic 변형)
- 구조적 패턴: Adapter, Facade, Decorator, Proxy
- 동작 패턴: Strategy, Observer, Command
아키텍처 원칙
- Python 코드베이스에 적용되는 SOLID 원칙
- Hexagonal/Clean Architecture 및 경계 설정
- 의존성 주입 패턴 및 구성 관리
모듈화 및 재사용
- 라이브러리 코드와 애플리케이션 코드 설계
- API, 안정된 인터페이스, 및 의미론적 버전 관리
- 구성, 시크릿, 및 환경별 설정 처리
Day 3 — 동시성, 비동기 IO, 및 성능
동시성 및 병렬성
- 스레딩 기초 및 GIL의 함의
- CPU 집약적 작업을 위한 multiprocessing 및 프로세스 풀
- concurrent.futures와 multiprocessing 사용 시점
asyncio를 활용한 비동기 프로그래밍
- Async/await 패턴, 이벤트 루프, 및 취소
- 비동기 라이브러리 설계 및 동기 코드와의 상호 운용성
- IO 집약적 패턴, 백프레셔, 및 레이트 리미팅
프로파일링 및 최적화
- 프로파일링 도구: cProfile, pyinstrument, perf, memory_profiler
- 핫 패스 최적화 및 적절한 경우 C-extension/Numba 사용
- 지연 시간, 처리량, 및 리소스 사용률 측정
Day 4 — 테스트, CI/CD, 관찰 가능성, 및 배포
테스트 전략 및 자동화
- pytest를 활용한 유닛 테스트 및 픽스처; 테스트 조직
- Hypothesis를 활용한 속성 기반 테스트 및 계약 테스트
- 모킹, 머니패칭, 및 비동기 코드 테스트
CI/CD, 릴리스, 및 모니터링
- GitHub Actions/GitLab CI에 테스트 및 품질 게이트 통합
- Docker 및 멀티스테이지 빌드를 활용한 재현 가능한 컨테이너 빌드
- 애플리케이션 관찰 가능성: 구조화된 로깅, Prometheus 메트릭, 및 트래싱
보안, 강화, 및 모범 사례
- 의존성 감사, SBOM 기초, 및 취약점 스캐닝
- 입력 검증 및 시크릿 관리를 위한 안전한 코딩 관행
- 런타임 강화: 리소스 제한, 사용자 권한, 및 컨테이너 보안
캡스톤 프로젝트 및 검토
- 팀 랩: 과정의 패턴을 사용하여 소형 서비스 설계 및 구현
- 프로젝트를 위한 테스트, 타입 체크, 패키징, 및 CI 파이프라인
- 최종 검토, 코드 비평, 및 실행 가능한 개선 계획
요약 및 다음 단계
요건
- 견고한 중급 수준의 Python 프로그래밍 경험
- 객체 지향 프로그래밍 및 기본 테스트에 대한 익숙함
- 명령줄 및 Git 사용 경험
대상 독자
- 시니어 Python 개발자
- Python 코드 품질과 아키텍처를 담당하는 소프트웨어 엔지니어
- Python 코드베이스와 함께 작업하는 테크니컬 리드 및 MLOps/DevOps 엔지니어
회원 평가 (2)
모든 것이 완벽했습니다
Florin Vrincianu
코스 - Python Programming Fundamentals
기계 번역됨
콘텐트와 관련된 실습 연습은 각 주제에 대해 더 많이 이해하는 데 정말 도움이 됩니다. 또한, 강의로 수업을 시작하고 그 다음에 실습 연습으로 계속하는 방식은 이전에 제시된 강의 내용과 연결시키는 데 좋은 방법이며 유용합니다.
Nazeera Mohamad - Ministry of Science, Technology and Innovation
코스 - Introduction to Data Science and AI using Python
기계 번역됨