반응형

전체 글 182

Zod

Zod 소개Zod는 TypeScript-first 스키마 선언 및 유효성 검증 라이브러리입니다. 스키마를 한 번 정의하면, Zod가 자동으로 TypeScript 타입을 추론해주기 때문에 타입 정의를 중복으로 작성할 필요가 없습니다.핵심 특징특징설명TypeScript 타입 추론스키마에서 자동으로 TS 타입 생성런타임 유효성 검증컴파일 타임 + 런타임 모두 안전Zero dependencies외부 의존성 없음불변성(Immutable)메서드 호출 시 새로운 인스턴스 반환간결한 API체이닝 방식의 직관적 인터페이스기본 사용법1. 스키마 정의 & 타입 추론import { z } from "zod";// 스키마 정의const UserSchema = z.object({ name: z.string(), age: z...

Web/일반 2026.09.26

Zustand

ZustandZustand(독일어로 "상태"라는 뜻)는 React를 위한 경량 상태 관리 라이브러리입니다.핵심 특징특징설명간결한 API보일러플레이트가 거의 없음경량번들 크기 ~1KBProvider 불필요상태가 React 트리 외부에 존재하므로 Provider 없이 동작불변성 불필요immer 없이도 자연스러운 상태 업데이트React 외부에서도 사용 가능Vanilla JS에서도 동작기본 사용법1. Store 생성import { create } from 'zustand'interface BearStore { bears: number increase: () => void reset: () => void}const useBearStore = create((set) => ({ bears: 0, increa..

Web/Next&React 2026.09.25

Tanstack Query

TanStack Query서버에서 가져온 데이터를 브라우저 메모리에 캐싱하고, 그 캐시의 생명주기를 자동으로 관리해주는 프론트엔드 라이브러리"서버 상태 관리"라는 표현이 흔히 쓰이지만, 실제로는 비동기 데이터 캐시 자동 관리가 더 정확한 설명이다.어디서 동작하는가브라우저(클라이언트)에서 동작한다. Node.js 서버가 아니다.┌──────────────────┐ HTTP 요청 ┌──────────────┐│ 브라우저 │ ───────────────────▶ │ 백엔드 서버 ││ │ │ ││ React 앱 │ ◀─────────────────── ..

Web/Next&React 2026.09.13

Spring boot 3.3

🚀 성능 & 시작 속도CDS (Class Data Sharing) 지원애플리케이션 시작 시간 단축과 메모리 사용량 절감을 위한 CDS 아카이브 생성을 간소화JVM 플래그로 간단히 활성화 가능:-XX:ArchiveClassesAtExit=application.jsa-Dspring.context.exit=onRefresh📊 관측성 & 모니터링기능설명@SpanTag 지원Micrometer의 @SpanTag 어노테이션 지원ProcessInfoContributor새로운 프로세스 정보 기여자 추가SBOM Actuator 엔드포인트Software Bill of Materials(소프트웨어 구성 목록) 확인 가능Prometheus 1.x 지원Prometheus 이전 버전과의 호환성 유지🐳 Docker & Serv..

Spring/Version 2026.09.10

Spring boot 3.2

1. Java 21 지원 (Virtual Threads)Spring Boot 3.2의 가장 큰 하이라이트입니다.Virtual Threads (Project Loom) 를 공식 지원합니다.spring.threads.virtual.enabled=true 설정만으로 활성화할 수 있습니다.Tomcat, Jetty 등의 웹 서버와 @Async, @Scheduled 태스크에서 가상 스레드를 사용합니다.기존 플랫폼 스레드 대비 훨씬 가벼워 높은 동시성 처리에 유리합니다.# application.propertiesspring.threads.virtual.enabled=true2. JdbcClient 지원Spring Framework 6.1에서 도입된 JdbcClient 를 자동 구성(auto-configuration)..

Spring/Version 2026.09.07

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 2026.09.05

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
반응형