분류 전체보기 93

자꾸 잊는 reduce()

배열의 각 요소에 대해 주어진 reducer 함수를 실행하고, 하나의 결과값을 반환하는 메소드.array.reduce(callback(accumulator, currentValue[, index[, array]]), [initialValue])callback: 각 요소에 대해 실행할 함수. 네 개의 매개변수를 가짐.accumulator: 누적값(이전 콜백의 반환값)currentValue: 현재 처리 중인 배열 요소index(선택): 현재 처리 중인 요소의 인덱스array(선택): reduce를 호출한 배열initialValue(선택): 첫 번째 호출에서 accumulator로 사용할 값 ☕ 사용 예시- 배열의 합계 구하기const numbers = [1, 2, 3, 4, 5];const sum = num..

JavaScript 2025.03.01

type과 interface

둘이 어떤 차이가 있는지? 확장 방법의 차이interface는 extends를 사용하여 확장 가능함.type은 &(intersection) 연산자를 사용하여 결합 가능함.interface Dessert { name: string;}interface Cake extends Dessert { fruit(): void;}type DessertType = { name: string;}type CakeType = DessertType & { fruit(): void;}; 합집합(Union) 타입 지원 여부type은 유니언을 이용한 타입 조합이 가능, interface는 불가능interface A { name: string;}interface B { age: number;}// type에서는 가능type C =..

TypeScript 2025.02.13

implements와 extends

TypeScript에서 class를 공부하던 중 헷갈려서 정리하게 되었다. 둘 다 class 상속의 유형들이다. implements: 인터페이스 구현인터페이스에 정의된 구조를 강제할 때 사용함.인터페이스는 실제 구현이 없고, 클래스가 인터페이스를 구현해야 함.interface Flyable { fly(): void;}class Bird implements Flyable } fly() { console.log("파닥파닥"); }}const myBird = new Bird();myBird.fly(); // "파닥파닥"인터페이스를 구현하는 클래스는 반드시 인터페이스의 모든 속성과 메서드를 정의해야 함.implements 절을 사용하면 클래스가 특정 인터페이스를 충족하는지 확인할 수 있음. extends: 상..

TypeScript 2025.02.11

07 - 응용 계층, 애플리케이션에 접속하는 단계

*를 정리한 내용입니다.응용 계층의 역할: 사용자가 사용하는 애플리케이션(응용 프로그램)이 동작하는 곳클라이언트 - 서비스를 요청하는 측서버 - 서비스를 제공하는 측클라이언트에서 서버로 데이터를 보내기 위해 프로토콜 사용응용 계층의 대표적인 프로토콜프로토콜 내용HTTP웹 사이트 접속DNS이름 해석FTP파일 전송SMTP이메일 송신POP3이메일 수신 HTTP 프로토콜요청(request) - 사용자가 URL을 입력응답(response) - 사용자의 요청에 응답⇒ 요청과 응답을 위해 HTTP 프로토콜 사용HTTP(HyperText Transfer Protocol)클라이언트와 서버가 어떻게 데이터를 교환할지 정해놓은 규칙80번 포트 사용문자 형태로 데이터 전송, 필요한 부분 파싱 필요시작 라인헤더공백body…시작..

06 - 전송 계층, 오류 없이 데이터를 전달하는 단계

*를 정리한 내용입니다.전송 계층의 역할오류 점검컴퓨터가 데이터를 제대로 받았을 때 어떤 애플리케이션으로 전달해야 하는지 식별 오류 점검 방식혼잡 제어(Congestion Control)네트워크로 들어가는 정보량을 조절하여 네트워크가 혼잡해지지 않게 조절Time Out - 프로그램이 특정 시간 내에 성공적으로 수행되지 않아서 진행이 자동적으로 중단되는 것.흐름 제어데이터 링크 계층의 정지-대기 방식과 동일송신자가 하나의 데이터 전송 후 다음 데이터 전달 전에 확인 응답 기다리는 방법오류 제어확인 응답 - 수신자 측으로부터 ACK 응답을 받아야 함, ACK가 없으면 오류로 판단시간 초과 - 특정 시간 내에 ACK가 없으면 세그먼트에 오류가 있다고 판단 오류 발션 시 데이터를 재전송해야 하는데, 재전송이 필..

05 - 네트워크 계층, 목적지를 찾는 단계

* 를 정리한 내용입니다.네트워크 계층의 역할ex) A학교의 수연이가 B학교의 수지에게 이메일 보내고 싶음 ⇒ 각 학교의 스위치가 다르기 때문에 절대 상대방의 MAC 주소를 알 수 없음 ⇒ 라우터 필요라우터(Router) - 데이터의 전달 경로를 알려주는 내비게이션IP 주소를 사용한 통신라우팅(Routing) - 가장 빠른 길을 찾는 과정IP 주소란?LAN 환경은 스위치를 이용하여 MAC 주소로 통신 ⇒ 인터넷에 바로 접속 불가, 우리 회사 이외의 컴퓨터와 통신 불가 ⇒ IP 주소 필요IP(Internet Protocol) 주소 - 인터넷상에 있는 컴퓨터의 고유한 주소어떻게 부여?인터넷 하기 위해 인터넷 서비스 제공자(Internet Service Provider, ISP) SKT, KT, LG U+ 같..

