spring
slf4j가 Logger 구현체를 선택하는 방법(feat. Logger만들기)
아무도 궁금해하지 않겠지만, 눈팅으로 하는 웹 어플리케이션 서버 실습의 요구사항을 구현하면서 Logger를 사용하다보니 문득, slf4j의 Logger의 구현체는 어떻게 선택되는가 하는 의문이 들었다. (왜 항상 이런게 궁금한걸까...) 자바에서는 Logging을 slf4j의 인터페이스인 Logger를 이용하여 남기기를 권장한다. 그렇게 하면 좋은 점은 classpath에 Logger구현체가 존재하면 해당 구현체를 이용하여 로깅하고, classpath의 구현체(라이브러리. logback이나 log4j)를 바꾸더라도 프로덕트 코드에는 영향이 없게 된다. 즉, 자바의 추상화 기능을 잘 이용한 사례가 된다고 볼 수 있다. 그럼 한 번 알아보자. slf4j를 통해 Logger를 사용하는 방법은 slf4j의 Lo..
Tip. 자동으로 getLogger 코드 작성 당하기(feat. IntelliJ File and Code Templates)
눈팅으로 하는 웹 어플리케이션 서버 실습을 하다 보니 귀찮은 점 하나가 생겼다. 그것은 바로 로그를 남기기 위해서 작성하는 Logger객체를 할당하는 코드였다. import org.slf4j.Logger; import org.slf4j.LoggerFactory; class A { private static final Logger logger = LoggerFactory.getLogger(A.class); } 로그 남기고 싶을 때마다 저 코드 치는게 왜 이렇게 귀찮은걸까… 누가 쳐줬으면 좋겠다 했다. 그래서 생각한게 '클래스가 생성될 때 알아서 저 코드가 작성되어주면 얼마나 좋을까?'였고, 찾은 것이 File and Code Templates 기능이다. File and Code Templates은 간단하게..
눈팅으로 하는 웹 어플리케이션 서버 실습
벌써 2022년도 반이 훨씬 지났고, 8월도 반이 넘어 갔다. 개발자로서 나은 개발자라고 생각했지만 그렇지 않았나보다. 여러 면접에서 계속 떨어지고 난 후, 자존감이 바닥을 치고 내 실력에 대해 회의감이 들었다. 하지만 계속 우울해할 순 없지 않은가? 이번 기회에 하고 싶었던 포비님이 노란책으로 출간하셨었고, nextstep에서는 수강신청에 실패했던 만들면서 배우는 spring 어플리케이션 만들기라도 해봐야겠다는 생각이 들었다. (무엇을 해야 실력이 나아지는지 모르겠고, 혼란이 와서 재밌어 보이는 코딩이라도 해봐야겠다는 생각이 들었다.) 결과적으로는 현재 10일차 정도 되었는데, 재밌게 진행하고 있다. 제대로 알지 못하고 있던 기본 개념들도 점검할 수 있었고, 무엇보다 스프링 없이 순수 java만으로 h..
AcceptanceTest 정리(1) - SpringBootTest
인수테스트를 할 때, 상속받을 AcceptanceTest 클래스에 대한 설명이다. 기본적으로 아래와 같이 작성이 되어있어야, api통신을 할 수가 있다. 이 코드는 최종 코드이고 하나씩 작성하면서 각 설정들이 왜 필요한지 알아보자. 1. 기본적인 인수테스트 클래스 User에 대한 인수테스트를 작성할 클래스이다. 아직 다른 클래스들은 존재하지 않는다. 이 클래스에 테스트를 작성해보도록 하자. 유저이름을 조회하는 인수테스트를 작성해보았다. @Test 어노테이션을 붙였기 때문에 테스트 실행이 가능하다. API호출은 RestAssured를 통해서 할 예정이다. 테스트를 실행해보겠다. 테스트는 실패했다. 아래 빨간 글씨를 보면 Connecttion refused: connect라고 나오고 바로 윗줄의 Test w..