본문으로 건너뛰기

"Python" 태그로 연결된 3개 게시물개의 게시물이 있습니다.

모든 태그 보기

· 약 9분

프로그램의 복잡도가 올라갈수록 소프트웨어 개발자에게는 좋은 디버깅 도구가 필요합니다. 가장 이상적인 디버깅 과정은 마음껏 실험해볼 수 있는 개발환경에서 문제를 안정적으로 재현하는 방법을 알아내고 이를 자동화된 테스트로 만드는 것이죠. 하지만 재현 시나리오 구성 자체가 너무 복잡하거나 프로덕션 환경에서만 가끔씩 랜덤하게 발생하는 종류의 버그들은 차선책으로 로그를 상세히 남겨서 사후에라도 어떤 문제가 있었는지 파악할 수 있도록 해야 합니다. 이번 글에서는 복잡한 asyncio 프로그램의 디버깅을 쉽게 하기 위해 개발한 aiomonitor-ng 도구를 소개합니다.

· 약 17분

이번 글에서는 Python 3.11에 새로 도입될 asyncio.TaskGroup API 및 제가 개발하여 제안 중인 aiotools.PersistentTaskGroup API에 대해 소개합니다. 특히 구조적 병행성(structured concurrency)를 구현하기 위해서 중요한 부분이며, 실제로 Backend.AI 개발 과정에서도 구조적 병렬성이 제대로 지켜지지 않아서 발생한 버그 사례가 있습니다.

· 약 11분

지난 10월 4일 Python의 3.10 새 버전이 발표되었습니다. Python은 2021년 10월 기준 TIOBE Index 기준으로 전 세계에서 가장 인기 있는 프로그래밍 언어입니다. 그만큼 새 버전에서 어떤 기능들이 추가되었는지에 대해서도 많은 분들이 관심을 가지고 계실 텐데요, Backend.AI 또한 Python을 주력 언어로 작성된 프로그램이니만큼 항상 관심 있게 지켜보고 있습니다. 이번 블로그 글에서는 Python 3.10의 주요 변화를 함께 살펴보는 시간을 갖고자 합니다.