전체 글

전체 글

    [Kafka] 컨슈머의 Poll 동작과정 및 max.poll.records 에 대한 오해

    [Kafka] 컨슈머의 Poll 동작과정 및 max.poll.records 에 대한 오해

    예제 및 테스트 코드는 github 에서 확인 가능합니다. Kafka MessageListener 에서 max.poll.records 옵션의 동작 이번에는 카프카 컨슈머의 Listener 와 max.poll.records 옵션의 관계 그리고 제가 가지고 있던 오해에 대해 알아보겠습니다. 먼저 카프카 컨슈머의 구현체인 리스너는 크게 다음과 같이 나누어져 있습니다. MessageListener : Record 를 1개씩 처리한다 BatchMessageListener : Record 다수를 한번에 처리한다 그리고 max.poll.records 옵션은 다음과 같습니다. 컨슈머가 polling 시 최대로 가져갈 수 있는 record 개수 (defualt : 500개) 그렇다면 MessageListener 로 컨슈..

    [JPA] OSIV (Open-Session-In-View) 동작원리 및 주의사항

    [JPA] OSIV (Open-Session-In-View) 동작원리 및 주의사항

    예제 및 테스트 코드는 github 에서 확인 가능합니다. OSIV(Open Session In View) 동작원리 및 주의사항 이번엔 JPA/Hibernate 에서 사용되는 개념인 OSIV(Open Session In View) 에 대해 알아보겠습니다. OSIV 는 영속성 컨텍스트를 View 영역까지 열어둔다는 기능입니다. 즉, View 레이어에서도 지연로딩과 같은 영속성 컨텍스트의 특징을 사용할 수 있다는 이야기입니다. Spring Boot 에서의 OSIV 는 기본적으로 활성화된 상태입니다. 그리고 설정을 명시하지 않고 default 로 어플리케이션을 실행하게 되면 다음과 같은 경고메시지를 만나볼 수 있습니다. spring.jpa.open-in-view is enabled by default. The..

    [Spring] 서로 다른 테스트 클래스에서 테스트 데이터를 공유하는 방법

    [Spring] 서로 다른 테스트 클래스에서 테스트 데이터를 공유하는 방법

    예제 및 테스트 코드는 github 에서 확인 가능합니다. 스프링에서 여러 테스트 클래스에서 테스트 데이터를 공유하는 방법 이번에는 Spring 환경에서 서로 다른 테스트 클래스에서 데이터를 공유하는 방법에 대해 소개해드리려 합니다. Spring Integration Test 를 작성하다 보면 테스트를 위한 데이터를 세팅하는 과정, 혹은 테스트를 위한 선행 작업 or 전처리 작업이 필요한 경우가 있습니다. 이때, 일반적으로 많이 사용하는 방법으로는 @BeforeEach, @BeforeAll 과 같은 JUnit 라이프 사이클 어노테이션을 많이 이용하게 됩니다. @BeforeEach 의 경우 테스트 마다 매번 실행되기에 테스트 간의 격리를 할 수 있어 보다 신뢰성 있는 테스트를 할 수 있다는 장점이 있지만 ..

    SpEL(Spring Expression Langauge) 사용법 + 어노테이션에 SpEL로 값 전달하기

    SpEL(Spring Expression Langauge) 사용법 + 어노테이션에 SpEL로 값 전달하기

    예제 및 테스트 코드는 github 에서 확인 가능합니다. Spring Expresion Language(SpEL) 이란? 스프링 공식 문서에서는 SpEL을 다음과 같이 설명합니다. SpEL은 런타임 시 객체 그래프 쿼리 및 조작을 지원하는 강력한 표현언어이다. 출처: https://docs.spring.io/spring-framework/docs/3.2.x/spring-framework-reference/html/expressions.html Type Operators Arithmetic +, -, *, /, %, ^, div, mod Relational , ==, !=, =, lt, gt, eq, ne, le, ge Logical and, or, not, &&, Conditional and, or, ..

    서브넷마스크(subnet mask)와 서브넷팅(subnetting)이란??

    서브넷마스크(subnet mask)와 서브넷팅(subnetting)이란??

    서브넷 마스크(Subnet Mask)와 서브넷팅(Subnetting)?? 서브넷팅(Subnetting)이란 ?? 서브넷팅이란 IP주소 낭비를 방지하기 위해 네트워크를 분할하여 효율적으로 사용하는 개념입니다. IPv4 주소(32bit)의 고갈이 현실화되며 이 문제를 해결하기 위해 서브넷팅이라는 개념이 등장했습니다. 서브넷팅에 대해 알아보기 전에 우선 ip에 대해 간략하게 알아보겠습니다. 127.0.0.1 흔히 볼 수 있는 이런 형태의 ip가 IPv4 형식입니다. 이를 2진수로 나타내면 01111111.00000000.00000000.00000001 과 같습니다. ip는 네트워크 영역, 호스트 영역 두 가지로 나누어집니다. 네트워크 영역: 내부적으로 자유롭게 통신이 가능한 영역(호스트들을 모은 네트워크를 지..