AsyncAwait 2

[개발 실무] "버튼을 눌렀는데 화면이 멈췄어요!" 네트워크 지연(Latency)과 비동기(Async) 처리 완벽 가이드

우리는 웹사이트나 앱에서 버튼을 누르면 그 결과가 즉시 화면에 나타난다고 생각하곤 합니다. 하지만 눈에 보이지 않는 네트워크의 세계에서 모든 데이터의 이동에는 반드시 '기다림'이 수반됩니다. 개발자라면 한 번쯤 들어봤을 '분산 컴퓨팅의 8가지 오류' 중 두 번째가 바로 "네트워크 지연(Latency)은 0이다"라는 착각입니다.오늘은 시스템 성능과 사용자 경험(UX)을 결정짓는 핵심 개념인 네트워크 지연(Latency)과 비동기 처리(Asynchronous)의 필요성에 대해 깊이 파헤쳐 보겠습니다. -------------------------------------------------------------------------------- 1. 요청은 먼 곳까지 이동한다: 데이터의 물리적 한계 🚚네트워..

코루틴(coroutine)

잘난 척을 위한 한 줄 요약코루틴은 “작업을 끝까지 한 번에 밀어붙이는 함수”가 아니라, 중간에 잠깐 멈췄다가 다시 이어서 실행할 수 있는 함수 실행 단위이고, 그래서 스레드를 마구 늘리지 않고도 동시성을 다루게 해 준다. 코루틴, 비동기 프로그래밍이 왜 갑자기 덜 복잡해 보이기 시작했을까코루틴이란 무엇일까?코루틴(coroutine)은 실행 도중 일시 중단(suspend) 했다가, 나중에 이어서 재개(resume) 할 수 있는 계산 단위다. Python asyncio 문서는 async/await로 코루틴을 다루는 방식을 설명하고 있고, Kotlin 공식 문서도 코루틴을 중단 가능한 계산(suspendable computation) 이라고 설명한다. 즉, 코루틴의 핵심은 “동시에 여러 일을 한다”보다 먼저..

개념 잡동사니 2026.04.07
반응형