UserEntity에 @Getter 어노테이션 달아주기. CustomUserDetails 클래스 작성. CustomUserDetailsService 클래스 작성.
의존성 주석을 먼저 해제한다. 그 다음 IntelliJ Ultimate버전 사용자라면 Database 탭으로 가서 Mysql을 등록해 준다. 다음으로 Default Query Console을 열고, 아래처럼 database를 생성해 준다. 생성이 되었다면, application.properties 파일에 아래와 같이 작성한다. 이제 연동이 끝났다. 회원가입 Form 화면을 만들어 보자. 회원가입 로직 회원정보를 통해 인증 / 인가 작업을 진행하기 때문에 사용자로부터 회원가입을 진행한 뒤 데이터베이스에 회원 정보를 저장해야 한다. join.mustache 파일을 생성하고, 아래와 같이 작성한다. 다음으로, Controller도 작성한다. SecurityConfig도 회원가입 관련 경로 전부 허용 이제 회원..
회사의 WAS 서버 API를 개발 도중 공유하는 데이터에 접근해 이를 할당받는 API가 있다.이 API를 코드리뷰 하던 도중, 프로님 한 분이 동시성 이슈가 들 수 있다고 이야기해 주셔서 이에 관해 글을 정리해 보려 한다. 현재 사내 데이터베이스는 아래와 같이 구성되어 있다. (예시)(테이블들, 프로젝트들이랑 동시성 제어와 동시성 제어 방안 분석동시성 제어에는 여러 방안이 있지만 이번에는 낙관적 락, 비관적 락, Redis pub/sub(분산 락), kafka messaging 기법을 분석해 보았다. 동시성 제어 : 낙관적 락(Optimistic Lock)트랜잭션 충돌이 적을 것이라 예상하고, 트랙잭션에 잠금을 걸지 않은 상태로 데이터를 조회하여,수정하는 시점(트랜잭션의 최종 커밋 단계)에 검증해 ..
회사에서 신규 프로젝트를 하는데, 배치 서버를 구축하는 업무를 내가 맡게 되었다. 포스팅은 배치 서버를 구축하는 방법, Job을 생성하고 Tasklet 기반 Step과 Chunk 기반 Step에 대해서 다루어 볼 것이고, Chunk기반 Step은 스프링에서 기본적으로 제공하는 Reader와 Writer에 대해서 다루어 볼 것이다. 업무는 멀티모듈과 스키마 기반 멀티테넌시 환경에서, 배치 서버를 구축하는 것인데, 이는 추후에 포스팅할 것이다. 첫 글에서는, 최신 스프링 배치 버전인 Spring Batch 5의 특징을 알아보고, 간단하게 구축하는 방법을 알아보자. 1. Spring Batch 5 변경점 https://docs.spring.io/spring-batch/docs/current/reference/..