스프링부트와 Vue 기반 문화예술 행사 디지털 홍보 시스템 구현
시스템 개요 및 필요성
현대 사회는 문화 다양성과 예술 접근성에 대한 수요가 급증하고 있다. 글로벌화 속도가 빨라짐에 따라 예술 행사 수가 급격히 증가했지만, 전통적인 홍보 방식인 포스터, 배너, 오프라인 광고 등은 타겟 대상에게 정확하게 도달하기 어렵고, 정보 과잉 상황에서 사용자 관심을 확보하는 데 한계가 있다. 이에 따라 행사 운영자는 높은 홍보 비용, ...
6월 2일 19:11에 게시됨
스프링 부트 분리형 아키텍처 개발을 위한 실용적인 팁
본 문서는 스프링 부트(Spring Boot) 기반의 백엔드와 프론트엔드가 분리된 시스템 개발 시 유용하게 활용될 수 있는 팁들을 다룹니다.
백엔드 개발 팁
서버 포트 변경
백엔드 애플리케이션의 포트는 주로 application.properties 또는 application.yml 파일 내에서 설정할 수 있습니다. 예를 들어, application.yml 파일에서는 다음과 같이 변경합니다.
...
6월 2일 18:19에 게시됨
STS 3.9.0 오프라인 설치 패키지 활용 가이드
Spring Tool Suite(STS)는 Eclipse 기반의 통합 개발 환경으로, Spring 생태계에서의 개발 생산성을 극대화하도록 설계되었다. 본 문서에서는 네트워크가 제한된 환경에서도 안정적으로 설치할 수 있는 STS 3.9.0 오프라인 업데이트 사이트 패키지를 중심으로, 실무 적용에 필요한 핵심 기술과 운영 노하우를 다룬다.
Spring 핵심 메커니즘 이해
Spring 프레임워크는 제 ...
6월 1일 18:29에 게시됨
Redis를 활용한 결제 후 자동 수취 기능 구현
결제 완료 후 일정 시간이 지나면 자동으로 수취 처리되는 기능은 전자상거래 시스템에서 흔히 요구되는 요구사항 중 하나입니다. Redis의 만료 기능과 Spring의 스케줄링을 조합하면 비교적 간단하게 이를 구현할 수 있습니다.
1. 프로젝트 의존성 설정
Spring Boot 기반의 애플리케이션에서 Redis를 사용하기 위해선 먼저 필요한 라이브러리를 포함해야 합니다. Maven ...
5월 31일 15:05에 게시됨
Spring Boot와 MyBatis로 기본 CRUD API 구현하기
이번 글에서는 Spring Boot와 MyBatis를 이용해 기본적인 데이터 CRUD 기능을 제공하는 REST API를 구현하는 방법을 정리한다. MySQL 데이터베이스에 user 테이블을 생성하고, MyBatis의 XML 매퍼와 어노테이션을 혼용하여 간단한 사용자 관리 API를 만든다.
1. 데이터베이스 테이블 준비
다음과 같은 user 테이블을 MySQL에 생성한다.
CREATE TABLE user (
id INT AU ...
5월 30일 21:16에 게시됨
Spring Boot와 gRPC를 활용한 마이크로서비스 고성능 통신 구현
gRPC 개요
gRPC는 HTTP/2와 Protocol Buffers를 기반으로 한 고성능 RPC 프레임워크로, 양방향 스트리밍과 다중 언어 코드 생성을 지원합니다. REST JSON 대비 3-5배 작은 직렬화 크기와 30% 이상의 지연 시간 감소로 마이크로서비스 통신에 적합합니다.
프로젝트 구조
grpc-example/
├── grpc-api/ # Proto 정의 + 생성 코드
│ └── src/main/proto/
│ ...
5월 30일 12:23에 게시됨
Java와 Spring Boot, MySQL을 활용한 학생 정보 관리 시스템 구현
학생 정보 관리 시스템은 Java, Spring Boot 및 MySQL을 기반으로 설계되었습니다. 이 시스템은 효율적인 학생 데이터 관리를 위해 개발되었으며, 다양한 기능을 제공합니다.
기술 스택
언어: Java
프레임워크: Spring Boot
프론트엔드: JavaScript, Vue.js, CSS3
개발 도구: IntelliJ IDEA / Eclipse
데이터베이스: MySQL 5.7 / 8.0
JDK 버전: JDK 1.8
Maven: apache-m ...
5월 29일 22:09에 게시됨
스프링 부트에서 전역 시간 형식화를 위한 3가지 방법
@JsonFormat 어노테이션
개별 필드에 적용되는 방식으로, 전역 설정이 아닌 특정 엔티티의 시간 필드만 포맷팅합니다. DTO 클래스의 필드에 직접 어노테이션을 선언하여 사용합니다.
@Data
public class PaymentRecord {
@JsonFormat(locale = "ko", timezone = "Asia/Seoul", pattern = "yyyy-MM-dd")
private LocalDateTime paymentDate;
@JsonFormat(loca ...
5월 29일 08:52에 게시됨
SpringBoot 비동기 처리와 세마포어를 활용한 동시성 제어
세마포어(Semaphore)는 다중 스레드 환경에서 공유 자원에 대한 동시 접근을 제어하는 동기화 메커니즘입니다. 허용된 개수만큼의 스레드만 자원에 접근할 수 있도록 관리하며, 초과하는 요청은 대기 상태로 전환됩니다.
실무에서는 외부 API 호출, 데이터베이스 연결, 파일 I/O 등 리소스 집약적인 작업에 동시 접근 제한을 적용하여 시스템 안정성을 확보합니다. 예를 ...
5월 29일 08:32에 게시됨
Spring Boot에서 GET 및 POST 요청 파라미터 수신 방법 완벽 정리
GET 요청 파라미터 처리 방식
1. 단일 파라미터 직접 바인딩
파라미터가 소수일 경우, 메서드 인수로 직접 받는 것이 간편하다. 이때 요청 쿼리 파라미터 이름과 메서드 매개변수 이름이 일치해야 한다.
@RestController
@RequestMapping("/user")
@Slf4j
public class UserController {
@GetMapping("/search")
public void findUser(String username, Integer ...
5월 27일 17:10에 게시됨