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

Description

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

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

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

Slides

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

Video

https://youtu.be/9njdWZaTZYs

Sponsors

Diamond

Sapphire

Startup

Community

Publisher/Media