04 - 데이터 링크 계층, MAC 주소로 통신하는 단계

* 를 정리한 내용입니다.데이터 링크 계층의 역할네트워크에서 데이터를 관리하고 전달하는 계층 - 데이터 전송의 신뢰성, 효율성에 중요한 역할데이터를 작은 프레임 단위로 분할MAC 주소를 활용하여 장비 식별오류 탐지, 수정, 충돌 관리오류 감지, 수정 방식회선 제어 - 오류 회피ENQ(Enquiry)[신호의 시작]와 EOT(End Of Transmission)[끝을 의미]을 명시적으로 지정수신자는 ACK(Acknowledgement)를 송신자에게 보냄 ⇒ 신호 간 충돌 피함오류 제어 - 외부 간섭, 시간 지연에 의한 송수신 데이터의 변형, 순서가 어긋나는 통신 장애가 발생하지 않도록 오류 검출/정정 → 통신에 대한 신뢰성 확보 방법패리티 검사 - 각 비트를 검사해서 "짝수"인지, "홀수"인지 확인 후 오류..

03 - 물리 계층, 데이터를 전기 신호로 변환하는 단계

* 를 정리한 내용입니다.물리 계층의 역할컴퓨터들을 물리적으로 연결하거나 데이터를 전기 신호로 변환하고 제어하는 역할전기 신호의 종류아날로그 신호 - 빛, 소리와 같이 연속적으로 변하는 물결 모양의 신호ex. 유선 전화, 라디오 방송디지털 신호 - 특정한 값을 기준으로 불연속적으로 변하는 막대 모양의 신호ex. 컴퓨터, 스마트폰앞서 비트란 컴퓨터가 데이터를 처리하는 최소 단위로, 0과 1로 구성된다고 함.⇒ 결국 모든 데이터는 0과 1로 표현하면 됨.“나에게 network.docx 파일을 보내줘!”라는 메시지를 전송하고싶음!1. 문장을 0과 1의 비트로 변환2. 해당 비트를 전기 신호로 변환3. 수신자에게 (디지털 신호로) 전달4. 수신자 측에서 다시 0과 1의 비트로 변환됨어디서 어떻게 전기 신호로 변..

02 - 네트워크 통신을 위한 약속

* 를 정리한 내용입니다.네트워크의 규칙, 프로토콜프로토콜 - 컴퓨터나 원거리 통신 장비 사이에서 메시지를 주고받는 양식과 규칙의 체계대표적인 프로토콜OSI 7계층TCP/IP 4계층OSI 7계층 등장 배경컴퓨터와 컴퓨터가 통신하기 위해 필요한 것을 7개 계층으로 분리해놓은 것.1980 개인용 컴퓨터 多 → 제조사마다 자신들만의 프로토콜 사용 → 통신 장비들끼리 호환(통신) xISO(국제표준화기구)에서 컴퓨터 간의 통신이 가능하도록 OSI 7계층이라는 표준 제정각 계층별로 필요한 장치들 정의 → 제조사들이 통신에 필요한 프로토콜 통일 가능OSI 7계층컴퓨터와 컴퓨터가 통신하는 구조를 7개의 계층으로 정의해둔 약속 ⇒ 프로토콜응용 계층 - 사용자와 애플리케이션 간의 소통(이메일 전송, 웹 사이트 조회)표현 ..

01 - 네트워크 첫 걸음

* 를 정리한 내용입니다.네트워크Net + Work각종 통신 장비들이 서로 그물망처럼 연결되어 데이터를 교환하거나 협력하여 일할 수 있게 해주는 통신망ex) 네이버에서 뉴스 보기, 구글에서 검색하기 → 네트워크를 기반으로 함.네트워크가 필요한 이유주변 장치 공유주변 장치 - 컴퓨터에 연결해서 사용하는 장치ex. 프린터, 스마트폰, 태블릿.데이터 공유공동으로 문서 생성, 편집 시팀 단위의 공동 작업 시회원가입 기능, 장바구니/결제 기능, 상품 관리/검색 등 분배된 작업을 이후에 완성 시 모든 기능이 유기적으로 결합해야 함.각 기능을 한곳에 모아 저장하고 결합할 때 네트워크를 사용함.네트워크 형태: 랜 & 왠통신 범위에 따라 나뉨.LAN(Local Area Network, 근거리 통신망) - 건물 안이나 특..