의존성, DI, DIP에 대한 개념을 모른다면 먼저 선행을 하길 바란다. ➡ 클릭결론부터 말하면, 앞서 배운 DIP와 같은 목적이라고 할 수 있다. 하지만 DIP랑은 또 다른 개념이다.IoC(Inversion of Control)은 "제어의 역전"이다.제어: 어떠한 클
싱글톤 패턴(Singleton pattern) 싱글톤 패턴은 하나의 클래스에 오직 하나의 인스턴스만 가지는 패턴이다. 보통은 하나의 클래스로, 객체가 생성되면 서로 다른 인스턴스가 각각 메모리에 할당된다. 하지만 싱글톤은 하나의 클래스를 기반으로 단 하나의 인스턴스를
AOP는 관점 지향 프로그래밍이다. 관점을 지향한다는 것이 대체 무슨 뜻인지 잘 와닿지 않는다.여기서 관점이란 어떤 기능을 구현할 때, 그 기능을 핵심 기능과 부가 기능으로 구분해 각각을 하나의 관점으로 보는 것을 의미한다.이것 역시 잘 와닿지 않을 수 있다. 예시를
초기 웹서버(Web Server)는 정적 페이지만 요청/응답할 수 있었다. 한마디로 웹 서버(Web Server)는 단순히 정해진 HTML파일을 주고 받는 그냥 무식한 서버라고 생각하면 된다. 현재 우리가 자주 접하는 웹 페이지는 대부분 동적 페이지로, 예를 들어 우리
결론부터 말하자면 @Valid 와 @Validation의 차이는 다음과 같다.@Valid자바 표준 스펙으로, Bean Validator라는 검증기를 통해 객체의 유효성을 검증한다.Spring에서는 LocalValidatorFactorBean이 제약 검증을 한다.유효성에
컴파일러가 예외 누락을 체크해주기 때문에, Exception을 잡아서 try-catch로 처리하거나 혹은 throws를 선언해야한다.말 그대로 Runtime(실행 중)단계에 발생할 수 있는 에외로, Exception을 잡아서 처리하지 않아도 throws를 생략할 수 있
Connection 연결 : 주로 TCP/IP로 커넥션 연결을 수행한다.SQL 전달 : 웹 서버는 DB가 이해할 수 있는 SQL 쿼리문을 연결된 Connection을 통해 DB에 전달한다.DB는 전달 받은 SQL은 수행하고, 그 결과를 응답한다.JDBC API는 자바에
어플리케이션 로직은 DB Driver를 통해 Connection을 조회DB Driver는 TCP/IP로 DB와 커넥션 연결 (이 과정에서 3-way handshake와 같은 동작이 발생한다.)DB Driver는 USERNAME/URL/PW 와 같은 부가정보를 DB에 전
Controller에서 모든 Board를 조회하는 메소드를 테스트 코드를 작성하던 중 일어난 일이다. 우선 코드를 먼저보자 사실 이 로직상은 아무 문제가 없다.하지만 다음과 같이 401 Unauthorized가 발생하는 이유가 도대체 뭘까..하다가😮💨느낌이 Sec