[CS] 애플리케이션 레이어 1 (HTTP)
·
CS
🚀HTTP 프로토콜의 작동 원리와 요청/응답 구조HTTP란?HTTP(HyperText Transfer Protocol)는 웹 상에서 클라이언트(브라우저)와 서버 간의 데이터 통신을 위한 프로토콜이다.텍스트, 이미지, 영상 등 다양한 자원을 요청하고 응답받는 데 사용된다. 작동원리1. 클라이언트가 특정 웹 페이지 요청2. HTTP 요청(Request) 메시지가 서버로 전송됨3. 서버는 요청에 맞는 데이터를 찾아 HTTP 응답(Response) 메시지를 클라이언트에게 전달4. 브라우저는 응답 데이터를 기반으로 웹 페이지를 렌더링 요청 구조GET /index.html HTTP/1.1Host: www.example.comUser-Agent: Mozilla/5.0Accept: text/html요청 라인: 메서드..
[CS] 컴퓨터 네트워크의 기본 개념
·
CS/네트워크
1️⃣인터넷과 프로토콜, 데이터 전송 방식(회선/패킷 교환)🚀인터넷인터넷은 전 세계적으로 연결된 네트워크의 집합으로, LAN 사이를 상호 연결하여 전 세계 규모로 확장한 네트워크이다.인터넷은 종종 '네트워크의 네트워크' 또는 '세계에서 가장 큰 WAN' 으로도 불린다.  🚀프로토콜네트워크에서 데이터를 원활하게 주고받기 위해 통신에 참여하는 주체들(송신자, 수신자)가 따라야 하는 규칙을 의미한다.즉, 데이터를 어떻게 포맷하고, 송수신하며, 오류를 감지하고 수정할지 등에 대한 약속이다. 🚀데이터 전송 방식네트워크에서 데이터를 전달하는 방식에는 회선 교환과 패킷 교환이 있다. 회선교환통신이 시작되면 송신자와 수신자 간의 전용 회선을 설정하여 데이터를 전송하는 방식ex) 전화 통신 (전화 연결이 유지되는 ..
[CS] 데이터 베이스_트랜잭션
·
CS/데이터베이스
1️⃣트랜잭션의 개념과 성질(ACID)🚀트랜잭션이란?단일한 논리적인 작업 단위논리적인 이유로 여러 SQL문들을 단일 작업으로 묶어서 나눠질 수 없게 만든 것SQL문들 중에 일부만 성공해서 DB에 반영되는 일은 일어나지 않는다.🚀ACIDAtomicity (원자성)모두 성공하거나, 모두 실패하거나 (All Or Nothing)trancation은 논리적으로 쪼개질 수 없는 작업 단위이므로 SQL문들이 모두 성공해야 한다.중간에 SQL문이 실패하면 지금까지의 작업을 모두 취소하여 아무 일도 없었던 것처럼 rollback 한다.데이터 베이스 상태가 계속 일관적일 수 있도록 유지Consistency (일관성)transaction은 DB 상태를 consistent 상태에서 또 다른 consistent 상태로 바..
[CS] 데이터 베이스_이상현상, 정규화
·
CS/데이터베이스
1️⃣ 이상 현상(삽입 이상, 갱신 이상, 삭제 이상)🚀삽입 이상(Insertion anomalies)1. 중복 데이터 발생empl_idempl_namedept_iddept_namedept_leader_id1WINTER1001DEV12KARINA1001DEV1 dept와 관련된 데이터가 중복으로 들어가기 때문에데이터 중복으로 인한 저장 공간이 낭비되고dept_name은 고유한 값인데 실수로 DEB가 들어간다면 데이터 불일치가 생긴다.2. null 값을 많이 쓰게 되는 문제아직 부서 배치를 받지 않은 사원이라면empl_idempl_namedept_iddept_namedept_leader_id1WINTER1001DEV12KARINA1001DEV13WONYOUNGnullnullnull부서 정보에 null이 ..
[CS] 데이터베이스_인덱스
·
CS/데이터베이스
1️⃣  인덱스의 개념과 설정 기준 이해인덱스를 쓰는 이유?조건을 만족하는 튜플(들)을 빠르게 조회하기 위해빠르게 정렬하거나 그룹핑 하기 위해PLAYER 테이블idnameteam_idbacknumber............ 테이블 생성 후 인덱스 걸기CREATE INDEX player_name_idx ON player (name);name 어트리뷰트에 인덱스 걸기 CREATE UNIQUE INDEX team_id_backnumber_idx On player(team_id, backnumber); 테이블 생성 시 인덱스 걸기CREATE TABLE player (id INT PRIMARY KEY,name VARCHAR(20) NOT NULL,team_id INT,backnumber INT,INDEX play..
[CS] 데이터베이스_SQL
·
CS/데이터베이스
📌SQL의 정의와 기본 구문 이해(DDL/DML/DCL)SQL(Structured Query Language)은 관계형 데이터베이스(RDBMS)에서 데이터를 관리하고 조작하기 위한 언어이다.SQL은 다음과 같이 세 가지 주요 범주로 나뉜다.1️⃣ DDL (Data Definition Language, 데이터 정의어)데이터베이스 구조(스키마, 테이블, 인덱스 등)를 정의하고 변경하는 명령어주요 명령어:CREATE : 데이터베이스 객체(테이블, 인덱스 등) 생성ALTER : 기존 객체의 구조 변경DROP : 객체 삭제TRUNCATE : 테이블의 모든 데이터를 삭제(구조는 유지)-- 데이터베이스 생성CREATE DATABASE my_database;-- 테이블 생성CREATE TABLE users ( id ..
[CS] 데이터베이스란?
·
CS/데이터베이스
📌파일 시스템과 데이터 베이스1. 파일 시스템운영체제가 파일을 저장하고 관리하는 기본적인 시스템데이터를 개별적인 파일로 저장하며, 디렉터리를 통해 파일을 조직단순한 데이터 저장 구조로 빠른 접근이 가능하지만, 데이터 중복 및 무결성 유지가 어렵다2. 데이터베이스체계적으로 데이터를 저장하고 관리하는 시스템데이터를 구조적으로 저장하며, 관계형 모델(RDBMS)이나 NoSQL 등의 방식이 있다트랜잭션 관리, 동시성 제어, 데이터 무결성 보장 들의 기능을 제공SQL과 같은 질의 언어를 이용하여 데이터를 효율적으로 접근하고 관리한다.파일 시스템은 단순한 데이터 저장이 필요할 때 유용하지만, 데이터 간의 관계, 검색, 보안, 동시성 처리가 필요하면 데이터베이스를 사용하는 것이 적합한다.파일 시스템에 이미지를 저장..