Lombok으로 스프링에서 DI(의존성 주입)의 방법 중에 생성자 주입을 임의의 코드없이 자동으로 설정해주는 어노테이션이다.@RequiredArgsConstructor는 초기화 되지않은 final 필드나, @NonNull 이 붙은 필드에 대해 생성자를 생성해준다.새로운
보통 많이 쓰는 생성자 어노테이션으로는 세가지 정도가 있다.여기서 @NoArgsConstructor 는 엔티티에 꼭 들어가는 어노테이션이다.그 이유는 Java에서는 생성자가 없을 경우 자동으로 No-Args-Constructor 를 만들어주는데 정의되어 있는 생성자가
Spring Boot로 프로젝트를 진행하다 보면 application.yml 파일을 local, develop, product 등 서비스가 실행되는 환경이 달라 각각 다른 설정을 해야하는 경우가 있다.예를 들어 환경별로 DB나 서버 포트 등이 다른 경우, 다른 DB를
java 14 버전에서 정식 출시된 새 유형의 클래스, 불변 객체를 생성할 때 사용한다.보일러 플레이트 코드 제거다양한 함수를 기본적으로 제공해주기 때문에 보일러 플레이트 코드가 많이 빠진다.Record로는 아래와 같이 선언된다.위의 코드에는 없지만, equals와 h
Spring Batch를 프로젝트에 적용해보자.
처음에는 아무 생각 없이 트리거 쿼리문을 작성하였고 작성하다 보니 만약 트리거를 수정하거나 변수처럼 쓰고 싶은 값이 생긴다면 어떡하지? 라는 의문이 들었다.트리거 쿼리문을 db에 작성하는 것보다 server 코드 단에서 처리하는 것이 유지보수 측면에서 더 좋다고 생각을
쇼핑몰 프로젝트를 진행하면서 주문이 들어오거나 특정 갯수 이하로 재고가 떨어지거나 재고가 0개가 되는 경우 텔레그램을 통해 쇼핑몰 관리자에게 메시지를 전송하는 기능이 필요하다.이를 위해서 telegram api 를 사용하는데 설계 순서는 Telegram 메시지 전송 테
비동기 처리를 생각하게 된 이유는 현재 Spring Batch를 사용하면서 여러 가지의 Job을 처리하는데 날짜에 따른 할인율, 폐기 여부의 업데이트는 매일 자정, 즉 하루에 한 번만 업데이트 되기 때문에 비동기 처리에 대해 고려할 필요가 없었다. 하지만 텔레그램 메시
사용자를 위해 클라이언트에서 만들어진 데이터를 csv 파일로 만들어 다운로드 가능하게 하기 위해서는 어떻게 해야 할까?큰 흐름은 아래와 같다.데이터를 가공하여 csv 형태로 생성가공한 csv 데이터를 request body에 담아 api 요청json으로 받은 csv 데
InputStream이나 OutputStream을 명시적으로 닫지 않으면 자원 누수가 발생할 수 있다. Java에서는 자원을 명시적으로 닫아야 한다. 특히 ByteArrayInputStream과 ByteArrayOutputStream과 같은 스트림은 닫지 않으면 메모리
이미 개발 해놓은 컨트롤러와 서비스가 있는 상황에서 json 또는 form-data로 요청이 들어올 때 데이터를 파싱하여 Attribute에 저장해 컨트롤러 코드의 변경이 거의 없이 필요한 데이터를 getAttribute해서 가져올 수 있도록 JsonFilter와 Fo
BackupJob 실행 중 다음과 같은 에러가 발생했다.Java heap space 오류는 애플리케이션이 사용 가능한 메모리를 초과했을 때 발생하는 오류이다.주로 대용량 데이터 처리나 메모리 누수로 인해 발생한다.이 경우, MySQL 데이터베이스 전체 내용을 dump해
쇼핑몰에서 새로운 상품이 들어오거나 새로운 유통사를 지정 해야 할 때 사용자가 일일이 입력하지 않고 간편하게 데이터를 저장했다가 한 번에 데이터를 저장할 수 있는 페이지를 만들고자 한다.완전히 테이블과 데이터가 일치하지는 않지만 저장된 데이터를 excel이나 csv 파
하지만 실제 운영 환경에서 돌아가는지 테스트한 결과 chrome driver의 버전 문제로 계속 500 에러가 발생하였다.일단 로컬, 배포 환경의 분리를 위해 application.yml 파일이 webdriver.chrome.path를 작성한다.다른 설정은 생략하였다.
카카오 로그인을 구현하기에 앞서 kakao developers의 문서 > 카카오 로그인 > 이해하기 를 통해 카카오 로그인이 어떤 방식으로 이루어지는지 알아야한다.카카오 로그인사용자 클라이언트에서 사용자가 카카오 로그인 버튼을 선택하면, 서비스는 카카오 API 플랫폼