본문 바로가기

JavaScript30

MongoDB 파일 다루기 JavaScript 비동기처리 비동기처리 JavaScript는 기본적으로 비동기처리 방식을 가지고 있다. 함수를 실행할 때 동기 처리 방식은 순서대로 하나씩 끝나기를 기다려서 실행하지만, 비동기 방식은 시간이 오래 걸리는 것은 그대로 실행하게 놔두고 다음 것을 실행한다. 하지만 때로는 순서대로 실행하는 것을 요구해야할 때도 있다. async에서 await를 지정해줌으로서 순서대로 실행할 것을 지정해줄 수 있다. const search = async (req, res) => { const { query: { term: searchingBy } } = req; //const searchigBy = req.query.term; let videos = []; try { videos = await Video.fi.. 2020. 3. 8.
MongoDB with node.js MongoDB NoSQL DB의 한 종류로 규칙이 적고, 많은 부분을 수정할 수 있다. RDBMS의 테이블처럼 고정된 스키마가 아닌 JSON 형태의 동적 스키마형 문서를 사용한다. ACID를 포기한 대가로 기존 RDBMS 대비 굉장히 속도가 빠르다. 대신 데이터 consistency가 보장 되지 않기 때문에 은행 데이터 작업 등에는 쓰기 어렵다. MongoDB vs MySQL What is MongoDB NoSQL SQL만 사용하는 것이 아닌 모든 DB를 가르키는 용어 RDBMS가 트렌젝션을통한 안정적인 데이터관리에 장점이 있었으나, 웹 2.0 환경과 빅데이터의 등장으로 RDBMS로는 비용적 한계가 너무 컸다. NoSQL은 데이터 consistency를 일부 포기한 대신에 여러 대의 컴퓨터에 데이터를 분.. 2020. 3. 3.
Express 404처리 404 응답을 어떻게 처리해야 합니까? Express에서 404 응답은 오류로 인해 발생하는 결과가 아니며, 따라서 오류 핸들러(error-handler) 미들웨어는 이를 파악하지 않습니다. 이렇게 작동하는 이유는 404 응답은 단순히 실행해야 할 추가적인 작업이 없다는 것, 즉 Express는 모든 미들웨어 함수 및 라우트를 실행했으며 이들 중 어느 것도 응답하지 않았다는 것을 나타내기 때문입니다. 이를 처리하려면 다음과 같이 404 응답을 처리하기 위한 미들웨어 함수를 스택의 가장 아래(다른 모든 함수의 아래)에 추가하기만 하면 됩니다. app.use(function(req, res, next) { res.status(404).send('Sorry cant find that!'); }); 그렇다고 한.. 2020. 3. 2.
Variables in Pug res.locals ( https://expressjs.com/ko/4x/api.html#res.locals ) An object that contains response local variables scoped to the request, and therefore available only to the view(s) rendered during that request / response cycle (if any). Otherwise, this property is identical to app.locals. req/res 응답 주기에서 해당 주기의 res 로컬 변수를 전역 변수처럼 사용하게 해주는 메서드. app.use(function (req, res, next) { res.locals.user = .. 2020. 2. 24.