여기서 파일 권한은 rw-r--r--로 표시됨.r -> 파일 타입rw- -> 소유자 권한r-- -> 그룹 권한r-- -> 기타 권한chmod 명령어를 사용해 파일 권한을 변경할 수 있다.7 → 읽기(r) + 쓰기(w) + 실행(x) (소유자)5 → 읽기(r) + 실행(
알고리즘의 시간 복잡도(실행 속도)와 공간 복잡도(메모리 사용량)을 수학적으로 표현하는 방법인 Big-O Notation 중 O(n)과 O(log n)에 대하여 알아본다. O(n)과 O(log n)의 성능 차이 실생활에서의 예시 O(n) - 줄 서서 입장하기 음식점

HashSet의 내부 동작 방식 HahSet의 중복 제거 매커니즘 효율적인 중복 체크를 할 수 있는 이유
Java의 HashSet(또는 일반적인 해시 기반 집합 자료구조)이 중복을 제거(= 같은 원소가 두 번 들어오지 않도록)할 수 있는 이유와, 이를 빠르고 효율적으로(평균 O(1)) 수행할 수 있는 원리를 단계별로 작성하였습니다.HashSet의 내부는 사실상 HashMa
프레임워크(Framework)와 라이브러리(Library)의 차이는 무엇일까?둘을 구분하는 가장 큰 포인트는 "제어 흐름(Control Flow)"를 누가 주도하느냐"입니다. 일반적으로 라이브러리는 사용자가 필요한 시점에 호출(invoke)하여 사용하는 반면, 프레임워
데이터베이스에서 여러 개의 작업(작은 작업 단위들)이 있을 때, 이 작섭들을 하나의 작업처럼 묶어서 처리하는 개념.주로 데이터베이스에서 데이터를 추가하거나 변경, 삭제하는 과정에서 사용됨.모든 작업이 성공하거나, 실패하거나 둘 중 하나만 발생해야 함.즉, 부분적으로 완
SQL(Structured Query Language)은 데이터베이스를 다루기 위한 언어로, 목적이나 여러 유형으로 나뉩니다. 그 중에서도 가장 기본이 되는 두 가지가 DDL(DataDefinition Language)와 DML(Data Manipulation Lang
데이터베이스 설계에서 정규화(Normalization)는 가장 기본적이면서도 중요한 개념입니다. 하지만 때로는 이 정규화를 되돌리는 역정규화(Denormalization)가 필요한 순간이 찾아오기도 합니다. 정규화와 역정규화의 개념을 정리하고, 역정규화가 필요한 상황과
JPA에서 N + 1 문제가 발생하는 원인은 지연 로딩(lazy loading) + 잘못된 쿼리 작성 방식이다.예를 들어, 데이터베이스에 User가 10명 있고, 각 User는 여러개의 Post가 있다고 가정한다.(User와 Post는 1:N 관계)이때 User 엔티티
여러 트랜잭션이 동시에 수행될 떄, 각 트랜잭셔이 다른 트랜잭션의 중간 작업을 참조하지 못하게 막는 것다른 트랜잭션이 아직 커밋하지 않은 데이터를 읽는 것읽은 데이터가 롤백되는 경우 잘못된 정보를 사용하게 됨예: 트랜잭션 A가 계좌 잔액을 500 → 100으로 수정했지
로컬 캐시는 애플리케이션 서버의 메모리(JVM Heap 등) 에직접 데이터를 저장하는 방식대표 예시: Caffeine, Guava Cache, Standalone Ehcache 등매우 빠름: 서버 메모리에 바로 접근하므로 속도가 가장 빠름구현/운영이 간단: 별도 인프라

1. Git Flow > Git Flow는 Vincent Driessen이 제안한 브랜치 전략으로, 규모가 큰 프로젝트에서 여러 릴리스, 핫픽스, 기능 개발을 체계적으로 관리하기 위해 고안되었다. 다음과 같은 주요 브랜치를 두고 운영한다. 1) main 제품의
트랜잭션은 ACID 중 “I(Isolation, 고립성)”을 통해여러 사용자가 동시에 DB를 사용할 때도 정합성 있는 결과를 보장한다.하지만 고립성이 부족하면 아래의 세 가지 문제가 발생한다.아직 커밋되지 않은(임시 상태) 데이터를 다른 트랜잭션이 읽어버리는 현상.트랜
카테시안 곱은 두 집합의 모든 가능한 쌍을 만드는 연산이다.집합 A에서 하나 고르고, 집합 B에서 하나 골라서 (a, b) 형태의 순서 쌍을 모두 생성한다.예시:A = {1, 2} B = {a, b, c}그럼 A × B는 다음과 같다:(1, a), (1, b), (1
데이터베이스 설계의 기본이 되는 개념이 정규화(Normalization)이다.정규화는 데이터 중복을 줄이고, 이상 현상을 방지하며, 데이터의 일관성과 무결성을 유지하기 위한 테이블 구조 설계 원칙이다.이 글에서는 1NF → 2NF → 3NF를 직관적인 도식으로 설명하고
개발을 하다 보면 “컨테이너”, “도커(Docker)”, “VM”, “이미지” 같은 용어가 자주 등장합니다.하지만 각각이 정확히 어떤 기술인지 묻는다면 헷갈릴 때가 많습니다.이 글에서는 컨테이너 기술과 Docker의 차이,왜 Docker가 대중화되었는지,어떤 기술적 배
사용자가 로그인하면 서버가 세션 ID를 생성 서버는 세션 정보를 메모리/Redis/DB(Session Store)에 저장 클라이언트는 세션 ID가 담긴 쿠키를 보관 요청마다 쿠키에 담긴 세션 ID를 전송 서버는 “세션 ID가 유효한가?”를 검사해 사용자를 식별서