Archives
- 11 Oct Vite 플러그인 아키텍처 분석과 Vite 7·8 번들러 진화(Rollup vs Rolldown) 및 실무 제작 가이드
- 09 Oct Vite 네이티브 테스트 러너 Vitest 도입과 Mocking·Coverage 설정 가이드
- 07 Oct pnpm Workspaces 모노레포 환경에서 Vite 서브 프로젝트 설정 및 패키지 공유
- 05 Oct Vite SSR(서버 사이드 렌더링) 아키텍처와 client·server 엔트리 분리
- 02 Oct Vite 라이브러리 모드(build.lib)를 활용한 npm 공통 컴포넌트 패키지 번들링
- 30 Sep 마크다운(Markdown) 문서를 런타임 컴포넌트로 변환하는 커스텀 Vite 플러그인 제작
- 28 Sep transformIndexHtml 훅을 활용한 환경별 메타 태그 및 CDN 스크립트 동적 주입
- 25 Sep Vite DevServer Connect 미들웨어를 활용한 무서버 Mock API 플러그인 구현
- 23 Sep 가상 모듈(Virtual Module) 패턴을 활용한 빌드 메타데이터 및 설정 주입
- 21 Sep Vite 플러그인 생명주기 훅 구조와 Rollup 공용 인터페이스 분석
- 18 Sep vite-plugin-image-optimizer를 활용한 빌드 타임 WebP·AVIF 이미지 변환
- 16 Sep @vitejs/plugin-legacy를 활용한 구형 브라우저 호환성 및 폴리필 번들 분리
- 14 Sep vite-plugin-compression을 활용한 프로덕션 Gzip 및 Brotli 사전 압축 파이프라인
- 11 Sep rollup-plugin-visualizer를 활용한 번들 사이즈 분석과 트리 쉐이킹 점검
- 09 Sep 라우트 기반 동적 임포트(Dynamic Import)와 프리페칭(Prefetch) 성능 최적화
- 07 Sep Rollup manualChunks 설정을 활용한 벤더 라이브러리 청크 분리 전략
- 04 Sep Vite server.warmup 옵션을 활용한 개발 서버 첫 페이지 로딩 속도 최적화
- 02 Sep vite-plugin-checker를 활용한 빌드 타임 TypeScript·ESLint 백그라운드 검사
- 31 Aug 로컬 개발 환경 HTTPS 구성을 위한 mkcert 및 vite-plugin-basic-ssl 설정
- 28 Aug Vite server.proxy 설정을 활용한 로컬 CORS 해결 및 인증 쿠키 포워딩
- 26 Aug Vite HMR(Hot Module Replacement) 동작 원리와 import.meta.hot API 활용
- 24 Aug 웹 폰트 로컬 서빙과 font-display·preload를 활용한 렌더링 지연 방지
- 21 Aug Vite 환경에서 Tailwind CSS v4 아키텍처 도입 및 컴파일 성능 최적화
- 19 Aug CSS Modules 네이밍 캡슐화와 Vite PostCSS 파이프라인 연동
- 17 Aug vite-plugin-svg-icons를 활용한 SVG 스프라이트 자동화 및 번들 최적화
- 14 Aug Vite 정적 에셋 로딩 전략과 ?raw·?url·?inline 쿼리 파라미터 활용
- 12 Aug 개발·스테이징·프로덕션 환경을 위한 vite.config.ts 설정 모듈화 전략
- 10 Aug TypeScript 경로 별칭 설정과 vite-tsconfig-paths 연동
- 07 Aug Vite 환경 변수 주입 방식과 import.meta.env 모드별 분리 전략
- 05 Aug esbuild를 활용한 Vite 의존성 사전 번들링 메커니즘과 캐시 제어
- 03 Aug Webpack 번들 기반 개발 서버의 한계와 Vite Native ESM 아키텍처 분석
- 23 Jul Spring AI Micrometer 메트릭 연동과 RelevancyEvaluator 기반 응답 품질 검증
- 16 Jul Gemini Context Caching을 활용한 대용량 문서 질의응답 비용 최적화
- 09 Jul PostgreSQL PGvector와 Google GenAI Embeddings 기반 RAG 질의응답
- 02 Jul 문서 수집 ETL 파이프라인과 TokenTextSplitter를 활용한 사내 문서 청킹
- 25 Jun Spring Boot 애플리케이션의 MCP Server(STDIO / Streamable HTTP) 구축
- 18 Jun Spring AI MCP Client를 활용한 Model Context Protocol 도구 연동
- 16 Jun Docker Compose initdb.d 시드 데이터 초기화와 Compose Watch 적용
- 15 Jun Docker 컨테이너 MTU 불일치 및 DNS 지연 트러블슈팅
- 14 Jun Docker HEALTHCHECK와 Spring Boot Actuator 연동을 통한 상태 모니터링
- 13 Jun Docker Buildx를 활용한 멀티 아키텍처(ARM64/AMD64) 이미지 빌드
- 12 Jun Docker Compose Profiles와 Override를 활용한 로컬 개발 환경 분리
- 11 Jun netshoot 컨테이너를 활용한 Docker 네트워크 패킷 분석 및 디버깅
- 10 Jun Docker 볼륨과 바인드 마운트 차이점 및 권한(Permission) 문제 해결
- 09 Jun Docker 컨테이너 Non-root 사용자 격리와 Trivy 보안 스캔 적용
- 08 Jun Docker Compose depends_on과 healthcheck를 활용한 서비스 기동 순서 제어
- 07 Jun Docker 포트 바인딩(-p)과 EXPOSE 차이 및 호스트 네트워크 모드 분석
- 06 Jun Docker 컨테이너 PID 1 프로세스와 Graceful Shutdown 설정
- 05 Jun Docker BuildKit 캐시 마운트를 활용한 Gradle 빌드 속도 개선
- 04 Jun Docker Compose를 활용한 로컬 개발 환경 구축 (Spring Boot, PostgreSQL, Redis)
- 03 Jun Docker 브릿지 네트워크와 DNS 기반 서비스 디스커버리 동작 원리
- 02 Jun Docker 컨테이너 리소스 제한 설정과 JVM OOMKilled(137) 대응
- 01 Jun Docker 멀티스테이지 빌드를 활용한 Spring Boot 이미지 최적화
- 28 May ToolSearchToolCallingAdvisor와 동적 도구 검색 최적화
- 21 May Google Search Grounding을 활용한 Gemini 실시간 웹 검색 및 출처 메타데이터 연동
- 20 May Spring Security MockMvc 테스트를 통한 JWT 리소스 서버와 세션 체인 검증
- 19 May Spring Boot Docker Compose 연동과 멱등성 보장 시드 데이터 초기화
- 18 May JPA 기반 게시글 멀티 반응(Reaction) 토글 시스템 설계
- 17 May 공공 데이터 연호 변환과 사건번호 정규화 파싱 트러블슈팅
- 16 May 휴먼 인 더 루프(HITL) 기반 AI 데이터 검토 및 승인 파이프라인 설계
- 15 May Gemini API 구조화된 출력(Structured Output)과 JSON Schema 적용
- 14 May 비동기 배치 및 스케줄러 환경에서의 JPA Auditing AuditorAware 처리
- 13 May JPA 소프트 삭제(Soft Delete) 시 복합 Unique 인덱스 충돌 해결과 휴지통 패턴
- 12 May JPA @Version 낙관적 락(Optimistic Lock)을 활용한 갱신 손실(Lost Update) 방지
- 11 May JPA 엔티티 식별자(PK)로서의 UUIDv7 도입과 B-Tree 인덱스 최적화
- 10 May LLM 환각(Hallucination) 방지를 위한 기사 탐색 및 공공 API 교차 검증 파이프라인
- 09 May Google GenAI SDK를 활용한 Search Grounding 메타데이터 연동
- 08 May 외부 데이터 수집 파이프라인의 원문(Raw Data) 불변 보존과 재파싱 아키텍처
- 07 May Open API 연동을 위한 Redis 분산 Rate Limiter와 지수 백오프 구현
- 06 May 배치 작업 체크포인트 상태 머신 설계와 트랜잭션 롤백 격리
- 05 May Redis ShedLock과 DB 리스 기반 경량 분산 작업 실행기(Job Runner) 구현
- 04 May 카카오·구글·네이버 다중 소셜 계정 연동(1:N) 모델링과 사용자/관리자 로그인 진입점 분리
- 03 May Redis 블랙리스트를 활용한 무상태 JWT 즉시 무효화 전략
- 02 May Refresh Token Rotation(RTR) 동시 요청 경합(Race Condition)과 토큰 탈취 대응
- 01 May Spring Security API(JWT)와 관리자 Web(세션) 멀티 SecurityFilterChain 분리
- 30 Apr @Tool 어노테이션 기반 Function Calling과 외부 API 연동
- 23 Apr Google Gemini SafetySettings 설정과 유해성 차단 가드레일 구현
- 16 Apr Gemini 비전 및 오디오 멀티모달을 활용한 영수증 분석과 음성 회의록 요약
- 09 Apr Google GenAI ImageModel을 활용한 이미지 생성 및 스토리지 저장 파이프라인
- 02 Apr Spring AI BeanOutputConverter와 Gemini Provider-Native JSON Schema를 활용한 구조화된 출력
- 26 Mar MessageChatMemoryAdvisor와 Redis를 활용한 멀티턴 대화 세션 관리
- 19 Mar WebFlux와 SSE(Server-Sent Events)를 활용한 Gemini 실시간 스트리밍 채팅 구현
- 12 Mar Spring AI Google GenAI ChatClient Fluent API 기본 구성과 동기 호출
- 05 Mar Google AI Studio API 키 발급과 Gemini Pro 구독자 매월 $10 크레딧 연동 가이드
- 29 Dec Human-in-the-Loop(HITL)과 에이전트 보안: 권한 격리와 안전한 도구 실행
- 22 Dec 복합 에이전트 시스템: Multi-Agent 오케스트레이션과 역할 분담 패턴
- 15 Dec GitHub 기반 에이전트 스킬 마켓플레이스 구축: 배포, 버전 관리, 그리고 원클릭 설치 생태계
- 08 Dec Tools, Skills, Prompts의 개념적 위계: 원자적 도구에서 실행 가능한 스킬로
- 01 Dec MCP의 3대 핵심 프리미티브: Tools, Resources, Prompts의 역할과 차이
- 24 Nov AI 도구 연동의 새로운 표준: Model Context Protocol(MCP) 아키텍처 분석
- 17 Nov 에이전트 추론 루프의 정석: ReAct 패턴과 자율적 문제 해결 흐름
- 10 Nov LLM 도구 사용의 기초: Function Calling과 Tool Use의 내부 동작 원리
- 03 Nov 스프링 AI MCP Server 사용해보기
- 18 May Uptime Kuma를 활용한 홈서버 가동시간 모니터링 및 상태 페이지 구축
- 10 May n8n을 활용한 셀프호스팅 워크플로우 이벤트 자동화 구축
- 08 May 코틀린 스프링부트에서 AuthenticationPrincipal 500 오류 해결하기
- 08 May 서비스별 JWT Payload 비교
- 02 May Docker ELK 스택을 활용한 홈서버 컨테이너 로그 중앙 집중 분석
- 29 Apr 스프링 부트에서 Ollama 모델 사용하기
- 25 Apr Grafana를 활용한 홈서버 통합 모니터링 대시보드 및 알림 구축
- 18 Apr mysqld_exporter와 redis_exporter를 활용한 데이터베이스 메트릭 연동
- 12 Apr Prometheus와 Node Exporter를 활용한 홈서버 시스템 메트릭 수집
- 08 Apr jsDelivr CDN을 활용한 GitHub Pages 이미지 캐싱 최적화
- 05 Apr MariaDB와 Redis를 활용한 홈서버 공용 데이터베이스 및 캐시 계층 구축
- 01 Apr Jekyll Chirpy 테마 구글 애드센스 및 ads.txt 설정
- 30 Mar MinIO를 활용한 홈서버 S3 호환 객체 스토리지 구축
- 25 Mar Jekyll 블로그 검색 엔진 최적화(SEO) 및 포털 등록 가이드
- 25 Mar Watchtower를 활용한 도커 컨테이너 이미지 무중단 자동 갱신
- 24 Mar Fixture Monkey를 활용한 더미 데이터 생성
- 20 Mar Portainer Business(EE) 3대 무료 라이선스를 활용한 도커 컨테이너 중앙 관리 및 GitOps 스택 배포
- 18 Mar GitHub Pages 커스텀 도메인 연결 및 HTTPS 설정
- 15 Mar Cloudflare DDNS와 Nginx Proxy Manager를 활용한 홈서버 와일드카드 SSL 구축
- 11 Mar Chirpy 카테고리 페이지에 시리즈 배너와 설명 박스 추가하기
- 04 Mar Jekyll OpenGraph URL 미리보기 카드 구현 및 TOC 충돌 해결
- 03 Mar Chirpy 목차(TOC) 항상 펼침 상태로 고정하기
- 02 Mar Chirpy 테마 핵심 환경 설정하기 (_config.yml)
- 01 Mar Chirpy 테마로 GitHub Pages 블로그 시작하기
- 02 Sep 무료 더미 이미지 및 프로필 아바타 생성 API 모음
- 01 Sep 도메인 주도 개발 시작하기 후기
- 09 Aug 프리온보딩 BE 챌린지 8월 사전 과제 - CICD 파이프라인 구축
- 08 Aug 프리온보딩 BE 챌린지 8월 사전 과제 - API 통합 테스트
- 07 Aug 프리온보딩 BE 챌린지 8월 사전 과제 - 단위 테스트
- 06 Aug 프리온보딩 BE 챌린지 8월 사전 과제 - 알림 기능 (Spring Event)
- 05 Aug 프리온보딩 BE 챌린지 8월 사전 과제 - 게시글 조회수 기능
- 04 Aug 프리온보딩 BE 챌린지 8월 사전 과제 - 댓글 API
- 04 Aug 프리온보딩 BE 챌린지 8월 사전 과제 - 게시글 CRUD API
- 03 Aug 프리온보딩 BE 챌린지 8월 사전 과제 - 이미지 업로드 기능
- 03 Aug 프리온보딩 BE 챌린지 8월 사전 과제 - 스프링 시큐리티 설정
- 02 Aug 프리온보딩 BE 챌린지 8월 사전 과제 - 회원 API
- 01 Aug 프리온보딩 BE 챌린지 8월 사전 과제 - 게시글 프로젝트 요구사항 분석
- 18 Jun Dokka를 활용한 코드 문서화 (with 배포)
- 17 Jun Swing에 Retrofit2 적용하기
- 16 Jun SLF4J 로깅 라이브러리 추가
- 15 Jun Swing 프로젝트 리팩토링 계획