재민님, 향로님, 토비님이 스프링 테스트에 대한 @Transactional 사용에 대한 의견들을 남겨주셨다. 모두 너무 정성들여 적으글들이라 한번에 모아서 읽어 보시면 Spring Test 시 @Transactional 사용에 대한 다양한 의견을 통해 DB 를 이용한 통합테스트에 대한 시각이 넓힐수 있을 것이다. 저도 몰랐던 사실을 많이 알게 되어 블로그와 영상으로 공유해주신 분들에게 감사한 말씀을 드립니다. :) 재민님의 '테스트에서 @Tansactional을 사용해야할까' https://youtu.be/PDhN6aiF7QQ?si=4Go7aqNAAL9wGrY8 향로님 '테스트 데이터 초기화에 @Transactional 사용하는 것에 대한 생각' https://jojoldu.tistory.com/761 ..
혹시 String createdAt 로 선언하지 사용하지 않으신가요? DateTimeParseException 으로 고통받고 있지 않으신가요? 하지만 String 타입으로 데이터를 처리하고 있다면 버그나 Exception 이 발생하는 코드를 작성할 확률이 높아진다. 강타입 언어를 사용하는 장점을 전혀 활용하고 있지 못하기 때문에 적절한 타입을 사용하는 게 중요하다. 왜 도움이 되는지는 찬찬히 설명해 보려고 한다. java 표준 API 사용되는 타입을 사용한다면 데이터에 대한 유효성 검증을 library level (정확히는 Type 이 생성되는 시점) 에서 검증이 된다. Exception Handling이나 validation check를 코드를 작성하는 개발자가 직접 하지 않아도 된다는 뜻이다. 그렇다..
KSUG 하반기 가을세미나 - 당신의 자바를 한단계 올려드립니다 더 자바 코드를 테스트하는 다양한 방법 - 백기선 최근 MSA 환경에서 다른 시스템이나 데이터 중심의 테스트코드를 작성해야 하는데, 이를 해결하기 위한 좋은 방법이 될것 같다는 생각이 들었다. 그리고 테스트환경을 실제 환경하고 동일하게 해야한다에 대해서 여러 의견이 많지만, 동일하게 해야 한다는 관점에서 좋은 방법을 제시해 주셨던 것 같다. 발표자료: https://bit.ly/2q8S3Qo 세션 내용 Spring Boot 2.2 가 릴리즈 되면서 JUnit 5 가 추가되었다. Jupiter (junit 5 프로젝트명) 는 하위호환이 되지 않고 vintage engine 을 추가 해야한다. Spring-boot-starter-test 2.2..
RESTful Service를 개발하면서 사용자( consumer ) 에게 서버족의 예외상황이나 에러코드에 대해 어떻게 처리해줘야 하는지 간단하게 정리해보고자 한다. REST 이론에서 가이드하는 방식도 있지만, RESTful 서비스 취지대로 Consumer 가 얼마나 편리하고 간편하게 서버의 자원을 이용할수 있도록 가이드하는게 제일 우선이라고 말할수 있겠다. 그럼 먼저 RESTful 에서 권장하는 방법에 대해서 간략하게 소개하고 그 다음 이를 어떻게 편리하게 사용할 수 있도록 구현하는지에 대해 알아 보도록 하자. 1. REST 이론 - 인증실패나 parameter 실패등이 발생했을때는 HTTP Header 의 Status 값을 이용하여 응답을 주라고 하고 있다. 예를 들어 인증실패의 경우 401 코드, ..
Spring Framework 를 사용하면서 설정파일에 대한 정확한 개념을 가지고 있지 못했던 것 같았다. 이번에 교육을 통해서 그동안 정확하게 머릿속에 정리되지 않았던 설정파일들에 대해 정리하고자 한다.필자와 같이 Spring Framework 를 사용하면서 무조건 코딩만 해왔던 분이라면 한번쯤 읽어보면 어떨가 하고 추천해본다. 몸값 높은 개발자를 위하여! 재미있는 개발을 위하여! 1. 디렉토리 구조 web server doocroot 폴더 구조의 일부를 보면 아래와 같다. WEB-INF 밑에는 컴파일된 class파일이 담겨져 있는 classes 폴더와 웹어플리케이션에서 사용하는 라이브러리들이 위치하는 lib 폴더가 대표적이다. 그리고 오늘 알아보려고 하는 dispater-servlet.xml, app..