▶ EC2 와 로컬의 응답 시간의 차이 내가 테스트를 공부하게 되면서 문득 로컬과 EC2의 시간 차이를 비교해보고 싶었다. EC2가 훨씬 느린것이야 당연히 알고 있었지만 그 이유를 모른다는 생각에 시작했다. 테스트는 역시 로컬이 말도 안되는 시간값을 보여줬다 https://latewalk.tistory.com/151 JMeter를 이용한 과부하 테스트(동시 접속자 테스트) JMeter를 알아보기 전에 부하 테스트에 대해서 간단하게 알아보자 부하 테스트는 임계치 한계에 도달 할 때까지 시스템의 부하를 지속적으로 증가시켜서 시스템을 테스트하는 것을 의미하는 테 latewalk.tistory.com ▶ 응답 속도가 느리다 응답 속도가 느리다고 생각한 이유는 TPS에서 알수 있었다. 데이터를 처리하는 단위인 T..
List 와 Page 그리고 Slice 현재 나의 홈화면은 모든 상품을 나타내는 화면이다. 즉, 홈화면을 나타내는 것만으로도 모든 데이터를 접근하는 쿼리문이 실행이 된다는 것인데 그렇다면 그 상품을 가져오는 방법은 무엇이 있을까? JPA를 이용한 페이징 방법에는 List, Page, Slice 이렇게 사용할 수 있다. Page와 Slice 이전에 작성한 Page와 Slice를 비교하는 블로그이다. https://latewalk.tistory.com/152 페이징(Pagination) 프로젝트를 제작하다 보면 정말 많은 양의 데이터를 다루게 되는 경우가 있다. 또한 그 방대한 양의 데이터를 사용자에게 전달할 일이 필요 할 때가 있다. 그때 사용자가 요청한 모든 값을 가져 latewalk.tistory.co..
기본적인 API 동작 1. 클라이언트는 데이터를 다양한 방법을 통해 담아 API로 호출한다 2. API에 해당하는 컨트롤러는 해당 요청을 처리한다 3. 데이터가 정상적으로 처리된다 4. 컨트롤러 안에 있는 비즈니스 로직 처리를 수행한다 5. 비즈니스 로직이 완료되면 다시 Controller로 돌아가 클라이언트에게 성공 Status와 응답 데이터를 전송한다. Global Exception Global Exception을 야기하는 비정상 동작 처리가 되는 과정 클라이언트가 데이터를 담아 API로 호출을 한다, 컨트롤러는 이에 대한 처리를 진행한다 데이터의 처리가 안전하게 수행되지 않고 예외가 발생한다. 비즈니스의 로직을 처리하지 않고 @RestControllerAdvice / @ExceptionHandler..
프로젝트를 제작하다 보면 정말 많은 양의 데이터를 다루게 되는 경우가 있다. 또한 그 방대한 양의 데이터를 사용자에게 전달할 일이 필요 할 때가 있다. 그때 사용자가 요청한 모든 값을 가져오는 것은 매우 비효율적인 방법이다. 해당 데이터를 가져오는 과정에 서버에 과부하가 올 가능성이 커지기 때문이다. 그래서 과부하를 줄이기 위해 나온 방법이 바로 Pagination(페이지네이션)이라고 한다. 페이지네이션은 데이터를 원하는 단위로 정렬하게 되고 페이지 크기에 따라 나눠 전달한다. Pagenation(페이지네이션) 데이터를 몇 번째 페이지인지, 해당 페이지에 몇 개의 데이터를 가져올 것인지, 정렬 기준을 토대로 정보를 전달하는 것이다. Pageable 이것은 Spring에서 제공하는 Pagination을 위..