본문 바로가기

Spring/DB7

Ehcache 2 -> Ehcache 3 마이그레이션 이전에 Ehcache2 로 적용해보았는데, 3으로 마이그레이션 해보았다. 이유는 버전 3이 적극적으로 유지 관리되고 개발된 버전이며, 유형이 안전하고 JSR107과 호환된다고 한다. (JSR107 : Java 캐싱 API https://github.com/jsr107/jsr107spec ) https://stackoverflow.com/questions/47163873/difference-relationship-between-ehcache-v2-and-ehcache-v3 Difference / Relationship between EhCache v2 and EhCache v3 Recently I am doing some research about the performance of java local ca.. 2023. 1. 23.
RDS timezone Asia/Seoul 로 변경하기 Spring boot 와 RDS 를 연결한 후, 데이터를 입력했을 때 시스템 시간을 Asia/Seoul 로 변경하는 법을 알아본다. 설정하지 않으면 기본 디폴트값인 UTC 로 저장되어 보기가 어렵다 ( 아시아/서울 -9h 으로 지정되어있다 ) RDS 에서 파라미터 그룹을 생성해준다. 현재 사진상에 있는 timezone 을 만들어주는 과정이다. default 가 붙어있는 파라미터는 설정이 변경되지 않아 따로 만들어서 변경해주어야 한다. 유형은 DB 파라미터 그룹으로 한다. 그룹이름은 사용자가 원하는데로 작성한다. 생성된 timezone 을 누르고 설정을 변경해준다. 파라미터가 워낙많으니 time_zone 으로 검색하여 Asia/Seoul 로 변경한 후 변경 사항 저장을 한다. 변경이 완료되었으면 이제 사용.. 2023. 1. 19.
AWS Secrets Manager 설정하고 Spring boot 연동하기 프로젝트를 배포하려는 중 .ignore 한 파일에 대한 환경변수를 어떻게 처리해야할지 고민이 많았다. DB 접속정보도 중요하고, AWS S3 에 대한 access-key , secret-key 등 중요한 정보가 많았다. 개인프로젝트 배포를 Docker 와 ec2, github action 을 이용해서 했는데, 여러 블로그를 보니 properties 파일을 따로 만드는 코드를 작성해서 환경변수를 넣어주는 것 같았다. 이러한 중요한 정보를 키/값 으로 지원해주는 솔루션을 제공해주는 여러가지 방법이 있었다.키교체, 교차 계정 액세스 등 아직은 사용하지않지만.. 현업에서 더욱 많이 사용할 거라 생각해 선택했다.https://rainbound.tistory.com/entry/AWS-Parameter-Store-%.. 2023. 1. 19.
RDS MYSQL 연결 시 Connection time out 해결하기 RDS 연결을 하려고 여러 블로그들을 봤을 때 너무 간단해보였다. 다 동일한 과정이어서 호기롭게 도전했지만 Connection time out , unable to connect to localhost 에러에서 2시간이 넘게 걸렸다. RDS 를 몇번이나 삭제하고 새로 생성해도 같은 에러가 발생했으며, 보안그룹을 아무리 수정해도 똑같았다. 아래 해결방법을 공유하고자 한다. RDS 생성과정은 너무 많은 블로그가 있어서 생략하고 생성과정 중 꼭 확인해야할 것은 퍼블릭 액세스 여부를 "예" 로 설정해주어야 한다. 이후 아래 과정을 진행한다. aws -> vpc 로 들어가기 vpc 에 들어가면 라우팅 테이블 목록이 있다. 라우팅 테이블을 선택한다. 테이블 목록에서 RDS 와 연결되어 있는 것을 찾아야 한다. 아마.. 2023. 1. 17.
Ehcache 를 사용한 Cache 이용해보기 쇼핑몰 개인프로젝트를 만드는 중, 캐시에 대한 궁금증이 생겨 적용을 해보고 싶은 계획이 있었다. 대부분 캐시를 사용하면 redis 를 사용하는 것을 봐와서 나도 redis를 도입해야 하나? 라는 생각을 했다. Ehcache 를 적용한 이유는 별도의 서버를 사용해서 생길 수 있는 네트워크 지연이나 단절과 같은 이슈가 없이 사용이 가능하며 ( Spring 내부적으로 동작 ) 서버 애플리케이션과 라이프사이클을 같이 하므로 사용하기 쉽기 때문에 선택했다. 도중에, "개발바닥" 유튜브에서 포털사이트의 뉴스 등에 EhCache 를 많이 사용한다는 것을 듣고 어떤 캐시방식인지 궁금해 찾아보게 되었다. c2c쇼핑몰이라고 하면, 상품을 클릭하면 나오는 상세페이지에 사용할 수 있지 않을까 생각했다. 이유는, 상품 사진이 .. 2023. 1. 2.
H2 데이터베이스 데이터 유지하기 보통 프로젝트 시, 초기 개발단계에서는 가벼운 H2 데이터베이스를 많이 이용한다. 현재 내가 프로젝트에는 H2 인메모리 주소를 사용하고 있다. ddl-auto 가 none 이든 create-drop 이든 어떤 설정으로 해도 휘발성이기 때문에, 프로젝트를 다시 시작하게 되면 H2 DB 에 들어있는 데이터가 모두 증발해버린다. 구현이 거의 마무리되어가고, 데이터가 사라지는 것을 방지하고 싶어 해결방안을 찾아보았다. 기존 yml 파일의 내용을 보면, url 이 인메모리로 되어있는 것을 볼 수 있다. spring: h2: console: enabled: true path: /h2-console datasource: url: jdbc:h2:mem:shop username: sa password: driver-cl.. 2022. 12. 20.
mariadb yml 연결 spring: datasource: driver-class-name: org.mariadb.jdbc.Driver url: jdbc:mariadb://localhost:3306/세션이름 username: 사용자 password: 암호 2022. 10. 8.