프로그래머스 - 프론트엔드 미니 데브코스
api는 호출 시 api.js를 따로 만들어서 한 곳에 모아놓자
먼저 dummy data를 만들어 넣어보고, 렌더링이 잘 되면 이후에 API를 연결해보자
항상 방어코드 작성 고려하기
this.state.map(({id, text}) => `<li data-id="${id}"`)}
e.target.dataset
data-id로 index를 저장하고
dataset을 이용해 data-로 작성된 모든 attribute를 불러올 수 있다.
Promise
비동기 작업 제어
promise로 정의된 작업끼리는 연결할 수 있으며, 이를 통해 코드의 depth가 크게 증가하지 않는 효과가 있다.
const promise = new Promise((resolve, reject) => {
//promise 내부에서 비동기 상황이 종료될 때, resolve 함수 호출
//promise 내부에서 오류 상황일 때, reject 함수 호출
})
then을 이용해 비동기 작업 이후 실행할 작업을 지정한다.
작업이 실패했을 경우, .catch로 잡을 수 있다.
성공과 실패여부와 상관없이 호출해야 하는 코드는 finally에서 처
Promise의 내장 함수들
Promise.all(iterable) : 여러 promise를 동시에 처리할 때 유용
Promise.race(iterable) : 여러 promise 중 하나라도 resolve 혹은 reject되면 종료
잘 쓰이지는 않음
Promise.any(interable) : 여러 promise 중 하나라도 resolve되면 종료
가장 먼저 종료되는 promise가 reject인 경우는 무시
Promise.allSettled(iterable)
여러 promise들이 성공 / 실패 상관 없이 모두 이행된 경우를 처리할 수 있다.
Promise.resolve <--> Promise.reject
주어진 값으로 이행하는 Promise.then 객체를 만든다.
주어진 값이 Promise인 경우 해당 Promise가 반환된다.
문현수박사님 - 팀 프로젝트 미팅
프론트엔드 - 백엔드 프로토콜 설계
서버가 먼저 데이터를 보내는 경우는 없다. 언제나 클라이언트가 먼저 요청을 해야 한다.
클라이언트 요청 -> 서버가 응답(JSON 형태)
JSON Validator
https://jsonformatter.curiousconcept.com/
JSON Formatter & Validator
Format and validate JSON data so that it can easily be read by human beings.
jsonformatter.curiousconcept.com
김기일교수님 - 네트워크
네트워크 장치와 교환방식
네트워크 인터페이스 카드(NIC) = 랜카드, 이더넷 카드
허브
여러 곳으로 들어온 데이터를 그대로 다른 여러 곳으로 데이터를 보내는 역할
- 더미 허브 : 단순히 들어온 데이터를 네트워크에 있는 다른 컴퓨터로 전달
- 스위칭 허브 : 단순히 전달하는 기능을 넘어 목적지 주소로 스위칭하는 기능, 효율이 높아짐
라우터
패킷의 논리주소(IP주소)에 따라 패킷을 라우팅
라우팅 : 라우터는 라우터로 수신되는 패킷의 목적지 인터넷 주소를 보고 다음 경로를 결정
목적지를 이용해 어디로 가야하는지를 알고 있어야 함
Broadcast communication networks
- 정보가 모든 애들에게 다 간다.
- 받는 애가 알아서 걸러서 받는다.
- 받는건 상관 없는데 반대로 보낼 때는 동시에 말하면 혼잡이 발생한다.
ex) LAN
=> Multiple Access Problem
Switched communication networks
ex) WAN
1. 회선교환방식
- 한번 설정되어 해제되기 전까지 전송하지 않을 때에도 다른 컴퓨터들이 이 회선을 사용할 수 없으므로 회선의 이용률 측면에서는 불리
- 음성과 같은 실시간 데이터를 전송하는데 적합
- 독점해서 사용하기 때문에 대량의 데이터를 고속으로 전송
2. 패킷교환방식
- 각 패킷들은 네트워크의 트래픽 상태 등에 따라 각기 다른 전송 경로
- 동일한 경로를 다른 목적지로 가는 여러 패킷들이 공유하므로 통신 회선보다 효율적으로 사용
- 고정된 경로가 미리 설정되지 않고, 전송은 패킷 단위로 독립적
헤더에는 반드시 IP주소가 들어가야 한다.
이 데이터가 내건지 아닌지를 구분하기 위해
trailer는 오류 검사를 위해 존재
네트워크의 분류
LAN(Local Area Network)
- 가까운 거리를 관리하는 방식
- 초기에는 주로 이더넷을 사용
- 전송지연 시간이 적고, 좋은 품질의 통신회선을 사용하고 관리
- 쉽게 연결하여 사용할 수 있고 확장이 용이
MAN(Metropolitan Area Network)
- LAN을 모아서 만듦
- 하나의 마을이나 도시를 연결하는 네트워크
- 통신사업자가 이를 제공하고 관리
- SMDS(Switched Multimegabit Data Services)를 제공
WAN(Wide Area Network)
- 아주 넓은 범위의 네트워크
- 네트워크 구축에 많은 비용
- 속도는 LAN에 비해 저속
인터넷 역사
인터넷의 시초 : 알파넷(ARPANet)
- 처음에 노드 개수는 4개였다.
- 대규모 패킷 교환망
WWW(World Wide Web, Web)
- 클라이언트/서버 구조 방식
전자우편
- 자신의 컴퓨터에 내려 받아 우편을 보려면 POP(Post Office Protocol) 서버를 지정
- SMTP(Simple Mail Transfer Protocol)이라는 통신 규약을 사용
FTP(File Transfer Protocol)
'SW Academy' 카테고리의 다른 글
[CNU SW Academy] 21일차(22.12.29) (0) | 2023.01.01 |
---|---|
[CNU SW Academy] 20일차(22.12.28) (0) | 2023.01.01 |
[CNU SW Academy] 18일차(22.12.26) (0) | 2022.12.26 |
[CNU SW Academy] 16일차(22.12.22) (0) | 2022.12.25 |
[CNU SW Academy] 17일차(22.12.23) (1) | 2022.12.23 |