뤼
뤼이드
January 22, 20251회
Asyncio 없이 싱글 스레드 논 블락킹 비동기 서버 만들기 (Feat. Event Loop 이해하기)
간단 소개
Asyncio 없이 싱글 스레드 논 블락킹 비동기 서버를 구현하고, 이벤트 루프의 원리를 이해하는 과정을 설명합니다.
AI Summary
- 비동기 서버 개발 배경 및 목표
- 동일 리소스로 더 많은 요청 처리를 위해 비동기 방식 개발이 중요해짐.
- 이벤트 루프 기반 비동기 처리 방식에 대한 이해도 향상을 목표로 함.
asyncio라이브러리 없이 소켓을 이용해 비동기 서버를 구현하고, 이벤트 루프 원리 학습.
- 싱글 스레드 논 블락킹 비동기 서버 구현
- Telnet 서버를 시작으로, 요청을 echo하는 기본 서버 구현.
- 논 블락킹 방식으로 전환하여, 요청이 없어도 루프가 계속 순환하도록 개선.
- I/O event notification을 이용하여 CPU 자원 소모를 줄이고 효율적인 비동기 처리 구현.
- Asyncio Event Loop 비교 및 결론
selectors라이브러리를 사용하여 I/O event를 구독하고 알림을 받는 방식으로 구현.- Asyncio의 Event Loop 또한
selectors를 사용하여 I/O event를 처리하는 것을 확인. - Event Loop는 I/O event를 제어하는 루프임을 이해하고, Coroutine에 대한 추가 학습 필요.
Next Feeds

비동기 메시지 가시화 파티가 1년 간 개발 문화를 바꾼 방법
모두싸인 개발팀의 비동기 메시지 가시화 파티가 AsyncAPI와 WAAX를 통해 개발 문화를 개선한 1년간의 여정을 담고 있습니다.
비동기 메시지AsyncAPIWAAXCode-Gen개발 문화
2025. 1. 22.
모두싸인

코드 품질 개선 기법 4편: 문을 없애고 테스트하기
단위 테스트는 내부 구현보다는 사양에 따른 동작 검증에 집중하고, 외부 의존성은 Mock을 활용하여 테스트해야 한다.
단위 테스트코드 품질가시성Mock외부 의존성
2025. 1. 22.
LY Corp

Claude MCP로 엔지니어링 업무 자동화하기 : 정보 검색, README, Git, Slack 활용법
Claude MCP를 활용하여 엔지니어링 업무 자동화하는 방법(정보 검색, README 생성, Git 제어, Slack 채널 분석)을 소개합니다.
MCP자동화AIClaudeDevOps
2025. 1. 22.
인포그랩

DevOps 실무자를 위한 GitLab Wiki 활용법 : 협업과 지식 관리 최적화
GitLab Wiki 활용법을 소개하고, 협업과 지식 관리 최적화를 위한 단계별 가이드 및 팁을 제공합니다.
GitLab Wiki협업지식 관리DevOps문서화
2025. 1. 22.
인포그랩

테스트 코드 작성 가이드(근데 이제 Jest를 곁들인)
Jest를 활용한 테스트 코드 작성 가이드로, 단위, 통합, E2E 테스트, TDD, BDD 방법론 및 유지보수 팁을 제공한다.
테스트 코드JestTDDBDD유지보수
2025. 1. 22.
비브로스
Hexagonal Architecture, 진짜 하실 건가요?
카카오페이 홈 서버의 Hexagonal Architecture 도입 및 제거 경험을 통해 아키텍처 선택 시 고려사항을 제시합니다.
Hexagonal Architecture아키텍처마이크로서비스Server Driven UI카카오페이
2025. 1. 21.
카카오페이