Backend.AI에 점진적 typing 적용하기

설명

지난 몇 년간 파이썬 3의 주요 개발 이슈 중 하나로는 타입 주석(type annotation)의 도입을 들 수 있습니다. 말 그대로 주석이기 때문에 코드가 실행될 때 영향을 끼치지는 않지만, 타입 주석을 잘 활용하면 PyCharm, VSCode, vim-lsp와 같은 IDE 환경을 사용할 때 코드 가독성을 높여주고 자동완성 기능이 보다 정확하게 동작하도록 도와주며, 런타임에 발생할 수 있는 버그나 코드 작성 과정에서의 실수를 줄여줍니다.

"Sorna"라는 이름으로 발표했던 Backend.AI 프레임워크 개발 과정을 통해 7만줄 이상의 코드를 작성하기 위해 타입 주석을 어떻게 도입했는지에 대한 경험을 공유하고자 합니다. 타입 주석을 기초부터 전체적으로 소개하기보다는, 튜토리얼만 보고는 바로 알기 어려운, 실제 실무에서 부딪히는 타입 주석 사례들을 함께 살펴봅니다.

- 타입 주석 개념과 도입 효과
- 타입 주석을 활용하는 개발환경 준비하기 (VSCode, vim-lsp)
- 코루틴과 제네레이터에 타입 주석 넣기
- Protocol로 복잡한 타입 정의 및 조합하기
- Generic으로 플러그인 시스템 설계하기
- 동적 타입 검사를 보완적으로 활용하기 (JSON + trafaret)
- Python 미래 버전의 타입 주석 관련 기능 소개

슬라이드

http://bit.ly/joongi-talk-pyconkr2020

발표 동영상

https://youtu.be/9njdWZaTZYs

후원사 목록

다이아몬드

사파이어

스타트업

커뮤니티

출판사/미디어