320x100 728x90 springboot4 spring boot 리소스 캐싱 오늘은 업무를 진행하면서 간단하게 html 페이지를 보여주는 서버를 띄울 필요가 있었다. 그 페이지에선 특성상 이미지와 css가 상당히 많은 수가 있어 매 요청마다 수많은 요청을 보냈다. 이에 따라 리소스 캐싱을 추가했다. application.properties에 아래 값을 추가한다. spring.web.resources.cache.period=43200 //1일 value는 초단위로 지정이 되며, 캐싱 적용 전 캐시 적용 후 상태코드에 보면 200을 반환하지만 (메모리 캐시에서)라고 표기되며, 잘 적용됐음을 확인할 수 있다. 응답 헤더에 보면 캐시의 max-age를 확인할 수 있다. 2022. 4. 27. Spring Test 코드 작성하기 Spring에서 JUnit5를 이용하여 테스트 코드를 작성하는 방법을 소개합니다. 개발환경은 spring boot 2.6.3이고 ide는 Intelli J를 사용했습니다. 일반적으로 인텔리제이에서 프로젝트를 생성하면 src -> test에 메인 클래스 이름 + Test가 붙은 테스트용 클래스가 제공된다. 일반적으로 이렇게 생성되어 있을 것이다. 클래스 위에 @SpringBootTest 어노테이션은 스프링을 실제 띄워서 컨테이너를 띄우거나 DI를 하여 스프링과 동일한 환경에서 테스트할 수 있고, 단순 자바 코드로서 테스트가 아닌 DB연동 등 통합 테스트에 자주 사용한다. 하지만 김영한님의 말을 따르면 테스트 코드에서 해당 어노테이션이 붙으면 테스트의 설계가 잘못될 가능성이 높다고 했다. (통합 테스트가 아.. 2022. 3. 3. SpringBoot,React]스프링 실행시 리액트 서버 자동 실행 , 빌드시 같이 빌드하기 나는 지금 SpringBoot와 React를 통해 백엔드, 프런트엔드를 구성해서 샘플 프로젝트를 만들고 있다. 이 두 환경에서 프로젝트를 진행하다보니 spring boot 실행시키고 react에서 npm run start를 두 번에 거쳐서 실행시켜야 하는 게 정말 정말 매우 너무너무 귀찮았다. 난 스프링이 실행이 되면서 리액트 서버도 자동으로 켜지는 방법이 없을까 하다가 gradle의 build script를 작성하기로 마음먹었다. 일단 사전 준비는 다음과 같다. Spring boot gradle react 딱 이 3개면 된다. 그리고 package.json에 "proxy": "http://localhost:8080",를 추가하여 프록시 설정을 해줬다. 일단 내 프로젝트 구조는 이와 같다. fronten.. 2021. 8. 6. React,SpringBoot] index.js:1 Warning: validateDOMNesting(...): <h1> cannot appear as a descendant of <p>. at h1 at p at header at div at App (http://localhost:3000/main.5143fe28e33d775bbc5c.hot-update.js:37:83) spring boot와 react를 이용해서 샘플 TodoList를 만들려고 하다가 위와 같은 경고가 발생했다. 해당 경고는 리액트에서 발생했고, 콘솔창에서 확인할 수 있었다. 태그에서 문제가 있다고 경고가 발생했고, 그 안에 h1 태그가 문제였다. 서버에서 데이터를 받아와서 조건부 렌더링을 하는 부분이었는데, 태그는 인라인 요소인데 안에 h1 태그가 들어가 있어 오류가 발생했다. h1을 감싸는 p태그를 제거하니까 에러가 깔끔히 사라졌다. 2021. 8. 5. 이전 1 다음 300x250 320x100