본문 바로가기

엘리스 AI 트랙 4기90

[5주차] Mongoose ODM - (2) 2월 19일 자 학습 내용 정리입니다. ✅ Mongoose CRUD Mongoose ODM의 CRUD 관련 함수는 다음과 같다. CRUD 함수명 CREATE create READ find findById findOne UPDATE updateOne updateMany findByIdAndUpdate findOneAndUpdate DELETE deleteOne deleteMany findByIdAndDelete findOneAndDelete ✔️ create .create() 를 사용하여 Document를 생성한다. Document Object 혹은 Document Object의 Array를 전달하여 단일, 복수의 Document를 생성할 수 있다. create 함수의 반환값은 Promise 값으로 생성된.. 2022. 2. 19.
[5주차] Mongoose ODM - (1) 2월 19일 자 학습 내용 정리입니다. ✅ Mongoose ODM ODM은 Object Data Modeling의 약어이다. 따라서 Mongoose ODM은 MongoDB의 Collection에 집중하여 관리하도록 도와주는 패키지이다. Collection을 모델화하여 관련 기능을 쉽게 사용할 수 있도록 도와준다. ✔️ 연결 관리 MongoDB의 기본 Node.js 드라이버는 연결 상태를 관리하기 어렵다. 반면 Mongoose를 사용하면 간단하게 데이터베이스와의 연결 상태를 관리해준다. ✔️ 스키마 관리 스키마를 정의하지 않고 데이터를 사용할 수 있다는 것은 NoSQL의 장점이지만 데이터 형식을 미리 정의해야 코드 작성과 프로젝트 관리에 유용하다. 따라서 Mongoose는 Code-Level에서 스키마를 .. 2022. 2. 19.
[5주차] NoSQL과 MongoDB 2월 19일 자 학습 내용 정리입니다. ✅ NoSQL NoSQL은 Non SQL 또는 Not Only SQL의 약어로 구조화된 질의어를 사용하지 않는 데이터 베이스이다. 따라서 자료 간의 관계에 초점을 두지 않고 데이터를 구조화하지 않아 유연하게 저장할 수 있다. NoSQL은 RDB라는 개념과 대립된다. RDB(Relational Database)는 자료들의 관계를 주요하게 다루는 관계형 데이터베이스이다. SQL 질의어를 사용하기 위해 데이터를 구조화해야 한다. 이는 스키마에 정의된 데이터가 아니면 저장할 수 없다는 단점을 가지고 있다. 반면 NoSQL을 사용하면 데이터 구조화 등의 사전 작업 없이 데이터 베이스를 사용할 수 있다. 따라서 데이터 베이스 작업에 크게 관여하지 않고 프로젝트를 빠르게 진행할.. 2022. 2. 19.
[5주차] Express.js의 Middleware와 JSON 2월 18일 자 학습 내용 정리입니다. ✅ Middleware 미들웨어(Middleware)는 HTTP 요청과 응답 사이에서 단계별 동작을 수행해주는 함수이다. Express.js의 미들웨어는 HTTP 요청이 들어온 순간부터 시작되며 미들웨어는 HTTP 요청과 응답 객체를 처리하거나 다음 미들웨어를 실행할 수 있다. HTTP 응답이 마무리될 때까지 미들웨어 동작 사이클이 실행된다. ✅ 미들웨어 작성 기본적으로 req, res, next를 가진 함수를 작성하면 해당 함수는 미들웨어로 동작할 수 있다. 이때 req, res는 각각 HTTP 요청과 응답을 처리하는 객체이고 next는 다음 미들웨어를 실행하는 함수이다. const middleware = (req, res, next) => { ... next().. 2022. 2. 18.
[5주차] Express.js 2월 18일 자 학습 내용 정리입니다. ✅ Express.js Node.js에는 다양한 웹 프레임워크가 있다. Express.js : Node.js의 가장 유명한 웹 프레임워크 Koa.js : 현대 JavaScript를 적극적으로 사용하는 웹 프레임워크 Nest.js : TypeScript를 사용하며 고정된 구조를 제공하는 웹 프레임워크 이외에도 Hapi, Sails.js, Meteor.js 등이 존재한다. Express.js는 Node.js의 가장 유명한 웹 프레임워크로 필요에따라 유연하게 구조를 설정할 수 있으며 다양한 미들웨어를 통해 필요한 기능을 간단하게 추가할 수 있다. 모든 동작이 명시적으로 구성되기 때문에 웹 프레임워크의 동작 방식을 이해하기 가장 좋은 프레임워크이다. ✔️ Express.j.. 2022. 2. 18.
[5주차] 웹과 웹 프레임워크 2월 18일 자 학습 내용 정리입니다. ✅ 웹 웹(Web)이란 사전적 의미로는 World Wide Web을 의미한다. 즉, 인터넷 상에서 동작하는 모든 서비스를 웹이라고 한다. 일반적인 의미로는 웹 브라우저로 접속해서 이용하는 서비스, 웹 사이트를 주로 의미한다. ✔️ 웹 서비스의 동작 방식 웹 서비스는 기본적으로 HTTP 요청과 응답의 반복으로 이루어진다. HTTP 요청은 사용자가 어떤 데이터가 필요한지 서버에 알리는 역할이며 HTTP 응답은 HTTP 요청에 해당하는 적절한 데이터를 전달하는 역할이다. 웹 서비스 동작 방식은 다음의 순서로 이루어진다. 브라우저가 인터넷을 통해 HTTP 요청을 서버에 전달한다. 서버는 사용자의 HTTP 응답을 브라우저로 전송한다. 브라우저는 HTTP 응답을 사용자에게 적.. 2022. 2. 18.
[5주차] Node.js 모듈 2월 16일 자 학습 내용 정리입니다. ✅ Node.js 모듈 모듈은 기능에 맞게 코드를 분리한 것이다. 패키지는 모듈의 모음이다. Node.js는 다양한 모듈을 기본적으로 제공한다. ✔️ console 브라우저에서 제공되는 console과 유사한 디버깅도구이다. log, warn, error 등으로 로그 레벨을 표시할 수 있고 time, timeLog, timeEnd로 시간을 추적할 수 있다. ✔️ process 현재 실행 프로세스 관련 기능을 제공한다. arch, argv, env 등으로 실행 환경 및 변수 관련 값을 제공하며 abort, kill, exit 등으로 프로세스 동작 관련 함수를 제공한다. ✔️ fs 파일 입출력을 하기 위해 사용된다. readFile, writeFile 함수로 파일을 읽.. 2022. 2. 16.
[5주차] NPM 2월 16일 자 학습 내용 정리입니다. ✅ NPM NPM(Node Package Manager)은 Node.js 프로젝트를 관리하는 필수적인 도구이다. NPM은 온라인 저장소와 커맨드라인 도구로 구성되어 있다. ✔️ 온라인 저장소 수많은 오픈소스 라이브러리와 도구들이 업로드되는 저장소이다. 필요한 라이브러리나 도구를 손쉽게 검색할 수 있으며 Node.js의 인기가 높아짐에 따라 거대한 생태계를 보유하고 있다. ✔️ 커맨드라인 도구 프로젝트 관리를 위한 다양한 명령어를 제공한다. 저장소에서 라이브러리, 도구 설치 프로젝트 설정, 관리 프로젝트 의존성 관리 ✅ NPM 사용 - 프로젝트 생성 npm init npm init은 해당 디렉터리가 node.js 프로젝트임을 선언하는 명령어이다. 프로젝트 디렉터리를 .. 2022. 2. 16.
[5주차] Node.js와 ES6 2월 16일 자 학습 내용 정리입니다. ✅ Node.js Node.js는 자바스크립트를 어느 환경에서나 실행할 수 있게 해주는 실행기이다. Node.js를 이해하기 위해서는 Node.js의 등장 배경을 알아야 할 필요가 있다. Node.js는 web의 발전에 의해 등장하게 되었다. 기존 web 1.0에서는 웹이 사용자에게 일방적으로 정보를 전달하는 단방향 통신 위주였다면 web 2.0에서는 사용자와 상호작용하도록 웹이 발전하였다. 따라서 웹 페이지의 JavaScript는 더욱 복잡해졌고 고성능의 JavaScript가 필요하게 되었다. 이에 따라 구글에서는 크롬 웹 브라우저를 위해 V8이라는 자바스크립트 엔진을 만들었고 고성능 JavaScript를 사용할 수 있게 되었다. 이 고성능 JavaScript의 .. 2022. 2. 16.