SpringBoot와 Vue.js 기반의 고전 명작 독서 플랫폼 설계 및 구현
시스템 아키텍처 및 주요 기술 스택
본 프로젝트는 현대적인 웹 개발 표준을 따르기 위해 백엔드는 SpringBoot, 프론트엔드는 Vue.js 아키텍처를 채택하였습니다. 이를 통해 개발 효율성을 높이고 유지보수가 용이한 구조를 설계했습니다.
1. 백엔드 프레임워크: SpringBoot
SpringBoot는 Tomcat, Jetty와 같은 내장 서버를 포함하고 있어 별도의 WAS 설정 없이 독립적인 ...
8월 10일 03:47에 게시됨
Minio, Redis 및 Spring Boot 백엔드 핵심 기술 통합 가이드
Minio 객체 스토리지
핵심 개념 및 클라이언트 사용
객체 (Object): 실제 저장되는 데이터 단위 (예: 업로드된 이미지 파일)
버킷 (Bucket): 객체를 논리적으로 그룹화하는 컨테이너로, 파일 시스템의 폴더와 유사한 역할을 함
엔드포인트 (Endpoint): Minio 서버에 접근하기 위한 네트워크 주소 (예: http://192.168.10.101:9000). 참고로 9000 포트는 API 기본 포트이며 ...
8월 6일 02:49에 게시됨
SpringBoot, MyBatis-Plus, UniApp 기반 무인 바둑/카드방 관리 시스템 아키텍처 및 구현
무인 바둑/카드방 관리 시스템 개요 및 기술 과제
최근 무인 운영 방식의 바둑/카드방은 자동화된 예약, 원격 출입 통제, 정산 시스템을 통해 운영 효율성을 높이고 사용자 편의를 제공하는 새로운 형태의 오프라인 엔터테인먼트로 자리 잡고 있습니다. 이러한 시스템을 안정적이고 효율적으로 구축하기 위해서는 몇 가지 기술적 도전 과제를 해결해야 합니다.
기기 ...
7월 23일 16:39에 게시됨
SpringBoot + Vue 기반 유료 스터디카페 관리 시스템 설계 및 구현
시스템 아키텍처 개요
본 프로젝트는 유료 자습실 운영을 위한 통합 관리 솔루션으로, 백엔드는 SpringBoot를, 프론트엔드는 Vue.js와 Uniapp을 활용하여 개발되었다. 전반적인 시스템은 모던 웹 아키텍처 기반의 분산 구조로 설계되어 유지보수성과 확장성을 극대화하였다.
기술 스택 구성
백엔드: SpringBoot 기반 서비스 계층
SpringBoot는 내장형 서블릿 컨테이너(Tom ...
7월 20일 18:13에 게시됨
MyBatis-Plus 열거형(Enum) 매핑 메커니즘 분석 및 최적의 활용법
MyBatis-Plus의 열거형 처리 개요
MyBatis를 사용할 때 가장 번거로운 작업 중 하나는 Java의 열거형(Enum)과 데이터베이스의 컬럼 값을 매핑하는 것입니다. 기본적으로 MyBatis는 열거형의 이름(String)이나 순서(Ordinal)를 저장하지만, 실제 비즈니스 환경에서는 특정 코드값(예: 1, 10, 20)을 저장해야 하는 경우가 많습니다. MyBatis-Plus는 MybatisEnumTypeHandler를 ...
7월 20일 04:00에 게시됨
Spring Boot 기반 대학원생 연구 조사 관리 플랫폼 구축
기술 스택
백엔드: Java 8, Spring Boot 2.x, MyBatis-Plus
프론트엔드: Vue.js 2.x, Element UI, Axios
데이터베이스: MySQL 8.0
빌드 도구: Maven 3.8+
개발 환경: IntelliJ IDEA, Node.js 14+
시스템 아키텍처
본 시스템은 대학원생의 연구 주제 선정, 진행 상황 추적, 결과 보고를 계적으로 관리하는 웹 기반 플랫폼이다. RESTful API 설계를 적용하여 프론트엔드와 ...
7월 19일 06:01에 게시됨
SpringBoot + Vue + uni-app 기반 홈케어 시스템 상세 설계 및 구현 (소스 코드 + 배포 문서 + 설명 포함)
본 시스템은 SpringBoot, Vue, uni-app을 핵심 기술 스택으로 하여 홈케어 플랫폼을 구축합니다. 관리자, 케어사, 노인 사용자 등 다양한 역할에 맞춰 서로 다른 기능과 인터페이스를 제공합니다. 백엔드는 SpringBoot의 강력한 생태계를 활용하여 안정적인 API와 데이터 관리를 보장하고, 프런트엔드는 Vue의 반응형 데이터 바인딩과 컴포넌트 기반 개발 방식을 채택하여 ...
7월 17일 06:25에 게시됨
스pringboot 파일 업로드
스pringboot 파일 업로드
데이터베이스 테이블 생성
DROP TABLE IF EXISTS `file`;
CREATE TABLE `file` (
`id` int(0) NOT NULL,
`filename` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '파일명',
`path` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '파일 경로',
...
7월 15일 22:37에 게시됨
MyBatis-Plus TypeHandler 이해와 활용
MyBatis-Plus의 TypeHandler는 Java 타입과 JDBC 타입 간 변환을 담당하는 핵심 컴포넌트로, 데이터베이스 컬럼 타입과 Java 객체 속성 타입 불일치 문제를 해결하며 JSON, 열거형, 사용자 정의 객체 등 복합 타입 처리에 필수적입니다.
TypeHandler의 핵심 기능
타입 변환 브리징
SQL 실행 시 Java 객체 값을 PreparedStatement에 설정하거나, ResultSet/CallableStateme ...
7월 1일 18:02에 게시됨
【黑马点评-3초 특가 쿠폰】3. 비관적 락 synchronized로 한 사람 한 번 구매 보장 및 단일 서버 초과 주문 초기 로직
한 사람 한 번 구매 제약 조건 해결 방법
비관적 락 사용 이유
기존의 낙관적 락 방식은 데이터 변경 여부를 확인해야 하며, 현재는 존재 여부만 판단하는 상황이라 CAS 기법을 활용하기 어렵다. 버전 번호를 사용할 수도 있지만, 추가 필드가 필요하다. 따라서 간단한 구현을 위해 비관적 락을 적용한다.
비관적 락 적용 절차
MyBatis-Plus로 시작/종료 시간 검증
...
6월 26일 16:47에 게시됨