CS
-
WebsocketCS/네트워크 2025. 7. 22. 15:10
1. Websocket이란?웹에서 실시간 통신을 가능하게 해주는 프로토콜HTTP와 달리 연결을 유지하며 양방향 통신이 가능주로 실시간 채팅, 주식 시세, 게임 등에 사용클라이언트와 서버와 한 번 연결되면 지속적으로 메시지를 주고받을 수 있는 방식2. Websocket vs HTTP항목 HTTP Websocket통신 방식요청-응답양방향 (Full-Duplex)연결 상태요청마다 새 연결연결 유지 (persistent connection)헤더무거움가벼움실시간성낮음높음3. WebSocket 연결 과정 (Handshake)클라이언트가 HTTP 요청으로 서버에 연결 요청 (Upgrade 요청)서버가 101 Switching Protocols 로 응답하면 Websocket으로 전환됨이후엔 HTTP가 아닌 WebSoc..
-
DockerCS 2025. 7. 7. 17:44
도커의 정의도커는 리눅스의 컨테이너 기술을 활용하여, 애플리케이션과 그 실행에 필요한 모든 요소(라이브러리, 환경 변수, 설정 파일 등)을 패키징하고 실행할 수 있게 해주는 플랫폼입니다.도커의 핵심 요소구성요소 설명이미지애플리케이션과 실행 환경의 정적인 스냅샷, 컨테이너 실행의 기본 단위컨테이너이미지를 실행한 인스턴스, 실제로 돌아가는 앱 환경도커파일이미지를 만드는 스크립트, 명령어들의 집합도커 데몬컨테이너를 관리하는 백그라운드 프로세스도커 클라이언트사용자 명령어 인터페이스 (docker run, …)레지스트리이미지를 저장하고 공유하는 저장소VM과 도커의 차이항목 VM (가상머신) Docker (컨테이너)부팅 시간수십 초 ~ 수 분수 초리소스OS 포함 (수 GB)공유된 OS (수 MB ~ 수백 MB)성능..
-
NOSQLCS/DB 2025. 6. 30. 15:32
1. NOSQL 이란?Not Only SQL의 약자전통적인 관계형 데이터베이스(RDBMS)의 한계를 보완하거나 대체하기 위해 등장한 비관계형 데이터베이스등장 배경RDBMS의 한계: 수직적 확장 어려움, 스키마 유연성 부족, 빅데이터 처리 한계페이스북, 아마존, 구글 등 대규모 트래픽 처리 필요CAP 이론에 따라 일관성보다 가용성과 파티셔닝(분산)을 선택한 시스템2. NOSQL의 주요 유형유형 설명 대표 예시Key-Value키와 값으로 이루어진 단순한 구조Redis, DynamoDBDocumentJSON, BSON 형태의 문서 단위 저장MongoDB, CouchDBColumn Family컬럼 단위로 저장, 대규모 분산에 적합Cassandra, HbaseGraph노드와 엣지로 관계를 저장Neo4j, Amaz..
-
JVMCS/JAVA 2025. 6. 30. 15:28
JVM이란?자바 바이트코드(.class 파일)을 실행하는 가상머신. 자바로 작성한 코드를 실제로 실행시켜주는 프로그램JVM 구조[ Class Loader ] ↓[ Runtime Data Area ] ⇄ [ Execution Engine ] ↑ ↓ [ Native Method Interface ] [ Native Libraries ]1. Class LoaderJVM에서 .class 파일(바이트코드)을 메모리에 로딩하는 역할을 담당합니다.자바는 동적으로 클래스를 로딩합니다.즉, 프로그램 실행 중에 필요한 클래스가 처음 사용될 때 메모리에 올라가며, 이 과정을 ClassLoader가 담당합니다.역할:바이트코드(.class)를 메모리로 로딩중복 방지 ..
-
DNSCS/네트워크 2025. 5. 28. 17:58
용어 정리용어정의루트 네임 서버 (Root Name Server)`.com`, `.net` 등 TLD의 네임서버를 알려주는 최상위 서버TLD 네임 서버 (Top-Level Domain)`.com`, `.net`, `.kr` 등 특정 TLD 도메인을 관리하는 서버권한 네임 서버 (Authoritative Name Server)`google.com` 같은 도메인을 최종적으로 관리하며, A 레코드 (IP)를 가지고 있음리졸버 (Resolver)브라우저/운영체제/ISP의 DNS 서버처럼 DNS를 질의하고 결과를 되돌려주는 중간자 역할NS 레코드네임서버 정보A 레코드도메인 이름 -> IP 주소PTR 레코드IP 주소 -> 도메인 이름 (역방향) 전체 질의 흐름1. 브라우저 / OS / 로컬 DNS 캐시 확인-> 캐..
-
DB INDEXCS/DB 2025. 5. 19. 13:52
목차1. 인덱스란?2. 인덱스의 자료구조 - B+ Tree3. 클러스터형 인덱스와 보조 인덱스4. 인덱스와 카디널리티(CARDINALITY)5. 커버링 인덱스6. EXPLAIN 분석인덱스란?테이블의 데이터를 빠르게 찾기 위해 추가로 만들어진 자료 구조인덱스는 책의 목차처럼 원하는 데이터를 빠르게 찾도록 도와주며, 없으면 Full Table Scan을 수행하게 되어 성능이 저하된다.인덱스를 만들면 조회 속도는 빨라지고 삽입, 수정, 삭제 속도는 약간 느려질 수 있다.인덱스의 자료구조 - B+ TreeB-Tree를 기반으로 한 최적화 구조로, “리프 노드에만 데이터”가 있고, 리프 노드끼리는 좌우로 연결되어 있는 트리내부 노드에는 키만 여러개 가지고있고, 탐색을 위한 기준 역할을 한다.ex. 내부 노드가 다..