Neo4j 그래프 데이터베이스 및 Cypher 쿼리 언어 학습 및 활용
Neo4j는 Java 기반의 그래프 데이터베이스이며, 실행을 위해서는 JVM 프로세스를 시작해야 하므로 Java SE JDK가 설치되어 있어야 합니다.
Linux 환경 Neo4j 다운로드: https://neo4j.com/download/other-releases/#releases (커뮤니티 에디션은 무료)
압축 해제 후 Neo4j 설정 파일(neo4j.conf)을 수정합니다.
dbms.directories.import: load csv 시 파일 경로를 임의의 ...
8월 1일 06:07에 게시됨
Redisson 분산 락을 이용한 SMS 중복 발송 제한 구현
개요
사용자가 인증 번호 요청 버튼을 여러 번 클릭하거나 악의적인 요청을 보낼 때, 동일한 번호로 짧은 시간 내에 여러 건의 SMS가 발송되는 것을 방지해야 합니다. 이를 위해 Redis 기반의 Redisson 분산 락을 활용하여 1분간 발송을 제한하는 로직을 구성합니다.
의존성 설정
프로젝트의 pom.xml에 분산 락을 위한 Redisson과 알리운(Aliyun) SMS API 라이브러리를 추 ...
7월 31일 18:59에 게시됨
WebSocket 실시간 통신 서비스 구축: 프론트엔드와 백엔드 분리 버전
백엔드 구성
의존성 추가
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-websocket</artifactId>
</dependency>
WebSocket 설정 클래스
package com.example.websocket.config;
import org.springframework.context.annotation.Bean;
import org.springframework.context.ann ...
7월 31일 05:36에 게시됨
Vue 3와 Spring Boot 간의 원활한 데이터 연동
현대 웹 개발에서 프론트엔드와 백엔드 분리 아키텍처는 보편적인 표준이 되었습니다. 본 문서에서는 Vue 3 프론트엔드와 Spring Boot 백엔드 간의 효율적이고 안전한 데이터 통신 방안을 상세히 다룹니다.
1. 기술 스택
프론트엔드: Vue 3 (반응형 UI), Axios (HTTP 클라이언트)
백엔드: Spring Boot 3.x (Java 엔터프라이즈 프레임워크)
데이터 액세스: JP ...
7월 30일 14:08에 게시됨
Vue.js와 Spring Boot를 활용한 대용량 파일 분할 업로드
대용량 파일을 웹 애플리케이션에 업로드하는 과정은 네트워크 불안정성, 서버 메모리 제한, 시간 초과 등 여러 문제로 인해 어려움을 겪을 수 있습니다. 이러한 문제를 해결하기 위한 일반적인 방법 중 하나는 파일을 여러 개의 작은 조각(청크)으로 나누어 업로드하고, 서버에서 이 조각들을 다시 병합하는 '분할 업로드(Chunked Upload)' 방식입니다. 이 문서는 Vue.js ...
7월 28일 14:33에 게시됨
MyBatis에서 @Table 및 @Column 어노테이션 기반 자동 ResultMap 생성 구현
MyBatis를 사용할 때 반복적인 XML 설정, 특히 데이터베이스 컬럼과 엔티티 속성 간의 매핑을 정의하는 ResultMap 작성이 번거롭게 느껴질 수 있습니다. 이러한 문제를 해결하기 위해, @Table 및 @Column 어노테이션 정보를 기반으로 MyBatis의 ResultMap을 자동으로 생성하는 방법을 소개합니다.
핵심 구현 아이디어
애플리케이션 내 모든 클래스 스캔
@Table 어노테이 ...
7월 28일 11:57에 게시됨
Apache RocketMQ Spring Boot Starter를 활용한 메시지 송수신 설정 가이드
이 문서에서는 Spring Boot 애플리케이션에서 Apache RocketMQ를 사용하여 간단한 메시지 생산자(Producer)와 소비자(Consumer)를 설정하는 방법을 단계별로 설명합니다. RocketMQ Spring Boot Starter를 활용하여 프로젝트를 구성합니다.
1. Maven 의존성 추가
먼저 pom.xml에 RocketMQ Spring Boot Starter 의존성을 추가합니다. 이를 통해 자동 설정과 편리한 API를 사 ...
7월 28일 04:47에 게시됨
Spring Boot 기반의 Spring MVC 인터셉터 구현
인터셉터 개요
웹 애플리케이션 개발에서 클라이언트 요청을 필터링하는 두 가지 주요 메커니즘인 Filter(필터)와 HandlerInterceptor(인터셉터)가 존재합니다. 이 두 기술은 요청 처리 과정에서 유사한 역할을 하지만 구현 방식과 적용 범위에 차이가 있습니다.
필터는 서버 측 컴포넌트로, 요청과 응답 데이터를 가로채서 필터링하는 기능을 수행합니다. 반면 Spring M ...
7월 26일 13:15에 게시됨
Swagger를 활용한 REST API 문서 자동화
개요
Swagger는 RESTful 웹 서비스의 설계, 생성, 호출 및 시각화를 지원하는 표준 프레임워크입니다.
이 도구를 통해 서버 코드와 문서가 동기화되며, 클라이언트 측에서도 최신 상태의 API 정보를 실시간으로 접근할 수 있습니다.
특히 개발 중에는 빠른 테스트와 문서 확인이 가능하고, 생산 환경에서는 비활성화하여 보안을 강화할 수 있습니다.
Spring Boot와 Swa ...
7월 26일 00:03에 게시됨
Spring Boot Redis 통합 가이드: 설정, 직렬화 및 활용
1. 개요
1.1 Spring Data Redis
Spring Boot에서 데이터 작업은 Spring Data를 통해 처리됩니다. Spring Data는 Redis, MongoDB, JPA 등 다양한 데이터 소스와의 통합을 지원하며, Spring Data Redis는 Redis와의 연동을 담당합니다.
1.2 Lettuce vs Jedis
Spring Boot 2.x 버전부터 기존의 Jedis가 Lettuce로 대체되었습니다.
Jedis: 직접 연결 방식을 사용하며, 멀티 ...
7월 24일 20:19에 게시됨