Jay's Cookbook
Menu
  • Tags
  • Categories
  • Projects
Computer Science
OS
Network
Data Structure
Algorithm
Language
Code Architecture
Python
Javascript
Typescript
Java
Backend
Backend Theory
TypeORM
Node.js
NestJS
FastAPI
Frontend
HTML/CSS
React
Next.js
Data Engineering
DE Theory
MySQL
MongoDB
Elastic
Redis
Kafka
Spark
Airflow
AI
Basic
Pytorch
NLP
Computer Vision
Data Analytics
Statistics
Pandas
Matplotlib
DevOps
Git
Docker
Kubernetes
AWS
[Backend Thoery] 비동기 프로그래밍
backend
backend_theory

[Backend Thoery] 비동기 프로그래밍

Jay Kim
Jay Kim 14 Dec 2023
[Backend Thoery] 에러 핸들링 [Backend Thoery] 페이지네이션

Table of Contents

  • 비동기란
  • 백엔드에서 비동기가 필요한 때
  • 자바스크립트에서 비동기 구현 방식
  • 참고

비동기란

  • 비동기는 코드의 실행 순서와 실행에 대한 결과의 순서가 일치하는 것을 보장하지 않는 방식을 말한다
  • 보통 코드 내에서 시간이 오래 걸리는 작업을 하나의 비동기 함수로 묶는다
  • 비동기는 대부분 논블로킹(non-blocking)이기 때문에, 비동기 함수가 자신이 실행되는 동안 다른 코드의 실행을 막지 않는다
  • 네트워크 비용이 있는 작업 또는 I/O 작업은 보통 시간이 오래 걸리기 때문에, 이러한 작업들을 비동기 함수로 만든다
  • 참고로 비동기 함수 내부는 동기적으로 실행된다

백엔드에서 비동기가 필요한 때

  • 비동기 프로그래밍은 시간이 오래 걸리는 작업을 백그라운드로 실행하고, 그동안 다른 작업을 계속 진행한다
  • 그렇기 때문에 비동기 프로그래밍은 사용자 경험을 향상시키고, 서버를 효율적으로 실행하는데 중요한 역할을 한다

자바스크립트에서 비동기 구현 방식

  • 자바스크립트에서는 비동기 프로그래밍을 지원 하기 위해 콜백함수, 프로미스, async/await 패턴을 사용한다

참고

  • 동기 vs. 비동기 통신: 백엔드 시스템 설계의 핵심, onejaejae
  • 백엔드 개발자들이 알아야할 동시성 2 — 블로킹과 논블로킹, 동기와 비동기, Choi Geonu
  • 비동기 프로그래밍 - 간단한 고찰, 도림.로그
  • 완벽히 이해하는 동기/비동기 & 블로킹/논블로킹, 인파
[Backend Thoery] 에러 핸들링 [Backend Thoery] 페이지네이션

You may also like

See all backend_theory
12 Apr 2024 [Backend Thoery] Datetime, Timestamp, Timezone
backend
backend_theory

[Backend Thoery] Datetime, Timestamp, Timezone

10 Apr 2024 [Backend Thoery] 의존성 주입(Dependency Injection)
backend
backend_theory

[Backend Thoery] 의존성 주입(Dependency Injection)

05 Apr 2024 [Backend Thoery] 대용량 트래픽
backend
backend_theory

[Backend Thoery] 대용량 트래픽

Jay Kim

Jay Kim

Web development, data engineering for human for the Earth. I share posts, free resources and inspiration.

Rest
Lifestyle
Hobby
Hobby
Hobby
Hobby
2025 © Jay's Cookbook. Crafted & Designed by Artem Sheludko.