2023-06-08(목)
가장 인상 깊거나 도움이 될 레포지토리는 어떤 레포지토리 였나요?
=https://brunch.co.kr/@hyoi0303/22
동기, 비동기, 블로킹, 논블로킹
디자이너가 개발자와 일 하다 보니 (6) | 실무에서 개발자와 협업 시 개발에 대한 전문적인 지식을 가지고 있는 것이 아니기 때문에 개발자분들이 최대한 쉽게 설명해주지만, 많이 언급되는 부
brunch.co.kr
어떤 인사이트(통찰)를(을) 얻으셨나요?
= 비동기 와 동기의 대한 복습을 할 수 있는 좋은 자료였고, 해당 차이를 이해하는데 편리했다.
기초와 관련된 지식이라 이후 다른 비동기 관련 지식을 참조할때 좀 더 좋을 것 같다.
동기와 비동기
# 데이터 처리 방식
동기와 비동기로 작성한 코드의 가장 큰 차이점은 런타임시에 발생하는 지연시간이다.
또한 동기와 비동기는 어떠한 프로세스를 처리하는데 절차적인 측면이 강하다.
*런타임(runtime) : 컴퓨터 프로그램이 실행되고 있는 동안의 동작
동기
동기 방식은 데이터의 요청과 결과가 한 자리에서 동시에 일어난다.
즉, 사용자가 데이터를 서버에 요청하면 서버는 데이터 요청에 따른 응답을 사용자에게 다시 리턴해주기 전까진
다른 활동을 할 수 없고 대기해야 한다.
예를 들어 음식을 주문한 후에 음식이 나오기 전까진 아무것도 할 수 없다. 왜냐하면 앞에 음식을 조리하는 과정이
끝나지 않았기 때문이다.
ATM, 키오스크, 단순 단말기 같은 방식이 이런 동기적인 방식을 따르고 있다.
동기 방식의 장단점
장점
코드 파악이 쉽고, 유지보수 ,* 디버깅이 쉽다, 설계가 매우 간단하고 직관적이다.
*디버깅이란 컴퓨터 프로그램 개발 단계 중에 발생하는 시스템의 논리적인 오류나 비정상적 연산을 찾아내고
그 원인을 밝히고 수정하는 작업 과정을 말한다.
단점
데이터 베이스 작업이 완료되어 데이터가 오기까지 기다린다면, 우리의 애플리케이션은 작동 불가능 상태가 되고,
다른 작업을 할 수 있는 시간을 낭비하게 된다. 즉 효율적이지 못하게 된다.
또한 웹에서 UI를 이런 식으로 구현하게 된다면, 브라우저가 응답하지 않는다 라는 메시지를 계속해서
제공하는 최악의 UX를 제공할 수 있다.
비동기
반대로 비동기 방식은 요청을 보냈을 때 응답 상태와 상관없이 다른 외부 활동을 수행하여도 되고, 서버에게 다른 요청사항을 보내도 상관없다. 즉 효율적으로 A작업이 시작되도 B작업이 가능하고 A작업은 결과값이 나오는대로 출력된다.
비동기 방식 장단점
장점
요청에 따른 결과가 반환되는 시간 동안 다른 작업을 수행할 수 있다.
단점
비동기 방식은 지속적으로 응답할 수 있게 하지만, 동기적 방식에 비해 많은 비용이 발생한다.
'개념학습' 카테고리의 다른 글
자주 틀리는 마크업 요소 (0) | 2023.06.26 |
---|---|
Props Drilling이란? (0) | 2023.06.21 |
Storybook이란? (0) | 2023.06.16 |
Styled Components (1) | 2023.06.16 |
(Open API) 그리고 (API Key) 에대한 학습 (0) | 2023.05.25 |