코스 개요

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 엔지니어
 28 시간

참가자 수


참가자당 가격

회원 평가 (5)

예정된 코스

관련 카테고리