2024.01.05 - [Database] - [MariaDB] Replication 적용기 - 1 (DB Setting) [MariaDB] Replication 적용기 - 1 (DB Setting) 본 포스팅을 시작으로 Replication을 적용하는 여정에 대해 남겨보려고 한다. Replication 을 처음 접해보았거나 개념이 잘 기억나지 않는다면 이전 포스팅을 참고하자. 2024.01.03 - [Database] - [MySQL] 가용 rachel0115.tistory.com 이전 글에서 이어지는 내용입니다. DataBase Replication 설정이 안되어있으신 분들은 해당 작업을 먼저 진행해주시기 바랍니다. 본 포스팅에서는 @Transactional 어노테이션의 readOnly가 true일 ..
개인 프로젝트를 진행하던 중 properties 파일 여러개를 적용해야하는 상황이 생겼다. 책에서 설명하는 properties 적용 방법도 달라지고 해서 블로그에 정리하려고 함. application.properties 파일은 스프링 부트가 어플리케이션을 구동할 때 자동으로 로딩하여 참조하는 파일이다. 스프링의 설정 파일이라고 할 수 있으며, 형식에 맞게 Key - value 값을 정의하면 해당 설정을 자동으로 참조한다. 이러한 properties 혹은 yml 파일을 보안상의 이유로 여러개 나누어 사용할 때가 있다. Oauth 설정 값이나 DB 설정 파일들은 계정 보안에 아주 중요한 정보들을 담고있기 때문에 따로 properties 파일을 만들어 Git에 푸시하지 않고 관리하게 된다. 필자는 resour..
최근 학교 졸업 작품을 위해 프로젝트의 로그인 인증 방식을 JWT로 바꾸는 작업을 진행했다. 그러던 중 컨트롤러에서 중복되는 코드를 발견했는데, 해당 코드는 다음과 같다. jwtHandler의 getJwtUser는 클라이언트의 요청에서 받은 JWT를 파싱하고 그것을 JwtUser라는 객체로 반환해주는 역할을 한다. 즉, JWT 값을 가져와서 모델에 추가하는 과정이 중복되는 것이다. 다른 컨트롤러와 메서드에서 이와 같이 JWT 값이 필요하면 그 때마다 똑같은 코드를 반복해서 작성해야한다. 분명 개선이 필요한 부분이다. 예전에 이동욱 님이 쓴 '스프링 부트와 AWS로 혼자 구현하는 웹 서비스'라는 책에서 컨트롤러에서 중복되는 코드를 파라미터 기반으로 변경했던 기억이 있다. 따라서 이 부분을 책에서 봤던대로,..
최근 졸업 작품 및 포트폴리오용으로 개인 프로젝트를 시작했는데 새롭게 프로젝트를 생성한 김에 스프링 부트 프로젝트 생성 및 의존성 버전 관리에 대해 정리하고자 한다. 빌드 툴은 Gradle, IDE 는 인텔리제이를 사용했다. 프로젝트 생성 스프링 이니셜라이저 스프링 이니셜라이저는 프로젝트 생성을 도와주는 웹 애플리케이션이다. 스프링 부트 뿐만 아니라 빌드 툴, 언어, 패키징 방식, 라이브러리들을 선택하여 간편하게 프로젝트를 생성할 수 있어 많은 개발자들이 사용하는 방법이다. 사실 너무 편해서 사용하지 않을 이유가 없는 것 같다. LINK → https://start.spring.io/ 다음의 링크를 클릭하거나 검색 엔진에 Spring Initializr 을 클릭하여 웹 페이지에 접속하자. 프로젝트 생성 ..
https://blog.naver.com/mds_datasecurity/222182943542 OAuth 2.0 동작 방식의 이해 OAuth 2.0(Open Authorization 2.0, OAuth2)은 인증을 위한 개방형 표준 프로토콜입니다. 이 프로토... blog.naver.com https://codevang.tistory.com/248 스프링(Spring) MVC 동작 구조 및 스프링 컨테이너 - Develop OS : Windows10 Ent, 64bit - WEB/WAS Server : Tomcat v9.0 - Language : JAVA 1.8 (JDK 1.8) - Framwork : Spring 3.1.1 Release - Build Tool : Maven 3.6.3 서블릿을 다루다 ..
최근 Spring legacy project에서 HSQL 기반 Mybatis로 스프링 기초에 대해 학습하던 중 pom.xml에 Mybatis 의존성을 추가하면 javax/xml/bind 관련 예외가 발생하였다. 알고보니 최신 JDK 환경(11이상)은 Java EE(Java Platform, Enterprise Edition) 모듈이 Deprecated되면서 포함되어있지 않아 발생하는 문제였다. 아래 dependency 태그를 pom.xml에 추가하면 정상 작동한다. javax.xml.bind jaxb-api 2.3.0-b170201.1204