반응형

전체 글 177

Java 27

🚀 정식 기능 (Standard Features)1. Compact Object Headers (JEP 534) — 기본 활성화객체 헤더를 96비트 → 64비트로 압축코드 변경 없이 힙 메모리를 10~22% 절감 가능이전 버전에서 실험적이었으나 JDK 27에서 기본으로 활성화2. G1을 모든 환경의 기본 GC로 지정 (JEP 523)소규모 컨테이너 등에서 기존에 Serial GC가 기본이었던 환경에서도 G1 GC가 기본이 됨모든 환경에서 일관된 GC 동작 보장3. Post-Quantum Hybrid Key Exchange (JEP 527)TLS 1.3에서 X25519MLKEM768 하이브리드 키 교환을 기본 지원양자 컴퓨터 공격에 대비한 양자 내성 보안 + 기존 암호화 병행4. JFR In-Proces..

Java/Version 14:40:21

Java 26

주요 정식 기능 (5개)1. JEP 500: Prepare to Make Final Mean Finalfinal 필드를 리플렉션으로 변경(mutate)하는 코드에 대해 런타임 경고를 발생시킵니다.향후 릴리스에서는 이러한 변경을 완전히 차단할 예정이며, 이를 통해 JVM이 더 공격적인 최적화를 수행할 수 있게 됩니다.Java의 "Integrity by Default" 원칙 강화의 일환입니다.2. JEP 504: Remove the Applet API오랫동안 deprecated 상태였던 Applet API가 완전히 제거되었습니다.웹 브라우저에서 Java 코드를 실행하던 시대의 유산이 공식적으로 끝났습니다.3. JEP 516: Ahead-of-Time Object Caching with Any GCAOT(Ah..

Java/Version 2026.09.04

Next.js Server Action

Next.js Server ActionsServer Actions는 Next.js 13.4+에서 도입된 기능으로, 서버에서 실행되는 비동기 함수를 클라이언트 컴포넌트에서 직접 호출할 수 있게 해줍니다. 별도의 API 라우트를 만들 필요 없이 폼 제출, 데이터 변경 등을 처리할 수 있습니다.핵심 개념: Server Actions는 왜 존재하는가?Server Actions의 본질은 클라이언트 → 서버로 데이터를 보내서 변경(mutation)을 수행하기 위한 기능입니다.기존에는 서버에 데이터를 보내려면 API Route를 직접 만들고 fetch로 호출해야 했습니다:// ❌ 기존 방식: API Route를 직접 만들고 fetch로 호출// 1) app/api/posts/route.ts ← API 엔드포인트 작..

Web/Next&React 2026.09.02

Scoped Values

Java Scoped Values (ScopedValue)개요ScopedValue는 Java 21에서 Preview로 도입되고 Java 25에서 정식(Final)이 된 기능으로, 메서드 간에 데이터를 안전하게 공유하기 위한 메커니즘입니다. 기존 ThreadLocal의 대안으로 설계되었으며, 특히 Virtual Thread 환경에서 더 효율적으로 동작합니다.ThreadLocal의 문제점ScopedValue가 등장한 배경을 이해하려면 ThreadLocal의 한계를 알아야 합니다:문제설명변경 가능(Mutable)어디서든 set()으로 값을 바꿀 수 있어 추적이 어려움무제한 수명remove()를 명시적으로 호출하지 않으면 메모리 누수 발생상속 비용InheritableThreadLocal은 자식 스레드 생성 시 ..

Java/동시성 2026.08.09

Java 25

주요 신규 기능1. 🚀 Instance Main Methods & Compact Source Files (JEP 512)기존의 public static void main(String[] args) 보일러플레이트 없이 간단하게 프로그램을 작성할 수 있습니다.// 기존 방식public class HelloWorld { public static void main(String[] args) { System.out.println("Hello!"); }}// Java 25 - 간소화된 방식void main() { println("Hello!");}2. 📦 Module Import Declarations (JEP 511, Preview)import module 구문으로 모듈 전체를 한..

Java/Version 2026.07.27

모노토닉 덱 알고리즘

모노토닉 덱 (Monotonic Deque) 알고리즘개념모노토닉 덱은 덱(Deque, Double-Ended Queue) 내부의 원소들이 항상 단조 증가 또는 단조 감소 순서를 유지하도록 관리하는 자료구조/기법입니다.핵심 아이디어: 새로운 원소를 삽입할 때, 단조성을 깨뜨리는 기존 원소들을 제거한 후 삽입한다.왜 필요한가?가장 대표적인 활용 사례는 슬라이딩 윈도우 최솟값/최댓값 문제입니다.크기 $k$인 윈도우가 배열 위를 슬라이딩할 때, 각 위치에서의 최댓값(또는 최솟값)을 구하라.브루트포스: 매 윈도우마다 $O(k)$ 탐색 → 전체 $O(nk)$모노토닉 덱: 각 원소가 덱에 최대 한 번 삽입·삭제 → 전체 $O(n)$동작 원리 (단조 감소 덱 — 최댓값 구하기)배열: [1, 3, -1, -3, 5, 3..

B-Tree Index

B-Tree 인덱스개요B-Tree(Balanced Tree)는 데이터베이스에서 가장 널리 사용되는 인덱스 자료구조입니다. MySQL(InnoDB), PostgreSQL, Oracle, SQL Server 등 대부분의 RDBMS에서 기본 인덱스 타입으로 사용됩니다.구조B-Tree는 루트 노드, 내부(브랜치) 노드, 리프 노드의 3단계 계층으로 구성됩니다. [30 | 60] ← 루트 노드 / | \ [10|20] [40|50] [70|80] ← 브랜치 노드 / | \ / | \ / | \ [L] [L] [L][L][L][L][L][L][L] ← 리프 노드 (실제 데이터 포인터)..

Database/Index 2026.07.16

B+Tree Index

B+Tree 인덱스개념B+Tree(B+ 나무)는 데이터베이스와 파일 시스템에서 가장 널리 사용되는 인덱스 자료구조입니다. B-Tree의 변형으로, 모든 실제 데이터(레코드 포인터)를 리프 노드(Leaf Node)에만 저장하고, 내부 노드(Internal Node)는 탐색을 위한 키(Key)만 보관합니다.구조 [30 | 70] ← 루트 노드 (Internal) / | \ [10|20] [40|60] [80|90] ← 내부 노드 (Internal) / | \ | \ | \ [10][20][30][40][60][70][80][90] ..

Database/Index 2026.07.02

Hash Index

Hash Index 설명Hash Index는 데이터베이스에서 정확한 값 검색(equality search)에 최적화된 인덱스 자료구조입니다.🔧 기본 원리Key → Hash Function → Bucket → DataHash Function 적용: 키 값을 해시 함수에 넣어 버킷 번호(bucket number)를 계산Bucket 접근: 계산된 버킷으로 바로 이동데이터 조회: 버킷 안에서 실제 레코드 위치(pointer)를 찾아 반환⚡ 특징항목내용검색 시간복잡도O(1) — 평균적으로 상수 시간최적 쿼리WHERE col = 'value' (등가 비교)비적합 쿼리범위 검색 (>, , BETWEEN), 정렬 (ORDER BY)인덱스 구조B-Tree처럼 정렬된 구조가 아님🚫 한계범위 검색 불가: 해시 값은 정렬..

Database/Index 2026.06.29

Clusterd Index & Non-Clustered Index

Clustered Index vs Non-Clustered Index🔵 Clustered Index (클러스터드 인덱스)개념테이블의 데이터 자체를 인덱스 순서대로 물리적으로 정렬하여 저장테이블 당 오직 1개만 생성 가능보통 Primary Key가 자동으로 Clustered Index가 됨구조리프 노드(Leaf Node) = 실제 데이터 페이지 [50] / \ [25] [75] / \ / \[10] [30] [60] [90] ← 실제 데이터 행(Row)이 여기에 저장됨특징항목내용물리적 정렬✅ 데이터가 인덱스 순서로 저장됨개수 제한테이블당 1개조회 속도매우 빠름 (범위 검색에 유리)삽입/수정 속도상대적으로 느림 (재정렬 발생 가능)저장 공간추가 공간 ..

Database/Index 2026.06.26
반응형