2023/08 4

Redis 레디스 간략한 기본정리 1

Redis (Remote Dictionary Server) 원격에 위치하고 프로세스로 존재하는 인메모리(InMemory)기반의 Dictionary키밸류 구조 데이터 관리 Server 그래서 관계형데이터베이스와 같이 쿼리 연산을 지원하지는 않지만, 데이터의 고속읽기 + 쓰기에 최적화 되어 있음 일종의 NoSQL -Redis 는 인메모리 솔루션인데 다양한 데이터 구조체를 지원함으로써 DB,Cache,Message Queue, Shared Memory용도로 사용된다. 일반 데이터베이스 같이 디스크에 데이터를 쓰는 구조가 아니라 메모리에서 데이터를 처리하기 때문에 작업속도가 빠른것 다양한 자료구조 지원 String Set Sorted-Set Hashes List 메모리 기반이지만 영속적인 데이터 보존 가능 Lo..

카테고리 없음 2023.08.30

+39 Mockito란 무엇일까?

@Service public class ProductService { // ... public static final int MIN_MY_PRICE = 100; // ... @Transactional public Product updateProduct(Long id, ProductMypriceRequestDto requestDto) { int myprice = requestDto.getMyprice(); if (myprice < MIN_MY_PRICE) { throw new IllegalArgumentException("유효하지 않은 관심 가격입니다. 최소 " + MIN_MY_PRICE + " 원 이상으로 설정해 주세요."); } Product product = productRepository.findB..

카테고리 없음 2023.08.29

+38 단위테스트란? JUnit6

단위테스트란? ㅁ버그 발견 시간이 늦어짐에 따라 비용이 기하급수적으로 커지는걸 알 수 있음.. ㅁ 작은 단위로 쪼개서 각 단위가 정확하게 동작하는 지를 검사하는 테스트 기법 ㅁ 빠르게 작성할 수 있고 문제 발생시 어느 부분이 잘 못 되었는지를 빠르고 정확하게 확인할 수 있다는 장점 Development : 개발 Unit Tests (단위테스트) : 개발자 테스트 QA Testing 블랙박스 테스팅 주로 QA팀이 Production 환경과 유사한 환경에서 테스트 Producton : 실 서비스 운영 환경 :: 자바 프로그래밍 언어 용 단위 테스트 프레임워크 @BeforeEach @BeforeEach void setUp() { System.out.println("각각의 테스트 코드가 실행되기 전에 수행");..

TIL 2023.08.08

+37 Spring 고어 Entity 삭제

orphanRemoval JPA에서 관계형 데이터베이스와 엔티티 사이의 연관관계를 관리할 때 사용 :: 부모 엔티티와 연관된 자식 엔티티가 더 이상 부모엔티티와 연관되지 않을 때 자동으로 삭제 연관관계 설정 @OneToMany , @OneToOne 관계에서 orphanRemoval 속성 설정 할 수 있음 CascadeType.REMOVE를 함께 사용하는 것이 일반적 영속성컨텍스트에서 동작함 그래서 EntityManger가 활성화된 트랜잭션 내에서 동작 장점 1. 자동삭제 : 부모-자식 간의 일관성을 유지하면서 데이터베이스에 불필요한 데이터가 남지 않음 2. 편의성 : 부모엔티티에서 자식 엔티티를 삭제하는 로직을 따로 구현 할 필요 없음 사용시 주의사항

TIL 2023.08.04