CS 5

주소창에 'naver.com'을 치면 일어나는 일

웹 페이지가 브라우저에 보이는 과정1. 사용자 입력사용자가 브라우저의 주소창에 naver.com을 입력한다.2. 웹 페이지 URL브라우저 캐시 확인OS의 DNS 기록 확인 (OS도 DNS 기록을 가지고 있음)라우터 캐시 확인 - 자체 DNS 레코드 캐시를 유지 관리하는 라우터와 통신위 모든 단계에 실패하면 브라우저는 Recursive DNS 서버로 이동한다.3. 도메인 네임브라우저는 DNS 서버에 해당 도메인에 대한 IP 주소를 요청한다.4. IP 주소 반환DNS 서버는 naver.com에 해당하는 IP 주소를 반환한다. 이 IP 주소는 실제 웹 서버의 위치를 나타낸다.5/6. HTTP 요청 메시지브라우저는 TCP 통신을 통해 해당 IP 주소(네이버 서버)로 HTTP 요청을 전송한다.7. 웹 페이지 UR..

CS 2025.02.15

OS (운영체제)와 컴퓨터

🖥️ 운영체제(OS, Operating System)OS(운영체제)란, 사용자가 컴퓨터를 쉽게 다룰 수 있도록 도와주는 인터페이스이다.한정된 메모리 및 시스템 자원을 효율적으로 분배하는 역할을 한다.📌 OS의 역할CPU 스케줄링과 프로세스 관리 CPU 소유권을 어떤 프로세스에 할당할지 결정 프로세스 생성 및 삭제, 자원 할당 및 반환 관리메모리 관리 한정된 메모리를 각 프로세스에 효율적으로 할당디스크 파일 관리 디스크 파일 저장 및 관리 방법 결정I/O 디바이스 관리 마우스, 키보드 등의 I/O 디바이스와 컴퓨터 간 데이터 교환 관리🔹 운영체제의 구조🛠️ 시스템 콜 (System Call)운영체제가 커널에 접근하기 위한 인터페이스 유저 프로그램이 운영체제의 서비스를 받기 위해 커널 함수..

CS 2025.02.10

데이터베이스 Lock (잠금) 이란?

Lock : 잠그다왜 데이터베이스 Lock을 하고, 또 어떻게 하는가?📌 왜 Lock을 사용할까?재고는 1개밖에 없었지만, 두 사람이 동시에 주문하여 둘 다 성공하는 문제 발생이러한 데이터 무결성 문제를 방지하기 위해 DBMS에서는 동시성 제어를 수행동시성 제어: 트랜잭션들이 동시에 수행될 때, 데이터 일관성을 유지하도록 접근을 제어하는 것어떻게?Lock을 이용🔑 Lock의 종류1️⃣ 낙관적 잠금(Optimistic Lock)데이터 갱신 시 경합이 발생하지 않을 것이라고 가정한 사용자가 업데이트를 완료하면, 동시 업데이트 확약을 시도하는 다른 사용자에게 충돌이 있음을 알림✅ 동작 방식첫 Read 시 version을 읽음구매 완료 후 다시 version을 읽음처음 읽었던 version과 같다면 업데이트..

CS 2025.02.07

정규화

데이터베이스 정규화 (Database Normalization)1. 데이터베이스 (Database)Data : 사실, 관찰, 측정 등을 통해 얻어진 정보를 의미하며, 정리되지 않은 원시적인 형태의 정보Base : 기초, 기반, 저장소Database : 데이터의 기지 (1950년대 미국에서 처음 사용), 구조화된 정보 또는 데이터의 조직화된 모음 혹은 전자적으로 저장되고 체계적인 데이터 모음 (현대)2. 정규화 (Normalization)정(正): 바를 정, 올바르게 하다, 또는 바르게 맞추다.규(規): 법 규, 규칙이나 기준을 의미.화(化): 될 화, 변화시키다, 어떤 상태로 만들다.정리정규화란 올바른 기준에 맞게 데이터를 변화시키는 과정이다.즉, 데이터를 체계적으로 저장하고 관리하는 저장소를 규칙에 맞..

CS 2025.01.10

트랜잭션에 대하여

트랜잭션(Transaction)트랜잭션은 데이터베이스와 애플리케이션 간의 데이터 거래에서 안정성을 확보하기 위한 단일 논리적 작업 단위입니다.예를 들어, 계좌 이체 과정에서 인출 또는 입금만 성공하면 데이터 무결성이 깨질 수 있습니다. 이를 방지하기 위해 트랜잭션을 사용합니다.트랜잭션은 모든 작업이 성공적으로 완료되거나, 실패 시 모든 작업이 원래 상태로 되돌아가는 원자성을 보장하여 데이터의 일관성과 무결성을 유지합니다.트랜잭션의 필요성: 계좌 이체 예시문제 상황사용자 A 계좌: 10,000 원사용자 B 계좌: 5,000 원사용자 A가 사용자 B에게 2,000원을 이체하는 트랜잭션이 실행됩니다.이 과정에서 A 계좌에서 2,000원 인출이 성공하고, B 계좌에 2,000원 입금이 실패한다면 데이터 무결성이..

CS 2025.01.03