엘리스 SW 엔지니어 트랙 28일차
박성국님 실시간 강의
npm 강의로 시작
npm 명령어
yarn 설치 / 명령어 알아봤다
API
각종 장치를 API를 통해서 관리한다
여러 회사, 판매자, 어플 관리자 등
API를 주고 퉁칠 수 있다
정보교환의 표준화가 된다
SOAP(프로토콜) | REST(가이드, 스타일)
기본 프로토콜
둘 다 HTTP 프로토콜 기본
데이터 포맷
SOAP: XML, Lson 사용 데이터 교환
REST: Json 사용 데이터 교환
상태비저장
SOAP: 기본적 stateless 하지만 Session 이용하면 stateful(여러번 통신) 쉽게 지원
REST: stateless(일회성 통신)
HTTP Method
SOAP: POST만 이용
REST: HTTP, GET, POST, PUT, DELETE 등 사용
SOAP 거의 안쓴다. REST 알자!
이후 코딩을하고 서버를 만드는것을 지켜봤다
Express
미들웨어
OS와 Application 사이에 존재
매개 역할, 연합
Node.js 미들웨어
// middleware
const express = require('express')
const app = express()
const PORT = 5000
app.use('/', (req, res, next) => {
console.log('Middleware 1')
next()
})
app.use('/', (req, res) => {
console.log('Middleware 2')
res.send('Hello, express!')
})
app.listen(PORT, () => {
console.log(`The Express server is listening at port: ${PORT}`)
})
rest api
??? 뭘 배웠는지 모르게 후루룩 지나갔다
오후 타임 시작
김병철님 실시간 강의
onst express = require('express')
const path = require("path")
const app = express()
const port = 9999
app.get("/", (req, res) => {
res.send("받아라!")
})
app.get("/hello", (req, res) => {
res.sendFile(path.join(__dirname, "./static/index.html"))
})
// 서버 시작
app.listen(port, () => {
console.log(`${port}번 포트에서 서버가 돌아가고 있어요!`)
})
Router(라우터)
app.get 많이 들어간다
=> 분리할 수 없을까?
어느 페이지로 보낼지 정해주는 라우트
Router에서 r 빼면 Route이었구나
id 가져오기
router.get("/is_odd_1/:id", (req, res) => {
const id = req.params.id
})
주신 pdf 파일 보면서 주욱 복기해야겠다!
미들웨어
클라이언트에서 요청 받아
그 요청을 처리하는 과정에서 거치는 모든 함수들
Express.js에는 미들웨어 순차적으로 수행가능
next()가 있으면 다음까지
없으면 거기거서 끝
일반적으로 로그인, 인증 등에 미들웨어를 사용한다
API
내부 동작과정 몰라도
API 통해 응용 프로그램 개발 가능
GET
읽을 때만 사용하고, 수정될 때 사용하지 말아야된다.
POST
GET은 URL에 모든 정보 담고, POST는 HTML BODY나 Json에 정보 담는다
협업시 제일 먼저 할 일은
API 규약 확정
오늘은 전체적으로
애매하게 따라간 느낌
온라인 강의때 더 잘잡아야겠다
'Web Dev > ELICE' 카테고리의 다른 글
30 :: MongoDB, No SQL, Mongoose, Express + MongoDB (0) | 2021.12.04 |
---|---|
29 :: 미들웨어, MVC, REST API, Postman (0) | 2021.12.03 |
27 (3/3) :: Node.js 웹 프레임워크, 라우팅, Express.js (0) | 2021.12.01 |
27 (2/3) :: npm, npx, node 모듈, ES Module (0) | 2021.12.01 |
27 (1/3) :: Node.js, ES6, 비동기 삼형제, Event Loop (0) | 2021.12.01 |