SW Academy

[CNU SW Academy] 19일차(22.12.27)

narlo 2023. 1. 1. 15:47

프로그래머스 - 프론트엔드 미니 데브코스

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