프로그래밍

프로그래밍/오류보고

[JUnit] DataJpaTest 중 dataSource 관련 에러

현상 DB의 특정 데이터를 Select를 하기 위해 관련 소스 코드 구현 후 JUnit을 활용한 단위 테스트를 진행하였다. 그러나 DataSource 관련 에러가 났다. DB에 접근하기 위한 설정은 application.yml 에 이미 작성해놓은 상태였다. 원인 https://charliezip.tistory.com/21 [Error] @DataJpaTest DataSource 설정 오류 Error 상황 프로젝트 환경 설정 application.yml spring: datasource: driver-class-name: com.mysql.cj.jdbc.Driver url: jdbc:mysql://localhost:3306/awss3?serverTimezone=UTC&characterEncoding=UTF..

프로그래밍/오류보고

[Querydsl] Unable to load class 'com.mysema.codegen.model.Type' 에러

현상 사내에서 새로운 API 제작을 위해 querydsl을 적용하였으나 Q 클래스를 찾지 못하는 에러가 발생하였다. 정확히는 Unable to load class 'com.mysema.codegen.model.Type' 에러였다. 원인 https://www.inflearn.com/questions/355723 compileQuerydsl 오류 - 인프런 | 질문 & 답변 학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요.1. 강의 내용과 관련된 질문을 남겨주세요.2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼 www.inflearn.com 구글링을 통해 해당 링크를 찾아서 해결법을 적용하였다. gradle의 querydsl 관련 설정 누락이 원인인듯 ..

프로그래밍/Spring

[Spring] Deprecated 된 WebSecurityConfigurerAdapter

왜? 스프링 인 액션 책을 보며 Spring Security를 적용중 WebSecurityConfigurerAdapter가 Deprecated 된 것을 확인하였다. 왜 deprecated 됐고 대처방안은 무엇인지 궁금하여 검색을 해본 결과 공식문서에서 해당 내용을 확인할 수 있었다. https://spring.io/blog/2022/02/21/spring-security-without-the-websecurityconfigureradapter Spring Security without the WebSecurityConfigurerAdapter In Spring Security 5.7.0-M2 we deprecated the WebSecurityConfigurerAdapter, as we encourage..

프로그래밍/Git

[Github]Merge 된 PR을 되돌려보자

필자는 개발자 동기들과 코딩테스트 코드리뷰를 진행하고 있다. 그러는 도중 동기 1명이 PR하고 Merge를 해버린 것이다. 이제 Merge된 상태를 다시 원래 대로 되돌려보겠다. 1. 되돌아갈 Commit을 찾는다. 일단 "git reset"을 쓰기 위해 돌아가야할 commit을 확인해야한다. 확인할 수 있는 방법은 2가지가 있다. Github의 해당 repository에서 병합된 브랜치에서 돌아갈 commit id를 확인한다. 터미널에서 git log 명령어를 입력해서 나온 commit id 확인 2. 찾은 commit id를 활용해 되돌아간다. git checkout 해당 브랜치 git reset --hard 425626b073dea4b9841357fbeb02571cf0c9b0f0(commitID) ..

프로그래밍/오류보고

[JUnit] @BeforeAll 사용시 에러

현상 @BeforeAll public void cleanUp() { postsRepository.deleteAll(); } @Test public void test() { generateDummy(); List list = postsRepository.findByOrderByIdDesc(); log.info(list.toString()); Assertions.assertEquals(4, list.size()); Assertions.assertTrue(list.get(0).getId() > list.get(1).getId()); } 테스트 메소드 실행 전에 DB에 값들을 전부 지우고 진행하고 싶어서 @BeforeAll 어노테이션의 cleanUp 메소드를 만들어서 실행했으나 JUnitException 에러가..

프로그래밍/Spring

템플릿 캐싱에 대해

기본적으로 thymeleaf, mustache 같은 템플릿은 최소 사용될 때 한 번만 파싱(코드 분석)된다. 그리고 파싱된 결과는 향 후 사용을 위해 캐시에 저장된다. 이는 요청때 마다 파싱을 안 하게 만드므로 성능이 향상될 수 있다. 허나 개발 시 해당 기능을 사용하게 된다면 불편하게 된다. 예를 들어 메인 페이지를 접속한 후에 해당 페이지를 수정했다고 하자, 이때 새로고침 하더라도 수정 전 페이지가 보이게 된다. 변경된 페이지를 보려면 애플리케이션을 다시 시작해야 하는 번거로움이 있다. 그래서 개발시에는 해당 기능을 끄고 진행하는 것이 좋다. 아래는 각 템플릿의 캐싱 속성이다. 템플릿 캐싱 속성 FreeMaker spring.freemaker.cache Groovy Templates spring.gr..

프로그래밍/오류보고

[Spring]Intellij에서 스프링 devtools이 작동하지 않는다면

스프링부트에 devtools 를 이용해 개발도중 아예 devtools가 작동하지 않는단 걸 깨달아 해당 문제를 구글링해보았다. 원인은 인텔리제이가 classes에 자동적으로 저장해주지 않아서 발생했다고 한다 해결방법 1. 파일 -> 설정 -> 빌드, 실행, 배포 -> 컴파일러에서 프로젝트 자동 빌드(Build project automatically) 체크 2. 파일 -> 설정 -> 고급설정 -> 컴파일러 탭에서 개발된 애플리케이션이 현재 실행중인 경우에도 auto-make가 시작되도록 허용(Allow auto-make to start even if developed application is currently running) 체크 해당 해결방법을 통해 devtools가 정상적으로 작동하는 것을 확인할 수..

옥탑방고래
'프로그래밍' 카테고리의 글 목록 (2 Page)