스프링 부트에서 동적 데이터소스 라우팅 구현
다중 데이터소스 환경 구성 및 동적 전환 기술
스프링 부트 프로젝트에서 여러 데이터베이스 연결을 관리하고 실행 시점에 적절한 데이터소스를 선택하려면, 정적 구성만으로는 제한적이므로 동적 라우팅 메커니즘이 필요합니다. 본 문서에서는 AbstractRoutingDataSource를 기반으로 한 유연한 다중 데이터소스 전환 방식을 설명합니다.
별도 데이터소스 설정 클래스 작 ...
7월 11일 05:45에 게시됨
Spring Boot, Vue.js, UniApp을 활용한 대학생 온라인 사진 플랫폼 구축
핵심 기술 소개
이 온라인 사진 플랫폼은 Spring Boot, Vue.js, MyBatis를 포함한 최신 기술 스택을 기반으로 구축되었습니다. 각 기술은 시스템의 특정 측면을 담당하며, 효율적이고 확장 가능한 아키텍처를 제공합니다.
백엔드 프레임워크: Spring Boot
Spring Boot는 개발자가 독립적으로 실행 가능하며 프로덕션 수준의 표준을 충족하는 Spring 기반 애플리케이션을 ...
7월 9일 23:20에 게시됨
Vue3와 Spring Boot 기반 실시간 알림 시스템 구축
HTTP 프로토콜의 요청-응답 방식은 클라이언트가 서버에 주기적으로 데이터를 요청해야 하는 폴링(Polling) 방식에 의존합니다. 예를 들어 실시간 주식 시세를 확인하려면 브라우저가 1~2초마다 서버에 HTTP 요청을 보내야 하며, 이는 불필요한 네트워크 부하와 지연 시간을 초래합니다.
WebSocket은 이러한 한계를 극복하는 전이중(Full-Duplex) 통신 프로토콜입니다. 한 ...
7월 8일 02:51에 게시됨
Spring Boot에서 자주 사용하는 애노테이션 가이드
Spring Boot에서 자주 사용하는 애노테이션은 크게 세 가지 유형으로 나눌 수 있습니다: 컨테이너에 빈을 등록하는 애노테이션, 컨테이너에서 빈을 주입받는 애노테이션, 그리고 기능을 제공하는 애노테이션입니다. 전자는 제어의 역전(IoC), 후자는 의존성 주입(DI)의 개념과 연결됩니다.
컨테이너에 빈 등록 애노테이션
이 유형의 애노테이션은 클래스나 메서드가 생성 ...
7월 7일 19:04에 게시됨
스프링 부트: 핵심 개념부터 실전 활용까지
스프링 부트는 자바 기반의 현대적인 애플리케이션 개발을 위한 강력한 프레임워크입니다. 기존 스프링 프레임워크의 복잡성을 줄이고, 빠르고 손쉬운 개발 경험을 제공하는 데 중점을 둡니다. '설정보다 관례' 원칙과 풍부한 자동 구성을 통해, 개발자가 비즈니스 로직에 집중할 수 있도록 돕습니다. 특히 마이크로서비스 아키텍처 구축에 필수적인 기술로 자리매김했습니 ...
7월 7일 03:47에 게시됨
HTB Eureka 타겟 머신 공격 분석
초기 진입: 포트 스캔 및 서비스 식별
타겟 시스템의 접근을 시작하기 위해 nmap을 사용하여 열린 포트를 스캔했습니다.
nmap -sV -sC 10.10.11.66
결과로 22번 포트(SSH)와 80번 포트(HTTP)가 열려 있는 것으로 확인되었습니다. 웹 서버는 nginx 1.18.0이며, 리다이렉션된 주소인 furni.htb로 접속할 수 있었습니다.
웹 경로 탐색 및 정보 유출
dirsearch를 이용해 디렉 ...
7월 7일 01:58에 게시됨
로그인 사용자 강제 로그아웃 기능 구현 가이드
개요: 사용자 강제 로그아웃 구현 전략
사용자 강제 로그아웃 기능의 핵심은 현재 사용자가 보유한 로그인 자격 증명(credential)의 유효성을 즉시 상실시키고, 클라이언트가 이를 인지하여 능동적으로 로그아웃 처리를 하도록 유도하는 것입니다. 이 과정을 위한 기본 원칙은 다음과 같습니다.
사용자의 활성 로그인 토큰 또는 세션 목록을 서버에서 체계적으로 관리 ...
7월 6일 22:15에 게시됨
Vue와 Spring Boot에서의 JavaScript 교차 출처 문제 해결
환경 구성
소프트웨어버전
JDK8
Spring Boot2.1.8.RELEASE
Vue CLI4.3.1
문제 개요
Vue와 Element UI로 개발한 프론트엔드가 Spring Boot 백엔드와 통신 시 다음 오류 발생:
no 'access-control-allow-origin' header is present on the requested resource
이는 브라우저의 동일 출처 정책(Same-Origin Policy)에 기인한 교차 출처 문제입니다.
핵심 개념
동 ...
7월 6일 20:26에 게시됨
대규모 모델 추론을 위한 동적 라우팅 웹 게이트웨이 구축
핵심 목표: 성능과 안정성의 균형
본 프로젝트는 대규모 언어 모델의 추론 요청을 처리하는 HTTP 기반 게이트웨이를 2시간 내에 설계 및 구현하는 것을 목표로 했습니다. 핵심 과제는 KV 캐시 재사용률 증가와 단일 서버 과부하 방지 사이의 동적 균형을 유지하는 것입니다.
요청의 접두사(예: "질문: ")가 동일할 경우, 같은 백엔드 인스턴스로 라우팅하면 이전 계산 결 ...
7월 6일 02:02에 게시됨
Activiti7을 활용한 첫 번째 워크플로우 구축
1. 의존성 추가
Activiti7 통합을 위한 Spring Boot Starter 의존성 설정:
<dependency>
<groupId>org.activiti</groupId>
<artifactId>activiti-spring-boot-starter</artifactId>
<version>7.1.0.M4</version>
</dependency>
<dependency>
<groupId>org.activiti.dependencies</groupId ...
7월 5일 17:54에 게시됨