Category
[Spring] Spring Event 를 이용한 비동기 이벤트 처리
예제 및 테스트 코드는 github 에서 확인 가능합니다.[Spring] Spring Event 를 이용한 비동기 이벤트 처리Spring Event 는 스프링에서 제공하는 이벤트 기반 프로그래밍을 지원하기 위한 기능입니다.이벤트는 이벤트를 발행하는 주체(publisher) 와 이벤트를 처리하는 주체(listener) 로 나누어 집니다. 이벤트를 이용하면 코드에 대한 의존성을 분리할 수 있고 특정 작업 이후에이벤트를 통해 추가적인 작업을 의존성 없이 진행할 수 있다는 장점이 있습니다. 예를 들면, 회원가입 이후 가입 완료에 대한 메일을 발송하는 경우 메일서버에 장애가 발생해도 회원가입은 정상적으로 이루어져야 합니다.이때, 회원가입과 메일발송에 대한 의존성을 분리하는데 이벤트를 사용할 수 있습니다. Appl..
[Network] Telnet 설치 및 사용법 (MAC 기준)
Telnet 간단 사용법안녕하세요 이번엔 Telnet 에 대해 간단한 사용법을 알아보려합니다.개발을 진행하다보면 내부망에서 외부 서비스와 연동을 한다던지 AWS 방화벽 및 보안그룹 설정 등을 통해 타 서비스와 연동이 필요한 경우가 간혹 존재하는데요. 이때, 로컬PC 혹은 서버에서 연동할 서비스와 연결이 가능한 상태인지 (통신이 되는 상태인지) 확인하는 방법으로Telnet 을 이용하면 간단하게 확인할 수 있습니다. Telnet 이란?Telnet 은 원격지의 컴퓨터에 접속할 때에 지원되는 인터넷 표준 프로토콜입니다.Telnet 은 다음과 같은 특징을 가지고 있습니다.TCP/IP 기반의 프로토콜23번 Port 를 기본포트로 사용원격 터미널 접속 서비스그럼 Telnet 을 이용해 원격지 서비스와 통신이 가능한 ..
[Spring] ContextCaching 으로 Test 성능 개선하기 (@MockBean, @SpyBean)
예제 및 테스트 코드는 github 에서 확인 가능합니다. Spring Test 에서 ApplicationContext 캐싱하기안녕하세요 Spring 환경에서 테스트시에 테스트 코드가 늘어남에 따라 테스트 수행시간이 오래걸리는 경우를 한번쯤 겪어보셨을텐데요.일반적으로는 테스트시 @SpringBootTest 를 이용하게 되면 스프링의 ApplicationContext 에 있는 모든 Bean 을 띄우게 됩니다. 이 과정에서의 소요시간이 상당합니다. 만약 테스트마다 ApplicationContext 를 새로 띄우게 되면 그만큼 시간이 더 오래 소요될텐데요. 스프링에서는 이런 문제가 없기 위해 Context Caching 이라는 개념이 존재합니다.테스트시 ApplicationContext 를 캐싱해서 재사용하는..
[Spring] @Component vs @Configuration
예제 및 테스트 코드는 github 에서 확인 가능합니다. @Component VS @Configuration안녕하세요. 스프링을 사용하면서 위의 두 어노테이션을 자주 사용하고 계실텐데요.저도 마찬가지로 두 어노테이션을 자주 사용하지만 Bean 으로 선언하거나 생성할 수 있다는 것만 알고있었지둘 사이에 어떤 차이가 있는지 그리고 어떤 상황에 사용해야 할지에 대해서는 잘 알고있지 못했습니다.그래서 둘 사이의 용도 그리고 동작방식에 어떤 차이가 있는지 좀 더 알아보기 위해 글을 작성하게 되었습니다. @Component먼저 @Component 에 대해 간단하게 어떤 어노테이션인지 알아보겠습니다.스프링 공식문서에서는 @Component 를 다음과 같이 이야기 합니다.Indicates that the annot..
Kafka 와 Redis 의 Pub/Sub 비교
- Kafka, Redis 의 Pub/Sub 방식의 차이 - Pub/Sub 이란? - Kafka Pub/Sub 의 특징 - Redis Pub/Sub 의 특징 - Kafka, Redis Pub/Sub 비교 - 메시지 수신 단위의 차이Kafka, Redis 의 Pub/Sub 방식의 차이이번에는 Kafka 와 Redis 의 Pub/Sub 기능에 대해 서로 어떤 차이가 있는지 알아보려합니다.그전에 우선 Pub/Sub 기능이 무었인지 간단하게 살펴보겠습니다. Pub/Sub 이란?Pub/Sub 은 Publush / Subscribe 의 줄임말입니다. 생산자/소비자 패턴이라고도 불립니다.이 패턴은 메시지 기반의 미들웨어로 메시지를 발행하는 발행자(publisher) 와 메시지를 수신하는 구..