본문 바로가기

공부/JAVA SPRING7

728x90
[Java] Mybatis 동시성 제어 회사에서 개발을 진행하던 중 실 사용자가 신청하는 로직을 개발하게 되었는데 문제는 사이트가 오픈되면 동시에 많은 인원이 신청을 하게되지만 신청자에는 제한이 있는 경우도 존재한다. 바로 동시성 제어가 필요하다 라는 생각을 했지만 JPA로는 동시성 제어를 해본 경험이있지만 Mybatis는 해본적이 없고 물어볼 선임이 없는 상황이라 혼자 테스트를 진행하며 기록한다. 환경 SpringBoot 2.7.1 Java 18 Junit 5 MyBatis 최초 테스트 코드 요청 횟수 : 1000번 쓰레드 수 : 100 제한 : 100 @Autowired private UserCommonMapper userCommonMapper; @Test void test() throws InterruptedException { int .. 2023. 9. 27.
코드 커버리지 적용(Jacoco) 코드 커버리지? 코드 커버리지란 소프트웨어 테스트의 측정 항목 중 하나로, 테스트를 수행했을 때 얼마나 많은 코드가 실행되었는지를 나타내는 지표입니다. 즉, 소스 코드 중에서 얼마나 많은 부분이 테스트 케이스에 의해 실행되었는지를 백분율로 나타내는 것입니다. 코드 커버리지의 종류 라인 커버리지 : 소스 코드의 각 라인이 실행되는 비율 브랜치 커버리지 : 브랜치 커버리지는 if문, switch문 등의 분기문에서 모든 경우의 수가 테스트되는 비율 메소드 커버리지 : 클래스 내의 메소드 중에서 테스트된 메소드의 비율 클래스 커버리지 : 소스 코드 내의 모든 클래스 중에서 테스트된 클래스의 비율 왜 사용할까? 코드 커버리지는 소프트웨어 개발에서 테스트된 코드의 양을 측정하는 데 사용됩니다. 이는 테스트되지 않은.. 2023. 4. 7.
[SpringBoot] QueryDSL 사용법 QueryDSL이란? 자바를 사용하는 개발자들이 SQL문을 작성하지 않고도 데이터베이스 쿼리를 생성할 수 있도록 도와주는 오픈소스 라이브러리입니다. 왜 사용할까? 객체지향적인 방식으로 쿼리를 작성할 수 있게 해주기 때문에, 코드의 가독성이 높아지고 유지보수성이 좋아집니다. 또한, 동적 쿼리를 작성할 때 유용하게 사용될 수 있습니다. 다양한 데이터베이스 시스템과 연동할 수 있으며, JPA, Hibernate, MyBatis 등 다양한 ORM 프레임워크와도 연동이 가능합니다. SQL문을 직접 작성하는 것보다 쿼리 작성에 필요한 시간과 노력을 줄여줄 뿐 아니라, 자바 코드를 통해 안전하고 쉽게 쿼리를 작성할 수 있게 해줍니다. 코드로 쿼리를 작성함으로써, 컴파일 시점에 문법 오류를 쉽게 확인할 수 있습니다. .. 2023. 3. 24.
[SpringBoot] Kakao REST API 검색어로 위도 경도 좌표 받기 [SpringBoot] Kakao REST API 검색어로 위도 경도 좌표 받기 API 키 발급받기 아래의 사이트에 접속하여 로그인을 해준다 https://developers.kakao.com/ 내 애플리케이션 -> 애플리케이션 추가하기 정보를 작성한다 앱이름 사업자 명은 원하는대로 작성하면된다 아래와 같이 생성된 애플리케이션을 눌러준다 우리가 사용할 키는 REST API키다 호출 결과 확인 결과를 확인하는데는 POSTMAN을 사용해서 결과를 확인했다 정상적으로 잘 확인이 된다! 발급받은 키로 API 호출하기 public KakaoSearchDto getKakaoSearch(String searchKeyword) { //카카오 API키 final String restAPIKey = "KakaoAK YOU.. 2023. 3. 13.

TOP

TEL. 02.1234.5678 / 경기 성남시 분당구 판교역로