'프로그래밍/Java' 카테고리의 글 목록
ProgramminGucci
프로그래밍/Java
📌 [Java] Virtual Thread vs 일반 Thread – 직접 비교해봤습니다
2025.04.16
1️⃣ 테스트 목적JDK 21부터 정식 지원된 Virtual Thread는 수십만 개의 경량 스레드를 처리할 수 있는 새로운 동시성 모델입니다.그렇다면 실제로 일반 Thread와 비교했을 때 성능 차이는 얼마나 날까요?단순하지만 직접 실험해봤습니다.테스트 목적:10,000개의 스레드를 각각 일반 Thread와 Virtual Thread로 생성하고, 전체 실행 시간을 비교합니다.2️⃣ 테스트 시나리오각각 10,000개의 Thread를 생성해서 간단한 출력 작업 수행일반 Thread vs Virtual Thread의 전체 실행 시간 비교환경: windows 10, Java 213️⃣ 전체 테스트 코드 (Java 21 이상)import java.time.Duration;import java.time.Insta..
프로그래밍/Java
📌 [Java] 요즘 핫한 Virtual Thread를 알아보자 ☕
2025.04.16
1️⃣ 기술 소개Java 21에서 정식 지원된 Virtual Thread는 기존 Java Thread의 한계를 해결하기 위해 등장한 경량 스레드입니다.OS 스레드와 1:1로 매핑되는 Platform Thread와 달리, JVM이 직접 스케줄링하기 때문에 수십만 개도 만들 수 있는 새로운 스레드 모델입니다.2️⃣ 기존 Thread의 한계항목Platform ThreadVirtual Thread생성 비용높음 (MB 단위 스택)낮음 (KB 단위)수십만 개 생성❌ 어려움✅ 가능Blocking I/O리소스 낭비 큼리소스 효율적코드 복잡도비동기 필요 (Callback hell)동기 코드 유지 가능도입 버전Java 1.0~Java 21 (Stable)3️⃣ 간단한 코드 예제Runnable task = () -> { ..
프로그래밍/Java
📌 [Spring Security] Spring Boot + JWT 인증 시스템 구현 가이드
2025.03.27
프로젝트를 하다 보면 인증과 권한 관리가 꼭 필요합니다. 특히 REST API 기반 서비스에서는 세션 기반 인증보다 **JWT(JSON Web Token)**을 사용하는 방식이 더 많이 쓰입니다. 저도 Spring Boot 최신 버전으로 프로젝트를 구성하며, JWT 기반 인증 시스템을 직접 구현했고, Spring Security + JWT 인증 흐름을 이해하기 쉽게 그 과정을 정리해보았습니다.📁 1️⃣ 프로젝트 패키지 구조com.example.health├── config // 시큐리티 및 JWT 필터 설정├── controller // 로그인, 회원가입 등의 API 컨트롤러├── dto // 요청/응답용 DTO├── entit..
프로그래밍/Java
📌 [Java & React] Spring AI + Ollama + Redis를 활용한 미니 챗봇 개발 - 3탄 : 대화 기록 저장 및 Redis 캐싱
2025.03.13
안녕하세요! 이번 글에서는 DB 저장 및 Redis 캐싱을 활용한 대화 기록 관리를 다루고 프로젝트를 마무리하는 내용을 포함하겠습니다.📝 이번 글에서 다룰 내용✅ 채팅 메시지 DB 저장 (MariaDB)✅ Redis를 활용한 대화 기록 캐싱✅ API 구현 (대화 저장 및 불러오기)✅ 프로젝트 마무리 및 정리1️⃣ 채팅 메시지를 DB에 저장하기챗봇이 사용자와 대화한 내용을 저장해야 대화 기록을 유지할 수 있습니다.이번 프로젝트에서는 MariaDB를 사용하여 메시지를 저장하도록 하겠습니다.📌 1. ChatMessage 엔티티먼저, 대화 기록을 저장할 ChatMessage 클래스를 생성합니다.@Data@Builder@Document(collection = "chat_messages") // ✅ MongoD..

프로그래밍/Java
📌 [Java & React] Spring AI + Ollama + Redis를 활용한 미니 챗봇 개발 - 2탄 : React로 챗봇 UI 구현하기
2025.03.12
🎯 React를 활용하여 ChatGPT 스타일의 미니 챗봇 UI 만들기🧐 2탄: React로 챗봇 UI 구현하기이전 글에서 Spring Boot + WebFlux + Ollama API를 활용하여 백엔드를 구축했습니다.이번에는 React를 활용하여 프론트엔드(UI)를 만들고 백엔드와 연결하는 과정을 진행하겠습니다.📌 이번 글에서 다룰 내용✅ React 프로젝트 생성 및 기본 환경 설정✅ 로그인 화면 (닉네임 입력)✅ 카카오톡 스타일의 채팅방 UI✅ Ollama API와 연결하여 실제 대화 구현1️⃣ React 프로젝트 환경 설정📌 1. React 프로젝트 생성터미널에서 아래 명령어를 실행하여 React 프로젝트를 생성합니다.npx create-react-app mini-chatbot-frontcd..