SpringBoot 3

로깅 간단히 알아보기

서비스를 개발하고 테스트를 할 때, 그 로직이 잘 동작하는지를 확인하는 방법은 다양하다. 그 중에서 나는 보통 출력문 하나를 넣어서 잘 출력이 되는지를 확인하고는 했는데, 이러한 방식은 실무에서 사용하지 않고 사용을 권장하지 않는다. 그래서 출력문이 아닌 별도의 로깅 라이브러리를 사용해 로그를 출력하는데, 이 로깅 라이브러리의 종류가 매우 많다. 그래서 몇 개의 예시를 통해 정리해보고자 한다. @RestController public class LogTestController { // 이 코드는 로그를 선언하는 방법이다. private final Logger log = LoggerFactory.getLogger(getClass()); // 5번라인의 로그 선언 방법 외에도 아래 2개의 방법이 있다. pr..

스프링/백엔드 2022.05.18

2번째 맞닥드린 오류 : could not prepare statement (DB 관련 오류)

앞서 책을 통해 프로젝트를 진행중 JPA 파트에서 테스트 코드를 작성하다가 보면 분명히 오류가 발생할 것이다. 오류가 발생하는 지점은 콘솔 쿼리 로그를 확인할 때, 설정하기 전에는 H2의 쿼리 문법이 적용되어 id bigint generated by default as identity 라는 쿼리문을 확인할 수 있다. 이 쿼리를 MYSQL의 쿼리문으로 확인하기 위해서는 다음과 같은 코드를 application.properties에 설정을 해야 하는데, spring.jpa.properties.hibernate.dialect=org.hibernate.dialect.MySQL5InnoDBDialect 이 쿼리문을 추가하게 되면 발생하는 오류가 윗 오류인데, posts 테이블이 존재하지 않아 쿼리문을 넣을 수 없..

Compile과 implementation의 차이점

현재 인프런이라는 강의 서비스에 CTO로 계신 김동욱님의 책인 '스프링부트와 AWS로 혼자 구현하는 웹 서비스' 라는 책을 통해 다시 웹 백엔드 부분을 공부하고 있다.(유툽에서 분명히 많이 본 이름이였는데, 아 그분? 하면서 얼굴이 떠올랐다. 그분이 그 분인거 같다....) 책에서는 인텔리제이와, JPA, JUnit테스트, Gradle, 소셜로그인, AWS 인프라로 무중단 배포까지를 망라해 책을 공부하는 독자들에게 지식을 전수해준다. 이 책이 끝판왕 개발 서적은 아니지만 더 깊은 내용을 공부하고 싶다면 다른 책을 찾아봐야한다. (인프런의 김영한-JPA수업 추천) 해당 책은 이미 서버 개발자(주니어 급)를 꿈꾸는 학생 또는 취준생이라면 한 번쯤은 봤거나, 접해볼 만한 책일 것이다. 내가 여기서 얻고자 하는..

스프링/백엔드 2022.01.30