분류 전체보기

항해 팀 프로젝트 중 세미나 성격으로 발표해야할 일이 생겨서 자세하게 주석으로 설명했기에 따로 설명은 하지 않고 flow대로 포스팅합니다. WebFlux Controller Test MemberChannelControllerTest 주석 있는 버전 @WebFluxTest(controllers = MemberChannelController.class) // 1. 어떤 컨트롤러 클래스를 테스트할건지? @AutoConfigureWebTestClient // 2. @WithMockUser를 사용하기 위해서 class MemberChannelControllerTest { @Autowired private WebTestClient webTestClient; // 3. WebFlux 환경에서 가상의 요청을 만들 수 ..
@ModelAttribute 먼저 @ModelAttribute 어노테이션이 붙은 매개변수를 client에게서 요청받아서 처리하려는 경우 아래와 같은 특징이있다. 객체에 데이터를 바인딩할 수 있는 생성자혹은 Setter메서드가 하나는 필요하다. Query String (w-xxx-url-encoded)방식이나 Form 형식 데이터가 아니면 null을 반환한다. 스프링 내부적으로 @ModelAttribute 어노테이션이 붙은 Controller에 전달될 매개변수 RequestDto 객체에 에 client의 요청 데이터 값을 bind하기 위해서 ModelAttributeMethodProcessor 클래스가 RequestDto객체를 어떻게 생성하는지 살짝만 보면, ModelAttributeMethodProces..
@Slf4j 사용했는데도 cannot find symbol log 오류가 발생한다면? 새로 스프링부트 프로젝트를 생성한 후 아래 사진과 같은 오류를 겪었다. 구글링 10초만에 해결방법을 찾았으나 시원하지 않았다. 해결 방법은 아래처럼 직접 LoggerFactory.getLogger() 를 호출하여 log 변수를 직접 선언한것. @Component public class LoggingFilter implements WebFilter { private static final Logger log = LoggerFactory.getLogger(LoggingFilter.class); @Override public Mono filter(ServerWebExchange exchange, WebFilterChain c..
· 항해99
기대하던 항해 실전프로젝트(6주)가 시작되었고, 항해99 17기 최고 아웃풋으로 남겠다는 다짐과 함께 Challenging한 주제를 잡고 꾸역꾸역 해내자 라는 마음가짐으로 팀원들과 어려운 주제를 잡고 가기로 했다. 주제는 트위치와 같은 라이브 스트리밍 방송 송출/시청 플랫폼 개발 이였는데, 운명적이게도 주제를 선정하고 4일 뒤 쯤에 트위치가 한국에서 망 사용료를 감당하지 못해 사업을 철수하겠다는 기사가 났다. 먼저 벌써부터 많은 트래픽이 발생될 예정이고, "실시간" 스트리밍이 되어야하기때문에 대용량 트래픽에 대해서 빠르게 대응할 수 있도록 아키텍쳐를 설계해야했다. MSA를 경험해보고싶은 마음과 현실적인 솔루션인 SOA 아키텍쳐가 혼용된 애매한 아키텍쳐 구조를 시작으로, 필요없는 부분은 버리고, 나눌 필요..
· 항해99
주제 선정 가장 먼저 주제선정이 되어야 어떤 아키텍쳐, 기술 스택 등등 상세히 결정할 수 있는데, 우리 팀의 경우는 MSA, 부하 테스트 및 분석, 오토스케일링 등을 학습하고 경험해보고 싶었기에 기술을 위한 주제를 고려해보았다. 채팅방이나 표 예매 등의 주제는 부하가 걸리는 하나 혹은 두개의 작업에 대해서 부하 테스트를 진행하게 된다고 생각하여, 병목현상이 발생하는 지점, 부하가 걸리는 원인 등을 거의 알고 테스트를 진행하게 될 것 같다는 생각에 아쉬운 면이 있었다. 그런 중 개인 방송 스트리밍 서비스에 대한 얘기를 나누다가 외부 라이브러리(FFMPEG 등)을 포함하며 일련의 작업들 중 어디서 부하가 걸리는지 테스트를 통해 분석해가야한다는 점이 매력적이라서 선택하게되었다. MSA? SOA? MA? 기존에..
서병렬
'분류 전체보기' 카테고리의 글 목록 (2 Page)