[프로그래밍] CS 7

[Computer Science] 네트워크의 계층

OSI 7계층(Open Systems Interconnection Reference Model) 1. 물리 계층 (Physical Layer)역할: 실제 하드웨어 장치를 통해 데이터를 전송하는 계층.주요 기능: 전기 신호, 광 신호, 케이블, 커넥터 등의 물리적 매체를 관리.예: 케이블, 스위치, 허브.2. 데이터 링크 계층 (Data Link Layer)역할: 네트워크 노드 간 신뢰할 수 있는 데이터 전송을 담당.주요 기능: 에러 검출, 프레임 동기화, MAC 주소 관리.예: 이더넷, Wi-Fi, 스위치.3. 네트워크 계층 (Network Layer)역할: 데이터를 네트워크에서 목적지까지 라우팅하고 전달.주요 기능: IP 주소 지정, 경로 설정, 패킷 전달.예: IP(IPv4, IPv6), 라우터.4...

[Computer Science] 엔드포인트 규칙

백엔드 서버 엔드포인트를 설계할 때, 각 규칙에 따라 엔드포인트를 정리해 볼 수 있음.주로 자원 중심 방식과 동작 중심 방식으로 나뉘며, HTTP 메소드와 자원의 관계에 따라 이름이 결정됨.자원 중심 방식 (Resource-Oriented)RESTful한 구조를 따르는 엔드포인트 설계에 적합주로 명사를 사용하여 자원을 나타내며, CRUD 동작을 HTTP 메소드로 구분자원(collection)과 자원의 개별 요소(item)에 접근할 때 경로를 명확히 구분예시:GET /users: 모든 사용자 목록 조회GET /users/{userId}: 특정 사용자 상세 정보 조회POST /users: 새로운 사용자 생성PUT /users/{userId}: 특정 사용자 정보 전체 업데이트DELETE /users/{user..

[Computer Science] IP

네트워크 상에서 장치들이 서로 데이터를 주고받을 수 있도록 하는 인터넷 프로토콜.IP는 데이터 패킷을 보내고 받을 목적지 주소를 지정하며, 네트워크 상에서 장치 간 통신이 가능하게 함IP 프로토콜은 데이터 전송 경로를 찾고, 수신할 장치를 식별하기 위해 IP 주소를 사용함. IPv4 와 IPv6  IPv4 32비트 주소 체계를 사용하며, 최대 약 43억 개의 고유한 주소IPv4 주소는 일반적으로 192.168.1.1과 같은 점 표기법을 사용인터넷 사용이 폭발적으로 증가하면서 IPv4 주소가 부족해짐IPv6128비트 주소 체계를 사용해 훨씬 더 많은 고유 주소를 제공IPv6 주소는 2001:0db8:85a3:0000:0000:8a2e:0370:7334와 같은 콜론 16진수 표기법을 사용IPv6는 IPv4의..

[Computer Science] Http2, TCP, handshake, UDP

TCP (Transmission Control Protocol)인터넷 프로토콜 스위트의 핵심 프로토콜 중 하나고, 신뢰성 있는 데이터 전송을 보장함.TCP는 송신자와 수신자가 데이터를 손실 없이 정확히 교환하도록 설계되어 있음.주로 웹 브라우징, 이메일 전송, 파일 다운로드와 같은 상황에서 사용됨. 연결 지향적 프로토콜연결을 설정하고 종료할 때 핸드셰이크 절차를 거침.데이터 전송 중에는 패킷이 손실되면 자동으로 재전송 -> 수신자는 데이터를 순서대로 받을 수 있도록 함. 흐름 제어와 혼잡 제어 기능네트워크 성능을 유지하고 패킷 손실을 줄임.흐름 제어는 송신 속도를 조절해 수신자의 버퍼 오버플로우를 방지혼잡 제어는 네트워크의 혼잡도를 줄이기 위해 송신량을 조절 TCP의 단점과정이 복잡하고, 패킷 손실 시 ..

[Computer Science] HTTP (Hyper Text Transfer Protocol)

인터넷에서 클라이언트와 서버 간의 통신에 사용되는 애플리케이션 계층 프로토콜주로 웹 페이지, 이미지, 동영상 등 다양한 리소스를 요청하고 전달하는 역할특징요청(request)과 응답(response)을 중심으로 작동클라이언트가 요청을 보내면, 서버는 해당 요청에 대한 응답을 보냄.HTTP 요청은 메서드(예: GET, POST, PUT, DELETE 등), header, body로 구성요청 메서드는 수행할 작업을 나타내며, 응답에는 요청 결과와 상태 코드(예: 200 OK, 404 Not Found)가 포함됨. 상태가 없는(stateless) 프로토콜.각 요청이 독립적으로 처리되며, 이전 요청의 정보를 유지하지 않음이를 해결하기 위해 쿠키와 세션을 사용해 상태를 추적함쿠키는 클라이언트에 저장된 작은 데이터..

[Computer Science] 데이터 모델

데이터 모델 데이터를 구조화, 조직화하는 방식을 정의한 모델을 말한다. 복잡한 시스템이나 비즈니스의 데이터 구조를 초기에 정의하고, 효과적으로 관리하는 데 효과적인 방식이다. 데이터의 타입, 관계, 제약 조건 등을 명시하여 데이터베이스, 소프트웨어, 시스템 등에서 데이터를 어떻게 저장하고 관리할지에 대한 모델이다.  데이터 모델의 주요 유형  개념적 데이터 모델데이터 모델링의 가장 상위 수준에서 데이터와 그 사이의 관계를 추상적으로 정의하는 방법 주로 시스템이나 비즈니스의 요구사항을 이해하고 분석하기 위한 목적으로 사용되며, 데이터베이스 설계의 초기 단계에서 중점적으로 다루는 모델. 역할비즈니스 요구사항 이해: 개념적 모델을 통해 비즈니스의 요구사항과 데이터 사이의 관계를 명확하게 이해할 수 있음.통신의..

[Computer Science] 프론트엔드 사이드를 구성하는 요소

프로그래밍이란컴퓨터와 소통하는 한 방법이를 통해 컴퓨터에게 전달하는 정보를 어떻게 보여주고 제어할지 결정할 수 있음. 이 과정에서 다양한 프로그래밍 언어를 사용하는데, 웹 개발의 경우 브라우저와 소통하기 위한 언어들을 사용한다. 프로그래밍 언어는 컴퓨터에게 명령을 내리고, 그 결과를 사용자에게 보여주는 데 필수적이다. 대표적인 프론트엔드 언어HTML (HyperText Markup Language) : 웹 페이지의 구조를 만드는 데 사용되는 마크업 언어.정보나 설계도와 같은 역할.웹 페이지의 제목, 문단, 이미지, 링크 등의 콘텐츠를 정의하고 구조화하는 데 사용 CSS: 웹 페이지의 디자인이나 스타일링을 담당.HTML로 만들어진 웹 페이지의 구조에 색상, 글꼴, 레이아웃 등의 시각적 스타일을 적용디자인을..