본문 바로가기

엘리스AI트랙56

[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주차] 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.
[4주차] Axios 2월 12일 자 학습 내용 정리입니다. ✅ Axios Axios는 웹 브라우저와 Node.js를 위한 HTTP 비동기 통신 라이브러리이다. 쉽게 말해 백엔드와 프론트엔드 간의 통신을 원활히 하기 위해 사용되는 것이다. 비동기 통신 라이브러리를 사용하지 않으면 모든 코드가 순차적으로(동기적으로) 처리되어야 하므로 코드의 순서를 신경써서 작성해야 한다. 따라서 이를 쉽게 하기 위해 Axios나 Ajax 등이 사용된다. Ajax(Asynchronous JavaScript and XML)는 이름 그대로 비동기 자바스크립트라는 의미이다. Ajax는 브라우저가 가지고 있는 XMLHttpRequest 객체를 이용해 화면 전체를 새로고침 하지 않고 변경된 일부 데이터만 로드하는 비동기 처리가 가능하다. Axios는 A.. 2022. 2. 12.
[4주차] HTTP와 API 2월 11일 자 학습 내용 정리입니다. ✅ HTTP HTTP(Hypertext Transfer Protocol)는 Web에서 서버와 클라이언트 간의 통신 방법을 정한 것이다. 클라이언트는 웹 브라우저 등 서버로 요청을 보내는 대상이며 서버는 클라이언트가 요청을 보내기 전까지는 대응하지 않다가 요청이 들어오면 요청을 처리한다. 서버와 클라이언트 사이에는 DNS, Proxy, Tunnel 등 무수히 많은 요소가 존재하고 HTTP는 이런 존재들 사이의 통신 방법을 규정한 것이다. ✔️ HTTP Message HTTP 메세지에는 서버 주소, 요청 메서드, 상태 코드, target path, 헤더 정보, 바디 정보 등이 포함되어 있다. 요청 메세지와 응답 메세지로 구분되며 이 둘의 모양은 다르다. HTTP 메세지.. 2022. 2. 11.
[4주차] async/await 2월 11일 자 학습 내용 정리입니다. ✅ async/await async/await은 Promise를 활용한 비동기 코드를 보다 간결하게 작성하는 문법으로 Promise와 동일하게 비동기 코드를 동기 코드처럼 작동하게 한다. async function Func() { let res = await fetch(url) ... } async 키워드로 선언된 함수 안에 await 키워드가 사용된다. 이때 async 키워드로 선언된 함수는 반드시 Promise를 리턴한다. 하지만 await 키워드가 반드시 Promise를 리턴하는 함수에만 사용되는 것은 아니다. Promise를 리턴하지 않는 함수의 경우에도 사용은 가능하지만 이 경우 리턴한 데이터는 Promise.resolve()로 감싸진다. await문은 P.. 2022. 2. 11.