Web(2)
-
Node X MySQL 오답 및 중점노트
1. 프론트에서 axios를 통해 데이터를 객체로 보내면, 백엔드에서도 같은 키 값으로 찾아야 한다. input 태그의 name 속성이 아니다. 2. 각 라우터의 controller에서 모델을 require 할 때, {}로 구조분해 할당을 하든지, 직접 경로를 파고들어 참조할지 확실히 하자. 3. html 템플릿에 for문 돌리는 것보다는 프론트js에서 처리하자. 4. 404처리는 에러가 아니라, 지금까지 위에서부터 처리되지 않은 라우터들을 모아서 처리해주는 것이라고 생각하는 일반 라우터이며, 여기서 next(error)를 한번 거쳐서 에러 라우터로 보내는 것이다. /* 이것은 에러 처리 라우터가 아님! 지금껏 나오지 않은 주소를 처리하는 라우터를 단지 404로 처리하는 것에 불과함! */ app.use..
2020.10.28 -
[Non-blocking] JavaScript는 단일쓰레드(하나의 스택)를 사용하면서 논블로킹(비동기실행)이 가능하다.
JavaScript는 개발자가 작성한 코드를 스택에 집어넣고 하나씩 실행하는 "콜스택" 방식으로 실행되는 언어이다. 콜스택은 하나의 함수가 실행을 마치고 스택을 나가야만 다음 함수가 들어와 실행되는 구조다. 그런데 JavaScript는 이 스택이 하나인 단일쓰레드를 따르기 때문에, 어떤 함수가 굉장히 무거운 작업(이미지 처리 또는 API Request 등)을 담고 있다면, 그 작업의 처리가 완료되기 전까지 다른 작업을 하지 못하는 동기적(syncronous)실행 언어라고 생각될 수 있지만, JavaScript에는 Web API와 Queue가 있어서 비동기(asyncronous)실행이 가능하다. *Syncronous : 선생님에게 전화를 거는 상황 - 선생님이 전화를 받기까지 다른 것을 할 수 없고, 전화..
2020.06.01