목록 (152) 썸네일형 리스트형 8. REST API 💨 REST API 란? REST + API => REST 아키텍쳐를 준수하는 웹 API 1. API 란? Application Prograaming Interface 서비스나 프로그램 간에 미리 정해진 기능을 실행할 수 있도록 하는 규약이다. 운영체제 API, 프로그램언어 API, 웹 API 등이 있다. 2. REST 란? REpresentational State Transfer 웹에서 자료를 전송하기 위한 표현 방법에 대한 아키텍쳐이다. REST를 정확하게 구현하기 위해선 많은 제한조건이 있지만, 기본적인 REST 가이드를 따르면 조금 더 좋은 구조의 API를 구성할 수 있다. 💨 REST API 기본 가이드 1. HTTP Method 의 사용 REST API 는 API의 동작을 HTTP method.. 7. middleware 💨 Middleware 란? 미들웨어는 Express.js 동작의 핵심이다. HTTP 요청과 응답 사이에서 단계별 동작을 수행해주는 함수이기도 하다. 💨 middleware 작성법 req, res, next 를 가진 함수를 작성하면 해당 함수는 미들웨어로 동작할 수 있다. req : HTTP 요청을 처리하는 객체 res : HTTP 응답을 처리하는 객체 next : 다음 미들웨어를 실행하는 함수 const logger = (req, res, next) => { console.log(`Request ${req.path}`); next(); } //req.path 와 같은 요청을 처리할 수 있는 기능을 제공 const auth = (req, res, next) => { if (!isAdmin(req)) { .. 6. Express.js 💨 Express.js 를 사용하는 이유 Node.js 의 웹 프레임워크 중 가장 유명하다. 따라서 다양한 커뮤니티의 도움을 받을 수 있다. 다양한 미들웨어를 통해 필요한 기능을 간단하게 추가할 수 있다. 💨 기본구조 💨 동작 방식 1. app.js var express = require('express'); var app = express(); app.js에서는 expree()로 생성되는 app 객체를 확인할 수 있다. app 객체는 Express.js의 기능을 담은 객체이다. Express.js의 모든 동작은 app 객체에 정의된다. 2. app 객체 주요기능 💨 라우팅 Express.js는 다양한 라우팅 방식을 제공한다. 크게 app 라우팅과 Express.Router 를 통한 라우팅으로 나누어진다.. 5. 웹 프레임워크 💨 웹 프레임워크 1. 의미 웹 => 웹 서비스에 필요한 기능들을 제공해주는 + 프레임워크 => 다양한 도구들의 모음 2. 웹 프레임워크를 사용하는 이유 웹 서비스를 구성하기 위해서는 매우 많은 기능이 필요하고 이러한 기능들을 하나씩 직접 만드는 것에는 큰 비용이 발생한다. 웹 서비스는 많은 부분이 정형화되어있고 프레임워크를 사용하여 정형화된 부분을 간단하게 구현할 수 있어서 필요한 부분만 집중해서 개발할 수 있다. 3. 웹 프레임워크의 기본 구성요소 HTTP 요청 처리 HTTP 응답 처리 라우팅 HTML Templating 1) HTTP 요청 처리 웹 프레임 워크는 HTTP 요청을 처리할 수 있다. 어떤 데이터를 필요로 하는지, 어떤 사용자로부터 요청이 수신되었는지 등 2) HTTP 응답 처리 웹 프레.. 4. Node.js 의 모듈 💨 모듈이란? 프로젝트가 커지면 기능에 맞게 코드를 분리하는 것이 중요하다. 이 때, 모듈은 코드를 분리하기 위한 방법이다. 💨 패키지 패키지는 모듈의 모음이다. npm 패키지들은 많은 모듈을 포함하고 있는 코드 모음이다. 💨 Node.js 의 기본 제공 모듈 - fs - 파일 입출력을 하기 위해 사용한다. - readFile, wrtieFile 함수로 파일 읽기, 쓰기를 한다. - Sync 함수를 제공하고 동기적으로 작동한다. - watch로 파일 / 디렉터리 변경 이벤트를 감지한다. 💨 모듈의 기본적인 작성법 module.exports = { name, age, nationality, }; 모듈이 load 될 때 사용될 값을 module.exports 로 내보낸다. // elice.js module... 3. NPM 💨 NPM 이란? NPM = Node Package Manager 로써 Node.js 프로젝트를 관리하는 필수적인 도구이다. " 온라인 저장소 + 커맨드라인 도구 " 로 구성되어있다. 온라인 저장소에는 수많은 오픈소스 라이브러리와 도구들이 업로드되고 필요한 라이브러리나 도구를 손쉽게 검색할 수 있다. 💨 프로젝트 생성하기 $npm init 프로젝트 디렉터리를 생성하고, 해당 디렉터리 안에서 npm init 명령어를 사용하면 몇 번의 질문을 통해 package.json이라는 파일을 만들어주고, 이 디렉터리는 Node.js 프로젝트가 된다. 💨 package.json 프로젝트 관련 정보들이 저장되는 파일이다. 이 파일을 직접 수정하거나 npm 명령어를 사용하여 프로젝트 정보를 수정할 수 있다. 1. 의존성 .. 2. 이벤트 루프 💨 이벤트 루프 - 구성요소 💨 이벤트 루프 - 콜 스택 작동순서 콜 스택이 비어있을 때까지 함수를 실행한다. 💨이벤트 루프 - 메세지 큐 작동 순서 콜 스택이 비어있는 것을 확인한 후, 메세지 큐 작동 💨 이벤트 루프 - 잡큐의 작동 순서 B 함수가 종료되기 전 C 함수는 B함수의 상위함수를 갖고있기 때문에, 잡큐는 콜스택에 C 함수를 전달해서 실행하고, C함수가 마무리되면 B 함수 실행. ✅ 정리 이벤트 루프는 비동기 동작의 실행 타이밍을 이해하는 것이 중요하다. setTimeOut = 콜스택이 비어있을 때 실행된다. Promise = 상위함수가 종료되기 전에 실행된다. 1. Node.js ? 💨 Node.js란? 자바스크립트를 어느 환경에서나 실행할 수 있게 해주는 실행기 💨 Browser의 JavaScript vs. Node.js - Browser의 JavaScript 1. 브라우저에서 실행 2. 웹 내부 제한된 동작 3. 웹 프론트 개발자의 언어 - Node.js 1. 크로스 플랫폼 실행 2. 제한 없는 동작 3. 다양한 어플리케이션 개발 💨 그래서 Node.js 가 어디에 쓰였는데? Font-End : React => 웹 서비스 구성 Back-End : Express.js => 웹 서비스 구성 Mobile-App : React-Native => 한 가지 코드로 ios와 Android 개발 Desktop-App : Electron => Discord, Slack 등 앱 개발 Machine.. 이전 1 ··· 10 11 12 13 14 15 16 ··· 19 다음