전체 글(126)
-
@Configuration vs @Component
@Component와 @Configuration은 큰 차이는 없다. 가장 큰 차이는 @configuration @bean은 개발자가 직접 제어 불가능하고 @component는 개발자가 직접 제어 가능하다
2022.12.28 -
@Configuration
외부라이브러리 또는 내장 클래스를 Bean으로 등록하고자 할 경우 사용(개발자가 직접 제어가 불가능한 클래스) 1개 이상의 @Bean을 제공하는 클래스의 경우 반드시 @Configuration을 사용. 즉, 해당 클래스에서 한 개 이상의 Bean을 생성하고 있을때 선언 해주어야 함
2022.12.28 -
@Component
@Component 어노테이션을 이용하면 Bean Configuration 파일에 Bean을 따로 등록하지 않아도 사용할 수 있다. 빈 등록자체를 빈 클래스 자체에다가 할 수 있다는 의미이다. @Component 어노테이션은 기본적으로 타입기반의 자동주입 어노테이션이다. @Autowired, @Resource와 비슷한 기능을 수행한다고 할 수 있겠다. 하위 어노테이션으로는 @service @repository등이 있다.
2022.12.28 -
@Service
@service 어노테이션은 해당 클래스를 루트 컨테이너에 빈(Bean) 객체로 생성해주는 어노테이션입니다. 부모 어노테이션은 Component로 같은 기능을 한다. 마찬가지로 @Repository 어노테이션도 비슷한 기능을 하지만 가시성을 위해서 두가지를 구분해서 사용한다.
2022.12.28 -
HATEOAS
스프링 프로젝트 REST하게 리소스를 제공하기 위한 툴을 제공하기위한 라이브러리 하이퍼미디어를 활용하여 애플리케이션서버에 정보를 동적으로 전달 요청의 응답에 응답뿐만 아니라 링크로 취할수 있는 추가적인 행동을 알려줌 링크 만드는 기능 리소스 만드는 기능 링크 찾아주는 기능
2022.12.24 -
로드밸런스(Load Balance)
기술면접을 진행하면서 로드밸런서의 하드웨어적인 부분과 소프트웨어적인 부분에 관련된 질문이 들어왔다. 내가 알고있는 로드밸런서는 L4 / L7과 비슷한 역할을 하는 아파치카프카가있었기때문에 이 두가지를 이야기하였다. 면접이 종료되고 검색한결과 CDN이라는 기법도 존재하였다. 그래서 오늘은 로드밸런서에 대해서 작성해보겠다. 먼저 여러 서버가 분산 처리 하는것을 로드 밸런싱이라고 한다. 요즘은 여러개의 서버를 운용하기때문에 한 서버로 트래픽이 몰렸을 경우 그 트래픽을 여러개의 서버로 잘 분산해서 전달해주는 역할이 필요하다. 그렇다면 L4 / L7은 무엇일까? L4 : Transport 계층을 사용, IP 주소와 포트 번호 부하 분산이 가능 L7 : Application 계층을 사용, URL 또는 HTTP 헤더..
2022.12.23