Spring JPA와 Flyway를 이용한 DB 마이그레이션 관리
Flyway란?Flyway는 데이터베이스 스키마 버전 관리 도구입니다. 애플리케이션 코드와 마찬가지로 DB 스키마 변경 이력(마이그레이션)을 버전으로 관리할 수 있게 해줍니다. Spring Boot + JPA 환경에서 Flyway를 사용하면 다음과 같은 이점을 얻을 수 있습니다. 팀 협업 시 DB 스키마 변경 이력을 코드로 공유 배포 환경(dev
Flyway란?Flyway는 데이터베이스 스키마 버전 관리 도구입니다. 애플리케이션 코드와 마찬가지로 DB 스키마 변경 이력(마이그레이션)을 버전으로 관리할 수 있게 해줍니다. Spring Boot + JPA 환경에서 Flyway를 사용하면 다음과 같은 이점을 얻을 수 있습니다. 팀 협업 시 DB 스키마 변경 이력을 코드로 공유 배포 환경(dev
스프링부트에서 Ollama 사용하기스프링부트 애플리케이션에서 Ollama를 통합하여 로컬 LLM을 사용하는 방법을 안내합니다. 1. Ollama 서버 준비먼저 Ollama를 설치하고 모델을 준비합니다. # Ollama 설치 (macOS/Linux)curl -fsSL https://ollama.com/install.sh | sh# 모델 다운로드ollama
참고 - IF(kakao) 2022 https://www.youtube.com/watch?v=CQi3SS2YspY 🤔 Warm Up이 필요한 주요 이유Spring Boot 와 같은 JAVA 애플리케이션을 최초 실행하거나 재배포할 때, 첫 번째 요청이 다른 요청들에 비해 현저히 느린 현상을 경험한 적이 있을 것입니다. 이러한 현상을 Cold Start 문
QueryDSL Transform 사용 시 HikariCP Connection Leak 문제QueryDSL의 transform() 메서드는 쿼리 결과를 그룹화하고 Map으로 변환할 때 매우 유용한 기능입니다. 하지만 부적절하게 사용할 경우 심각한 데이터베이스 커넥션 누수(Connection Leak)를 발생시킬 수 있습니다. 문제 상황운영 중인 서비스에서
리소스 동기화 - TransactionSynchronizationManager트랜잭션을 유지하기 위해서는 트랜잭션 시작부터 끝까지 같은 데이터 베이스 Connection 을 유지해야 합니다. 스프링에서는 트랜잭션 동기화를 위해 트랜잭션 동기화 매니저를 제공합니다. 트랜잭션 매니저는 DataSource 를 통해 데이터 베이스 Connection 을 생성하
스프링부트 민감정보 암호화 하기운영 중인 프로그램에서 DB 암호나 API 키와 같은 민감 정보를 설정 파일에 평문으로 저장할 경우, 프로그램이 유출되면 그대로 외부에 노출되는 심각한 보안 문제가 발생할 수 있습니다. 이를 방지하기 위해 프로퍼티 암호화를 적용하면, 설정값이 유출되더라도 평문이 아닌 암호화된 형태로만 노출되므로 보안성을 크게 강화할 수 있습
참고 GitHub Packages - Gradle 레지스트리 작업 🧑💻 무료로 Artifact 저장소를 사용하고 싶다!회사가 아닌 개인 프로젝트를 할때, 라이브러리를 개발해서 다른 프로젝트에서 사용하고 싶은 경우, 라이브러리 저장을 위한 Nexus 저장소를 별도로 구축하기가 쉽지 않습니다. 지속적이고 무료로 패키지 저장이 가능한 서비스로 JitPa
참고 Spring interceptor에서 Response 수정하기 “HttpServletResponse is committed” mean? 📝 후처리에서 메뉴 데이터를 Response 객체에 데이터를 넣어주세요개발 요구사항 중 페이지 접근시 전처리에서 접근 권한을 확인하고 후처리로 Response 객체에 사용자가 접근할 수 있는 메뉴를 같이 내려달라
목차 Post not found: spring-boot/spring-framework/springboot-actuator Post not found: spring-boot/spring-framework/springboot-messageresource Post not found: spring-boot/spring-framework/configuration/
목차 [Spring] - M1 맥북에서 Embeded Redis 사용하기 [Spring] - Embeded Redis 사용하기 참고 https://github.com/ozimov/embedded-redis https://github.com/redis/redis-hashes 🚫 M1 Mac 에서 Embedded Redis 사용시 에러M1 맥북에서 Em
목차 [Spring Core] - 의존성 주입 방식 [Spring Core] - 컴포넌트 스캔과 의존성 주입 [Spring Core] - BeanDefinition [Spring Core] - 스프링 빈 [Spring Core] - 스프링 컨테이너 생성과 Bean 등록, 의존성 주입 [Spring Core] - 스프링 컨테이너 컴포넌트 스캔과 의존성 주
목차 [Spring Core] - 의존성 주입 방식 [Spring Core] - 컴포넌트 스캔과 의존성 주입 [Spring Core] - BeanDefinition [Spring Core] - 스프링 빈 [Spring Core] - 스프링 컨테이너 생성과 Bean 등록, 의존성 주입 [Spring Core] - 스프링 컨테이너 🔎 의존성 주입 (Dep
목차 [Spring Security] - SecurityContextRepository [Spring Security] - SecurityContextPersistenceFilter 와 SecurityContextHolderFilter 🔎 SecurityContextRepository SecurityContextRepository 는 Security
목차 [Spring Security] - SecurityContextRepository [Spring Security] - SecurityContextPersistenceFilter 와 SecurityContextHolderFilter 기존에 인증을 하고 SecurityContext 를 생성하면 로그인 Session 이 유지가 됐는데, 새 프로젝트를 개
목차 [Spring Cloud] - Eureka 에 서비스 등록하기 [Spring Cloud] - Eureka (Service Discovery Server) 사용하기 참고 https://cloud.spring.io/spring-cloud-netflix/reference/html/ https://coe.gitbook.io/guide/service-disc