문의를 보내주셔서 감사합니다! 팀원이 곧 연락드리겠습니다.
예약을 보내주셔서 감사합니다! 저희 팀 멤버 중 한 분이 곧 연락드리겠습니다.
기간 28 시간
코스 개요
1일차 — 견고한 Python 기초 및 도구
최신 Python 기능 및 타이핑
- 타이핑 기초, 제네릭, Protocols, 및 TypeGuard
- Dataclasses, frozen dataclasses, 및 attrs 개요
- 패턴 매칭(PEP 634+) 및 관용적 사용법
코드 품질 및 도구
- 코드 포맷터와 린터: black, isort, flake8, ruff
- MyPy와 pyright를 이용한 정적 타입 체크
- Pre-commit 훅 및 개발자 워크플로우
프로젝트 관리 및 패키징
- Poetry와 가상 환경을 통한 의존성 관리
- 패키지 레이아웃, 엔트리 포인트, 및 버전 관리 모범 사례
- PyPI 및 사설 레지스트리에 패키지 빌드 및 게시
2일차 — 디자인 패턴 및 아키텍처 관행
Python에서의 디자인 패턴
- 생성 패턴: Factory, Builder, Singleton (Python적 변형)
- 구조적 패턴: Adapter, Facade, Decorator, Proxy
- 행동 패턴: Strategy, Observer, Command
아키텍처 원칙
- Python 코드베이스에 적용되는 SOLID 원칙
- Hexagonal/Clean Architecture 및 경계 설정
- 의존성 주입 패턴 및 구성 관리
모듈성 및 재사용
- 라이브러리 코드와 애플리케이션 코드 설계
- API, 안정된 인터페이스, 및 시맨틱 버전 관리
- 구성, 시크릿, 그리고 환경별 설정 처리
3일차 — 동시성, 비동기 IO, 그리고 성능
동시성 및 병렬 처리
- 스레딩 기초 및 GIL(GIL)의 영향
- CPU 바운드 작업을 위한 멀티프로세싱 및 프로세스 풀
- concurrent.futures vs multiprocessing 사용 시점
asyncio를 활용한 비동기 프로그래밍
- Async/await 패턴, 이벤트 루프, 그리고 취소 처리
- 비동기 라이브러리 설계 및 동기 코드와의 상호운용성
- IO 바운드 패턴, 백프레셔, 그리고 속도 제한
프로파일링 및 최적화
- 프로파일링 도구: cProfile, pyinstrument, perf, memory_profiler
- 핫 패스 최적화 및 필요시 C 확장/Numba 사용
- 레이턴시, 처리량, 그리고 리소스 활용률 측정
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
기계 번역됨