파이썬으로 작성되었으며 I/O를 전혀 수행하지 않는(바이트/텍스트만 직접 다루는) 네트워크 프로토콜 구현들을 한곳에 모아 참고할 수 있도록 정리한 페이지.
이 페이지는 파이썬으로 작성되었으며 어떤 I/O도 수행하지 않는 네트워크 프로토콜 구현(즉, I/O를 단순히 추상화하는 라이브러리가 아니라 텍스트 또는 바이트를 직접 다루는 라이브러리)을 찾을 때 참고할 수 있도록 한곳에 모아 제공하기 위한 것입니다.
한마디로: 재사용성. 네트워크 프로토콜을 어떤 I/O도 포함하지 않고 바이트나 텍스트만을 대상으로 구현하면, 그 라이브러리는 그들이 어떤 I/O 방식을 선택하든 다른 코드에서 재사용할 수 있습니다. 다시 말해, I/O를 그림에서 빼면 네트워크 프로토콜 라이브러리는 동기 I/O 코드와 비동기 I/O 코드 양쪽에서 모두 사용할 수 있습니다. 그리고 I/O를 단순히 추상화해 버리지 않음으로써, 라이브러리 사용자들이 네트워크 상호작용을 직접 주도할 수 있게 하고 네트워크 프로토콜 라이브러리 자체가 이를 주도하지 않게 합니다. 특정 API에 I/O 코드를 맞추도록 강제하지 않는 것은 네트워크 프로토콜과 같은 저수준 세부 사항의 사용자에게 가장 큰 유연성을 제공합니다. 파이썬 커뮤니티가 동기 I/O 코드에서 비동기 I/O를 위한 async/await 사용으로 이동함에 따라, 네트워크 프로토콜을 I/O로부터 분리하는 이러한 작업은 매우 중요합니다.
Cory Benfield의 PyCon US 2016 발표는 왜 이런 방식으로 프로토콜 구현을 설계하는 것이 중요한지, 그리고 앞으로 파이썬 커뮤니티가 그렇게 하는 최선의 방법이 무엇인지에 대한 좋은 개요를 제공합니다.
자세한 내용은 다음 문서를 참조하세요:
또한 I/O를 수행하지 않고 네트워크 프로토콜을 구현하는 데 도움을 주는 라이브러리도 있습니다: