brobro332.dev

⚡ 알고리즘 - 그리디(Greedy)

🔹 그리디 알고리즘이란? ▫️ 개념 문제를 해결할 때 매 단계에서 가장 최선이라고 판단되는 선택을 하는 알고리즘 전체 최적해를 보장하지 않을 수도 있지만, 문제에 따라 매우 효율적이고 간단하게 구현 가능 ▫️ 특징 현재 상황에서 최선의 선택을 하므로 탐욕적(Greedy)이라고 불림 해를 찾는 과정에서 이전 결정에 영향을 받지 않...

⚡ 데이터베이스 - 트랜잭션, 인덱스, 조인

🔹 트랜잭션이란? 데이터베이스에서 하나의 작업 단위를 의미한다. 여러 SQL 문장이 하나의 논리적인 작업으로 묶여야 할 때 사용된다. 모든 작업이 성공적으로 끝나야 커밋되며, 하나라도 실패하면 롤백된다. 🔹 트랜잭션의 ACID 4가지 속성 원자성(Atomicity): 트랜잭션은 모두 수행되거나 전혀 수행되지 않아야 한다. 일관...

⚡ 운영체제 - 가상 메모리와 페이지 교체 알고리즘

🔹 가상 메모리란? 가상 메모리는 실제 물리 메모리보다 큰 공간을 프로세스에 제공하기 위한 메모리 관리 기법이다. 각 프로세스는 독립된 주소 공간을 가지며, 운영체제가 실제 메모리(RAM)와 보조기억장치(Disk)를 조합해 가상 주소를 실제 주소로 매핑한다. 장점은 다음과 같다. 물리 메모리보다 더 큰 공간 제공 ...

⚡ 운영체제 - 프로세스 동기화와 교착상태

🔹 프로세스 동기화란? 여러 프로세스나 스레드가 공유 자원을 동시에 사용할 때, 데이터의 일관성과 안정성을 유지하기 위해 필요한 기술이다. 예를 들어, 두 개의 스레드가 동시에 같은 파일에 접근해서 수정하려 하면, 예기치 않은 결과가 발생할 수 있다. 이를 막기 위해 동기화 메커니즘이 사용된다. 🔹 주요 동기화 메커니즘 ▫️ 세마포어(...

⚡ 운영체제 - 멀티프로세스 vs 멀티스레드

🔹 멀티프로세스가 적합한 상황 ▫️ 안정성과 격리성이 중요한 경우 하나의 프로세스가 오류나 예외로 종료되더라도, 다른 프로세스에는 영향을 주지 않음 크롬 브라우저(탭마다 프로세스 분리), 서버의 마이크로서비스 구조를 예시로 들 수 있다. ▫️ 보안이 중요한 경우 프로세스는 메모리를 공유하지 않기 때문에, 의도치 않은 데이터 접근을 방...