전체 글 244

자료구조와 소프트웨어 생명주기

1. 📚 자료구조란?다양한 자료를 효율적으로 표현, 저장, 처리할 수 있도록 구성하는 방법컴퓨터에서 자료구조는 논리적인 구조와 프로그램적인 처리 방법을 구현하는 것2. 📂 자료구조 분류🔹 단순 구조정수, 실수, 문자, 문자열🔹 선형 구조자료 간의 앞뒤 관계가 1:1로 고정된 구조List (리스트)순차 리스트로 논리적 순서와 물리적 순서가 일치Linked List (연결 리스트)물리적 순서와 무관하게 포인터로 논리적 순서를 구성 단순 연결 리스트 이중 연결 리스트Stack / Queue / Deque삽입, 삭제에 제한이 있는 선형 자료구조🔹 비선형 구조계층 구조(Hierarchical) 또는 망 구조(Network)트리(Tree) 일반 트리 이진 트리그래프(Graph) 방향 그래프 무방..

Data Structure 2023.04.15

HTTP 요청 구조(Client <-> Server)

서버에 Request를 보낼 때 단순히 데이터만 전송되는 것이 아니라, 정해진 구조에 따라 여러 정보를 포함한 메시지가 함께 전송됩니다.📌 요청 메시지 구성 요소1. Verb (요청 메서드)서버에게 어떤 동작을 요청하는지 나타냅니다.GET : 리소스 조회POST : 리소스 생성PUT : 리소스 전체 수정DELETE : 리소스 삭제💡 예시:GET /articles HTTP/1.12. 요청 URL요청 대상 리소스의 경로입니다.ex) /api/user, /product/list3. HTTP Version현재 사용하는 HTTP 프로토콜 버전을 명시합니다.예: HTTP/1.1, HTTP/24. Header (헤더)웹 서버와 클라이언트 간에 추가 정보를 전달하기 위한 필드입니다.크게 다음 3가지로 나뉩니다:🔹..

Server 2023.04.15

프로토콜이란?

프로토콜(Protocol)은 복수의 컴퓨터 또는 중앙 컴퓨터와 단말기 간에 데이터 통신을 원활하게 하기 위한 통신 규약이다.통신 규약에는 다음과 같은 사항들이 포함된다:신호 송수신의 순서데이터 표현 방식오류 검출 및 제어 방법컴퓨터 간 통신 언어 설정 등📌 프로토콜의 주요 기능기능설명에러 제어 (Error Control)전송 중 에러 검출 및 정정캡슐화 (Encapsulation)각 계층이 제어 정보를 추가연결 제어 (Connection Control)연결 설정/전송/종료 등 제어순서 제어 (Sequence Control)순서 보장, 중복 방지흐름 제어 (Flow Control)전송 속도와 데이터 양 조절혼잡 제어 (Congestion Control)과도한 트래픽 방지동기화 (Synchronizatio..

Server 2023.04.15

Connection Pool

Connection Pool은 데이터베이스 연결을 효율적으로 재사용하기 위한 연결 캐시(Connection Cache)입니다.매번 새 연결을 생성하는 대신, 미리 생성된 연결을 풀(Pool)에 보관하고 필요할 때마다 꺼내 쓰고 반환합니다.📌 왜 필요한가?데이터베이스 연결은 생성과 종료에 많은 비용이 듭니다.사용자가 많아질수록 연결 비용은 급증하고, 성능 저하가 발생합니다.Connection Pool은 재사용 가능한 연결을 관리하여 이런 비용을 줄입니다.🔧 동작 방식애플리케이션 시작 시, DB 연결을 여러 개 생성해 Pool에 저장.클라이언트가 요청하면 Pool에서 유휴 Connection을 제공.사용이 끝나면 Connection은 닫지 않고 다시 Pool로 반환.동시 접속이 많아 남은 Connecti..

DB 2023.04.15