DB
정규화 / 반정규화 란??
2025.06.04
정규화(Normalization)와 반정규화(Denormalization)는 관계형 데이터베이스 설계에서 데이터 구조의 효율성과 성능을 조절하는 두 가지 접근 방식 ✅ 정규화 (Normalization)목적:데이터 중복 제거,데이터 무결성 유지,데이터 구조의 논리적 정합성 확보 장점:데이터 무결성 향상변경 시 일관성 유지저장 공간 최적화단점:조인이 많아져 성능 저하 가능실시간 처리에 불리할 수 있음 ✅ 반정규화 (Denormalization)목적:조회 성능 향상복잡한 조인 최소화방법:테이블 병합중복 데이터 허용집계 필드 추가컬럼을 별도로 분리하거나, 계산 결과 컬럼 저장장점:조회 성능 향상, 특히 대용량/실시간 시스템에서 유리조인 감소로 인한 단순한 쿼리 작성 가능단점:데이터 중복 증가 → 무결성 문제 ..
Java
자바 8 / 17 / 21 버전별 차이점
2025.06.04
🔹 Java 8 (2014년 출시, LTS)주요 기능Lambda 표현식: 함수형 프로그래밍 도입Stream API: 데이터 처리 방식 개선 (map/filter/reduce)java.time 패키지: 새로운 날짜/시간 APIOptional 클래스: NullPointerException 방지특징: 기존 Java에서 함수형 프로그래밍으로의 전환점🔹 Java 17 (2021년 출시, LTS)주요 기능Sealed Classes: 클래스 상속 제한Pattern Matching for instanceof: 타입 캐스팅 간소화Switch 표현식 개선 (Java 14~부터 미리보기 → 정식 도입)Records: 불변 데이터 객체 간결하게 정의Text Blocks: 여러 줄 문자열을 쉽게 작성JEP 410: 보안 문..
운영체제(OS)
RedHat 리눅스 / Ubuntu 리눅스 차이
2025.06.04
개발사Red Hat (IBM 소속)Canonical목적기업용 서버에 최적화 (상용)데스크탑/서버 모두 가능 (무료)라이선스상용 (유료 서브스크립션 필요)오픈소스 (무료)기반RPM 기반 (Red Hat Package Manager)DEB 기반 (Debian)패키지 관리yum, dnfapt업데이트 정책장기 지원, 보수적 (안정성 우선)자주 업데이트, 최신 기술 적용 빠름서버 환경기업 및 금융권에서 선호클라우드/스타트업/개인 서버에서 선호SELinux 지원기본 활성화AppArmor 기본 제공 (SELinux도 가능)
코딩테스트
BFS(Breadth-First Search) 너비 우선 탐색
2025.05.30
BFS(Breadth-First Search, 너비 우선 탐색)는 그래프나 트리에서 시작 노드로부터 가까운 노드부터 탐색하는 알고리즘 ✅ 핵심 개념가까운 노드부터 탐색Queue(큐) 자료구조 사용최단 거리 탐색에 적합그래프의 레벨 순서 탐색 가능📌 예시로 이해하기 1 / \ 2 3 / \ \4 5 6✅ BFS 동작 과정 (요약)시작 노드를 큐에 삽입하고 방문 표시큐에서 노드를 꺼내서 인접한 노드들을 모두 큐에 추가추가할 때 방문하지 않은 노드만 추가큐가 빌 때까지 2~3 반복✅ Java 코드import java.util.*;public class BFSExample { public static void main(String[] args) { /..
코딩테스트
DFS(Depth-First Search) 깊이 우선 탐색
2025.05.30
DFS(Depth-First Search, 깊이 우선 탐색)는 그래프나 트리에서 한 방향으로 끝까지 탐색한 후, 더 이상 갈 곳이 없으면 다시 돌아와서 다른 방향을 탐색하는 알고리즘✅ 핵심 개념시작 노드에서 한 방향으로 쭉 내려감더 이상 갈 곳이 없으면 백트래킹(되돌아가기)스택(stack) 또는 재귀(recursion) 를 사용해 구현✅ 동작 방식 A├── B│ └── D└── C ✅ DFS 구현 방법import java.util.*;public class DFSExample { public static void dfs(Map> graph, String start) { Set visited = new HashSet(); Stack stack = new Stack(); ..