카테고리 없음
TIL (2023/08/25) Friday
0to1ton
2023. 8. 25. 09:48
- 드디어 3주차 강의 시작
- Node.js 뿌셔보자!!
- 보다 실습이 많아서 훨~~씬 재밌게 할 수 있을 것 같다! 저번 주 내용이 조금 심심?!해서 지루해질려던 차 할일이 팍 밀려와서 너무 좋다. 이제 머리박고 강의들어야겠다.
- 특강 진행 - 연봉 1억원 개발자 되기
- Tree형 사고를 하자
- 이런 레벨 간 요소들의 상호관계에 맞춰서 사고를 확장할 수 있는 능력이 필요하다.
- Level 1 : android, iOS, Web
- Level 2 : Mobile, Tablet, Desktop
- Level 3 : Home, Discover, Search, More, Login, Signup
- 3주차 주특기 1주차 강의는 총 2주차 강의로 구성되어있는데 1주차까지 다 들었다. 배운내용을 정리해본다.
- 웹 브라우저의 통신 방식
- 정적 웹페이지, 동적 웹페이지, URL, DNS, IPV4 vs IPV6, 작동원리
- 웹서버의 이해
- 웹서버 정리, 웹 어플리케이션 서버, 웹서버와 브라우저간의 통신 방법 정리
- JavaScript
- 탄생비화 - 정적인 문서를 동적으로 제공하기 위해 만듬
- 정적 웹페이지 - HTML로 가능
- 동적 웹페이지 - JavaScript 필요
- ECMA Script - 2023년 기준 14번째
- 동기 (sync)vs 비동기 (async)
- aync + non-blocking model
- promise - pending, fulfilled, rejected
- Node란?
- V8 JS 엔진에 빌드된 JS 런타임
- Core Library + Bindings, V8 Engine, Libuv
- 사용해야하는 이유: 논블로킹 I/O, 싱글스레드, 이벤트 루프 (호출스택 + 이벤트큐)
- REPL (Read, Evaluate, Print, Loop)
- Package Manager
- Npm, yarn
- package-lock.json, yarn.lock
- Express.js
- Module
- CJS (Common JS)
- ESM (ECMA script module)
- import {함수명} from "./file"
- export, import
- API, REST API의 개념
- Rest의 구성요소 - URL, HTTP method, JSON - 자원, 행위, 표현
- Routing 및 route의 구조
- routing: 클라이언트에서 요청이 들어오면 서버에서 응답을 하는 방식
- router, method, path, handler
- router.get('/books', (req, res) => { res.json({ success: true, data: getAllBooks() }); });
- 미들웨어 - 모든 요청/응답을 서버에서 공통적으로 관리
- app.use('/api', [goodsRouter]);
- API client - insomnia, thunder
- Request & Response
- Request: url, http method, header, query parameter, body data
- Response: status code, response data, response header
- Req 객체 - req.body, req.params, req.query
- req.body - const ReqBody = req.body;
- 보안
- req.params - const { name } = req.params;
- ex) 게시글의 상세 정보 조회, 사용자의 상세 정보 조회
- req.query - - const ReqQuery = req.query;
- ex) https://sparta.com?name=이용우&age=29?
- 위치를 표시하거나 웹 페이지에 특정한 옵션을 설정할 때 사용합니다. ex) 게시글의 정렬, 특정 날짜의 게시글만 출력하는 옵션 설정 등
- req.body - const ReqBody = req.body;
- Res 객체 - res.status(code), res.send(data), res.json(json)
- res.status(code)
- res.send(data)
- res.json(json)
- 웹 브라우저의 통신 방식
- 알고리즘 2문제