[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 함수를 인자로 넘겨준다! 그러면 오래걸리는 작업이 모두 완료되고 나서 콜백함수를 알아서 호출하게된다!
'Web > Node.js' 카테고리의 다른 글
[Node.js] 7일차-1 : 글쓰기, 수정 (method post, redirection) (0) | 2019.01.17 |
---|---|
[Node.js] 6일차 : pm2 패키지매니저 (0) | 2019.01.17 |
[Node.js] 4일차 : Not found 오류 구현, 동적 페이지 목록 불러오기 (0) | 2019.01.10 |
[Node.js] 3일차 : 동적 웹페이지 만들기, 파일IO (0) | 2019.01.09 |
[Node.js] 2일차 190108 : Nodejs설치, URL parse, template literals (0) | 2019.01.08 |