본문 바로가기

전체 글

(17)
[gradle] spring boot & react 프로젝트 빌드하기 siouan/frontend-gradle-plugin 플러그인은 Node.js 기반의 빌드를 Gradle 에 통합할 수 있다. 메이븐 빌드를 사용할 경우 eirslett/frontend-maven-plugin 플러그인을 사용하면 된다. 테스트 환경 Backend Spring Boot 2.6.5 JDK 11 Frontend Create-React-App ReactJS 17.0.2 Node 14.17.3 React-Scripts v4.xx (5버전일 경우 http-proxy-middleware 라이브러리로 proxy 구현) Project Structure backend : gradle 빌드 spring-boot 프로젝트 frontend : cra 기반 react 프로젝트 frontend config App...
[generic] raw type 사용을 지양하자 Hello, Generic 제네릭이 나오기 이전까지는 컬렉션에서 객체를 꺼낼 때마다 객체 타입을 지정하도록 형변환을 해주어야 했다 형변환의 오류는 런타임 시점에서 오류를 발견할 수 있었다 제네릭을 사용하면 위와 같은 문제를 컴파일 시점에서 확인할 수 있기 떄문에 더 안전하고 명확한 프로그램을 만들어준다 제네릭이란 ? 제네릭 클래스, 제네릭 인터페이스: 클래스와 인터페이스 선언에 타입 매개변수가 쓰이는 경우를 말한다 ex) public interface Set extends Collection 우리는 제네릭 클래스와 제네릭 인터페이스를 통틀어 제네릭 타입(generic type) 이라고 부른다 제네릭 타입은 매개변수화 타입(Parameterized type)을 정의한다 ex) List : List 클래스의..
Spring Scheduler Spring task Scheduling ThreadPoolTaskScheduler ScheduledExecutorService에 작업을 위임하고 TaskExecutor 인터페이스를 구현한다 내부 스레드 관리에 적합하다 단일 인스턴스가 @Scheduled 비동기 스케쥴링을 처리할 수 있다 Thread 명에 ThreadPoolTaskScheduler 접두어가 붙는다 public class ThreadPoolTaskSchedulerConfig { @Bean public ThreadPoolTaskScheduler threadPoolTaskScheduler(){ ThreadPoolTaskScheduler threadPoolTaskScheduler = new ThreadPoolTaskScheduler(); thr..