Light
Dark
개요 통합 테스트를 작성했다. 로컬에선 문제없이 통과했지만 CI환경에서는 통과하지 못했다. 로그를 살펴보니 테스트 클래스 1이 통과되고 테스트 클래스 2는 중복된 값이라는 예외가 생겨 통과하지 못했다. 이 결과는 통합 테스트끼리 서로 간섭을 일으킨다는 의미가 된다. 원인 스프링 테스트에서는 같은 Context를... Read More
개요 프로젝트를 하며 동시성 이슈를 발견하였고 관련된 내용을 정리해보려한다. 동시성 이슈란? 동시성 이슈란 동시 다발적인 요청으로 인해 데이터베이스의 정합성이 깨지는 현상을 말한다. 무결성은 데이터가 정확하고 완전하다는 의미, 정합성은 데이터간의 일관성이 있다는 의미이다. 웹은 여러명의 사용자가 동시에 접속하고 ... Read More
개요 해시라는 것은 일정한 규칙 없이 조작하거나 변환한다는 의미로 우리에게 익숙한 해시는 해시 브라운(감자를 잘게 썰어 조리한다.)이 있다. “잘게 자르다”라는 뜻의 고어에서 유래했다고 한다. 오늘은 해시 함수에 대해 알아보자. 해시 함수 해시 함수는 쉽게 말하면 임이의 길이를 가진 데이터를 입력받아 고정된 길이의 값인 해시값... Read More
개요 검색해봤을 때 나오는 결과나 옛날 예제들에 익숙해져있었고 배우는 것을 소홀히 한 결과 여러 실수를 했다. 이번 기회에 체계적으로 정리해보자. QueryDSL? QueryDSL은 Query + DSL의 합성어로 DSL이란 어떤 도메인의 문제를 해결하는데 특화된 언어를 말한다. 순수 Spring JPA를 사용하며 ... Read More
개요 Optional을 자주 사용하면서 정작 그 의미와 필요성을 모르고 사용했던 것 같다. 한 번 공부해보자. Null Null이라는 개념을 처음 고안한 사람은 Tony Hoare로 null을 만든 것은 10억 달러짜리 실수라고 말한적이 있다. 그 이유는 Null이 소프트웨어 개발 과정에서 수많은 버그와 시스템 오류를 유발해왓기 ... Read More