자바스크립트의 Async/Await를 자세히 알아봅시당(번역)

살아오면서 수많은 프로젝트와 개발 경험을 가졌습니다. 따라서 다양한 프로그래밍 언어를 다뤄 보았는데요 이제는 딱히 영역을 가리지 않고 뚜렷한 목적이 없는 한 Javascript를 주로 사용하게 됩니다.

특히, node.js, react가 나온 이후로는 서버/클라이언트, OS, 웹, PC/Mobile 환경에 크게 영향 받지 않고 앱을 만들 수 있게 되어 더 그런거 같습니다. 그래서 javascript를 좀 더 깊이 알아보고 싶다는 생각에 괜찮은 책이나 글이 나오면 공부겸 해서 번역을 해봐야지 했습니다.

처음엔 node.js의 "Event Handling"을 다뤄볼까 하다, "Async/Await"에 대한 괜찮은 책(전자책)이 있어 원저자 허락을 받고 번역하게 되었습니다. 커뮤니티에 공유도 좋다고 해서 이렇게 공유하고자 합니다.

기본적으로 컴퓨팅 자원(processor, memory, file, DB, network 등등등)들의 성능이 제각각이기 때문에 "처리가 좀 걸리는 일은 맡겨두고 그 사이 다른 일을 처리하도록 해서 전체적인 효율을 높여보자"라는게 “event processing”, "asynchronous programming"의 기본 취지입니다. Javascript도 이를 위한 몇 가지 언어적 특징을 제공하는데요 그 중 "Async/Await"이 매우 탁월합니다. 그런데 자료를 찾아보면 대부분 간단한 컨셉과 사용법 위주의 설명은 많지만 실제 내부적으로 어떤 메커니즘으로 동작하는지 알려주는 자료를 드물었습니다.

원저자인 Valeri Karpov씨는 Javascript 분야에서 전문적인 글/프로그램 그리고 오픈소스 커뮤니티에 많은 기여를 하시는 분인데요, 2018년도에 "Mastering Async/Await"라는 전자책을 내놓으셨습니다. 유료여서 처음엔 망설였는데 과거 좋은 글들을 많이 쓰셔서 믿고 보게 되었습니다. 결과적으로 내용은 기대 이었습니다. async/await의 근간이 되는 promise의 밑바닥부터 차근차근 풀고 있어 심층적인 이해에 많은 도움이 되었습니다.

https://gcback-1.gitbook.io/mastering-async-await-by-valeri-karpov/

기본적으로 원문 보시길 권해드리지만 부담있으신 분들을 위한 번역본입니다. 번역 품질이 100% 자신은 없지만 이해에 큰 무리는 없으리라 생각됩니다.

4 Likes