본문으로 건너뛰기

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

모든 태그 보기

· 약 9분

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

· 약 17분

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