🔍 프로세스(Process)와 스레드(Thread)의 차이프로세스(Process)와 스레드(Thread) 는 운영체제(OS)에서 작업을 실행하는 기본 단위입니다.둘은 독립적인 실행 단위인지, 자원을 공유하는지 등의 차이가 있습니다.✅ 1. 프로세스(Process)란?📌 개념실행 중인 프로그램(독립적인 실행 단위).CPU, 메모리, 파일 핸들 등 독립적인 자원(Resource) 보유.다른 프로세스와 메모리를 공유하지 않음.📝 특징✔ 독립적인 실행 단위 → 하나의 프로세스는 다른 프로세스의 자원에 직접 접근할 수 없음.✔ 멀티 프로세스(Multi-Process) 를 통해 여러 프로세스를 병렬 실행 가능.✔ 다른 프로세스와 메모리를 공유하지 않기 때문에 안전하지만, 속도가 느림.✅ 2. 스레드(Threa..
🌐 REST API의 장점과 단점REST API(Representational State Transfer API) 는 HTTP 기반으로 리소스를 URI로 표현하고, HTTP 메서드(GET, POST, PUT, DELETE 등) 를 활용하여 데이터를 주고받는 아키텍처 스타일입니다.REST API는 웹과 모바일 애플리케이션에서 가장 많이 사용되지만, 몇 가지 단점도 존재합니다.✅ REST API의 장점1️⃣ 언어 및 플랫폼 독립성 (Language & Platform Independence)클라이언트와 서버가 서로 다른 기술 스택을 사용할 수 있음.예: 프론트엔드(React, Vue) + 백엔드(Spring, Node.js, Django 등)어떤 프로그래밍 언어에서도 HTTP 요청을 보낼 수 있음 → 범용..
TCP/IP 4계층 모델인터넷 프로토콜 스위트(internet protocol suite)는 인터넷에서 컴퓨터들이 서로 정보를 주고받는데 쓰이는 프로토콜의 집합이며, 이를 TCP/IP 4계층 모델로 설명하거나 OSI 7계층 모델로 설명하기도 합니다. 이 글에서는 TCP/IP(Transmission Control Protocol/Internet Protocol) 4계층 모델을 중심으로 설명하며, 이 계층 모델은 네트워크에서 사용되는 통신 프로토콜의 집합으로 계층들은 프로토콜의 네트워킹 범위에 따라 네 개의 추상화 계층으로 구성됩니다.계층 구조TCP/IP 계층은 네 개의 계층을 가지고 있으며 OSI 7계층과 많이 비교합니다.위 그림처럼 TCP/IP 계층과 달리 OSI 계층은 애플리케이션 계층을 세 개로 쪼개..
스택Stack(스택)은 LIFO(Last In, First Out) 구조를 가지는 자료구조로, 나중에 삽입된 요소가 먼저 제거되는 방식입니다. 즉, 한쪽 끝에서만 데이터를 삽입하고 제거할 수 있습니다. 1.Java에서 Stack 사용법Java에서는 java.util.Stack 클래스를 제공하여 스택을 쉽게 사용할 수 있습니다.import java.util.Stack;public class StackExample { public static void main(String[] args) { // Stack 생성 Stack stack = new Stack(); // 요소 추가 (push) stack.push(10); stack.push(20)..
서버 사이드 렌더링 (SSR: Server Side Rendering)작동 방식서버에서 HTML을 완전히 생성한 뒤, 클라이언트(브라우저)에 전달합니다.브라우저는 서버에서 받은 완성된 HTML을 그대로 화면에 렌더링합니다.특징요청마다 서버에서 HTML을 생성하기 때문에 페이지 로딩 시 서버와의 통신이 중요합니다.서버가 모든 렌더링 작업을 처리하므로 클라이언트의 부담이 적습니다.장점빠른 초기 화면 표시: 사용자는 HTML이 완성된 상태로 받아보기 때문에 페이지 로딩 속도가 빠르게 느껴집니다.SEO(검색 엔진 최적화)에 유리: 검색 엔진이 HTML을 바로 크롤링할 수 있어 검색 노출이 용이합니다.구형 브라우저 호환성: 자바스크립트 처리 능력이 약한 브라우저에서도 동작이 안정적입니다.단점서버 부하: 모든 요청..
백트래킹(Backtracking)백트래킹은 모든 가능한 경우의 수를 탐색하면서, 조건에 맞지 않는 경로는 탐색을 중단하고 이전 단계로 돌아가는 기법입니다. 재귀 호출을 통해 동적으로 탐색 깊이를 조절할 수 있다는 점이 가장 큰 특징입니다.DFS기반백트래킹의 핵심 요소1. 완전탐색가능한 모든 선택지를 시도하며, 최적의 해를 찾거나 특정 조건을 만족하는 해를 구합니다.예를 들어, 미로 탐색에서는 모든 경로를 탐색해 최단 경로를 찾습니다. 2. Pruning(가지치기)조건을 만족하지 않는 경로는 더 이상 탐색하지 않고 조기에 종료합니다.이를 통해 탐색 시간을 줄이고 효율성을 높입니다. 3. 동적 깊이 조절백트래킹은 재귀 호출을 사용하기 때문에 탐색 깊이를 문제 상황에 따라 동적으로 변경할 수 있습니다.이는 깊..