티스토리 뷰

Web/Node.js

[Node.js] 5일차 : sync(동기 비동기), 콜백함수

열혈허슬러 상추님 2019. 1. 11. 19:15

[Node.js] 5일차 : sync(동기 비동기), 콜백함수

 본 글은 출처 생활코딩-https://opentutorials.org/course/3332/21132-에 있는 강의를 들으며 요약정리한 내용입니다. 원내용은 위 링크에서 확인할 수 있습니다. 감사합니다.

만든 날짜:2019-01-11 오전 9:37

JavaScript - 함수의 기본 문법
 중복발생 -> 유지보수 효율이 떨어지고, 가독성이 떨어진다.


JavaScript - 함수의 입력

 입력값 받기 (argument)(인자)
 first, second는 parameter(매개변수)

JavaScript - 함수의 출력

 return으로 함수의 반환설정하기.

App - 함수를 이용해서 정리 정돈하기
 함수를 이용해서 코드를 정리해보자. 코드가 많아지면 기계는 상관없지만 사람입장에선 코드의 복잡성이 기하급수적으로 높아져서 관리가 어려워진다. 간단히 만들지 못하면 우리는 그 복잡성에 도전하지 못한다. 중복을 제거하자.

 중복을 제거하기 위한 함수 2개 작성

 중복되는 부분에서 함수를 사용한다. 하지만 여전히 중복이 되는 부분이 눈에 보인다. 하지만 해당 부분 중복제거는 좀 까다롭기 때문에 이번 챕터에서는 현 단계까지만 개선하도록 하였다.

수업의 정상

 여기까지 우리는 프로그램이란? 프로그래밍이란? 프로그래머란? 에 대해서 지금까지 충분히 깊게 알아보았다.
 JavaScript의 기능을 이용해 Node.js의 기능을 제어해서 웹 에플리케이션을 만드는(구동) 방법을 알아보았다.
 지금까지 배운것이 훨신 중요하다. 이후 복잡한 문제가 생겼을 경우에 다시와서 공부를 이어가라. 또는 이러한 문제를 해결하려는 일에 종사하려는 사람은 계속 진도를 나가자.


Node.js - 동기와 비동기 그리고 콜백

동기와 비동기 1
 동기적과 비동기적의 차이와 의미를 알아보자.

 동기 : 일이 처리되면서 그 일이 오래동안 처리되는 경우도 기다렸다가 이후일을 처리.
 비동기 : 병렬적으로 동시에 여러가지 일을 처리하는 것이 비동기적인 처리.

동기와 비동기 2

Sync가 붙은 함수 그리고 아닌것.

 Sync는 동기적인 처리를 하기 때문에 순차적으로 한 줄이 다 끝나고 다음줄로 넘어간다.
 반면, 비동기 함수는 작업이 끝나면 실행할 콜백함수를 인자로 전달하게되고 바로 작업의 완료유무를 따지지 않고 바로 다음줄을 실행하기 때문에 위와 같은 결과가 출력된다.(cd. sample.txt의 내용은 B 한 글자이다.)

callback

 개념을 계속해서 자신에게 노출시키면 이해도 전에 익숙해 질 수 있다. 이해가 되는데 설명이 안된다? 그것은 이해된 것이 아니라 익숙해진 것이다!

 매우 오래 걸리는 함수가 있다고 치고(slowfunc) 해당 함수의 파라미터로 콜백함수를 설정하고 slowfunc를 호출할 때 callback 함수를 인자로 넘겨준다! 그러면 오래걸리는 작업이 모두 완료되고 나서 콜백함수를 알아서 호출하게된다!


댓글
댓글쓰기 폼