전체 글

일반적으로 단일 스레드 상황의 성공 조회수는 다음과 같다. @Test @Transactional void 성공_조회수_추가() { //given CommentRequestDto commentRequestDto = CommentRequestDto.builder().content("test").build(); //when for (int i = 0; i  하지만 일반적으로 스프링은 스레드풀을 가지고 있어, 한번에 여러 요청이 동시에 이루어 질수 있다.예를 들어 여러명이 동시에 조회수를 추가하는 경우의 테스트를 진행해보자 20개의 스레드가 동시에 조회수를 늘린다면 어떻게 될까? @Test ..
AOP를 사용하는 이유? 애플리케이션 로직은 크게 핵심 기능과 부가 기능으로 나눌 수 있다.1. 핵심 기능 : 해당 객체가 제공하는 고유의 기능2. 부가 기능 : 핵심 기능을 보조하기 위해 제공되는 기능 (ex: 로깅, 트랜잭션, 보안) 보통 기존 프로젝트에 부가 기능을 추가 하게 되면 하나의 클래스가 아닌 여러 클래스에 부가 기능을 추가하게 된다.예를 들어 프로젝트의 모든 클래스에 로그 기능을 추가한다면 하나의 부가 기능(로그 추적)을 여러 곳에 동일하게 사용하게 됩니다.이러한 부가 기능을 바로 횡단 관심사(cross-cutting concerns)라고 합니다. 만약, 여기서 모든 서비스 메소드가 호출될 때 마다 로그를 남겨야 한다고 가정하자.하드코딩을 하면 그냥 모든 메소드에 로깅 코드를 삽입하면 되..
캐싱을 한 부분의 속도를 대시보드로 확인해보기k6로 테스트 한 데이터 (시계열 매트릭 데이터) 를 influxDB라는 시계열 데이터베이스에 저장한다.그 후 그 데이터를 Grafana 라는 시각화 웹 애플리케이션을 사용해서 그래프로 속도의 변화를 보여준다.,이에 대한 이점은 다음과 같다. 1. 시계열 데이터를 관리할 수 있다.2. 시각화를 통해 데이터를 효과적으로 한눈에 보여줄 수 있다.3. 실시간으로 데이터를 확인할 수 있다. 윈도우 환경에서 세팅choco 설치k6를 다운로드 하는데 먼저 chocolatey라는 패키지 매니저를 다운로드한다.윈도우에서 사용할 수 있는 커맨드 라인 패키지 매니저이다.k6 커맨드를 사용해야 하기 때문에 choco를 사용한다.공식 문서 : https://chocolatey.or..
ckm7907
백엔드 잘하고 싶어요!