
일정한 시간간격 또는 일정한 시각에 특정 로직을 돌리기 위해서 사용하는 것을 Scheduler라고 합니다. 이런 Scheduler는 Spring에서 Spring Scheduler와 Spring Quartz라는 2가지 방식으로 제공됩니다. 제가 했던 프로젝트에서는 Spring Scheduler 를 사용하여 1일 1주일 1달 별 랭킹을 구하는 예시로 사용했던 적이 있습니다. Spring Scheduler Spring Scheduler는 별도의 추가적인 의존성이 필요하지 않습니다. Spring Boot starter에 기본적인 의존성으로 제공됩니다. 사용하기 위해서는 @EnableScheduling 어노테이션을 붙여주면 됩니다. package com.nice.study; import org.springfram..

Redis? 이 그림이 모든 걸 말해주는 거 같습니다. Redis는 Cache 또는 Persistence Data Storage로 사용 가능 아무래도 서비스 사용자가 증가하게 되면 모든 유저의 요청을 DB 접근으로만 처리할 때 DB 서버에 무리가 가고, 성능이 떨어지게 됩니다. 👉 요청된 결과를 미리 저장해 두었다가 빨리 제공하기 위해 캐시를 사용하게 됩니다. 1. Redis Cache는 메모리 단에 위치하기 때문에 디스크보다 용량은 작지만 접근 속도가 빠름 2. Key-Value 저장 구조로 조회시 빠르다. 캐시가 궁금하시다면 참고해주세요 Redis 정리된 자료가 궁금하시다면 참고해주세요 이번 와인추천 프로젝트를 진행하면서 위와 같은 장점 때문에 Spring Boot에 Redis를 적용해보려고 합니다..

👍 TEST Class 생성 시 TIP Test class 생성 방법 : 내가 만든 클래스에서 우클릭 → Go To → Test → Create Test → Ok → Test폴더에 생성됨 👉 Intellij Live Template 단축키 생성 방법 Intellij 좌측상단 File → Live Templates 입력 → Java 에서 + 버튼 클릭 Template test에 코드 삽입 @Test public void $END$() throws Exception { //given //when //then } build.gradle dependencies { implementation 'org.springframework.boot:spring-boot-starter-web' testImplementatio..

들어가기 앞서.... 이 글은 제가 프로젝트를 생성할 때 필요한 것들을 정리하기 위해 작성한 거라서 도움이 안 될 수도 있습니다... 보통 프로젝트를 생성하고 빌드하는 과정까지 설명이 있는데 이 글은 없습니다 ㅎㅎ ● 개발환경 IntelliJ 2019.02 Java 8 SpringBoot 2.5.7 Gradle ● 라이브러리 JPA Lombok Spring Boot DevTools H2 Database 아래 사이트에서 설정 https://start.spring.io/ Generate click IntelliJ로 프로젝트를 만들어도 좋지만 전 여기서 만드는 게 더 편해서 start.sping.io 사이트에서 진행하겠습니다. 프로젝트 폴더 안으로 가서 intellij를 실행시키세요!! 실행 후 Build S..
SpringBoot 프로젝트에 적용하면서 알고 넘어가야 하는 Lombock 어노테이션에 대해 확실히 정리를 하려고 글을 작성해요 롬복(Lombock) 왜 쓸까? 롬복에 대해 정리를 하자면 Java에서 반복적으로 작성되는 equals, hashCode, toString , getter/setter 메서드 ex) getName , setName 등 만들어주게 되는데 생성자 관련 코드를 간결하게 만들어주는 라이브러리!!! , 사실 인텔리 제이나 이클립스 등 IDE를 사용하면 getter, setter 메서드를 쉽게 구현할 수 있다. (자동 생성이 가능하다는 의미) 이래서 필요성을 못 느꼈었다 더 좋다 롬복이... 가장 큰 이유는 유지 보수 시에 큰 도움이 된다. 필요한 클래스의 필드에 따라 일일이 getter..

두달 전에 파일 업로드 부분에 대해서 간단하게 구현을 했었는데 이번에는 조금 더 발전한 코드와 쇼핑몰 프로젝트에서 CRUD 중 C 부분에 대해서 정리하는 시간을 가지려고 해요. 쇼핑몰 프로젝트를 진행하면서 상품을 생성하는데에 있어서 Image 업로드 부분이 많이 오래 걸렸었던거 같아요ㅠㅠ 처음에는 멍청하게 Java collection을 사용하지 않고 이미지갯수를 딱 지정해놓고 imageurl1 ,imageurl2, imageurl3, 이런식으로 작성했었는데 조금 더 클린코드 조금 더 좋은 코드를 위해서 코드의 질을 높였달까? 글이 좀 긴 점 이해바랍니다!! SpringBoot 프로젝트 구조 Controller @PostMapping public ResponseEntity registerProduct(@R..

쇼핑몰 프로젝트를 하게 되어서 다중 이미지 업로드를 구현하려고 글을 작성해보려고요 별도의 form은 구현하지 않았고 Postman 으로 test를 진행해볼게용 ㅎㅎ 만약 form을 구현하여 요청을 보내신다면 이런 식으로 작성해 주시면 좋을 거 같아요 application.properties 에 코드 추가 multipart.maxFileSiz=1MB multipart.maxRequestSize=1MB 최대 용량을 설정하실 때 적당히 크기를 설정해 주시면 ( ex) multipart.maxFileSiz=1000MB multipart.maxRequestSize=1000MB) 아래와 같은 에러가 발생하지 않습니다!! multipart.MaxUploadSizeExceededException: Maximum upl..