[JAVA] Logger 선언: 정적(static) vs 인스턴스(instance) 방식의 차이, 권장방법?
·
백엔드 back-end
자바 로그 선언에 대해서 찾아보면 2가지 선언방법이 나옵니다. 정적선언LOGGER를 static으로 선언함으로써 클래스에 종속된 상태로 유지private static final Logger logger = LoggerFactory.getLogger(JavaClassName.class);인스턴스 선언 getClass() 를 사용해 현재 인스턴스의 클래스 타입을 기준으로 Logger를 선언 private final Logger log = LoggerFactory.getLogger(getClass());   https://slf4j.org/faq.html#declared_static SLF4J FAQGeneralities What is SLF4J? When should SLF4J be used? Is SLF4..
[리팩토링] if-statemets 를 효율적이고 가독성있게 사용하는 방법 3가지
·
백엔드 back-end
if-else 문은 프로그래밍 할때 제일 기초로 배우고 사용하는 분기문 입니다.  혼자 프로그래밍을 할때는 그저 남발하며 사용하다가, 실무 프로젝트에 코드들을 보면 "아 내 코드는 아주 지저분 했구나" 를 알 수 있었습니다. 그러면 if 문을 효율적이고 가독성 있게 사용하는 방법은 무엇일까? 실무 프로젝트에 리팩토링 되어있는 코드를 보고 느낀, 고려하면 좋은 3가지 개념에 대해 기술하겠습니다.  1. Guard clause   if-else 이 중첩(nested)되어있으면 코드가 복잡해 지고, 가독성이 낮아집니다.  code depth가 깊어지는 것을 막기위해 Guard clause를 고려하여 코딩을 하면 좋습니다. == code 가 평탄화 된다. (code flatterd)  1.1 Guard clau..
[JPA] 엔티티 클래스 테이터 타입 int, Integer 차이점/ null 값 오류 해결방법
·
백엔드 back-end
user 테이블을 만들고 SignInDto, controller 추가하여 로그인을 요청하는 기능을 구현하고 있습니다.  TblUser.java @Entity@NoArgsConstructor(access = AccessLevel.PROTECTED)@Getter@Setter@JsonIgnoreProperties(ignoreUnknown = true)public class TblUser implements UserDetails { @Id @Column(name="userid") private Long userid ; @Column(name="username",nullable = false,unique = true) private String username; @Column(na..
[Spring] @Controller & @RestController 차이/ 함께 사용가능? / 사용하는 이유?
·
백엔드 back-end
@Controller 전통적인 spring mvc 의 컨트롤러view 템플릿 반환하기 위해 사용됨. (viewName을 반환한다.) 주로 요청 처리 메서드에 사용되는 @RequestMapping 어노테이션과 결합됨@Controller public class TestController { @GetMapping ("api/board/update") public String update() { return "update"; //"update"이라는 이름의 뷰를 반환 (ex: update.jsp) } }  @RestController Controller,ResponseBody 의 동작을 결합함. RESTful API를 위해 특별히 설계 됨.컨트롤러의 모든 메서드는 JSON, XML 등으로 직접 H..