• Spring 비동기 처리의 이해 3(Webflux with R2DBC, 게시판 만들기)

    이전 포스트에서 Reactive Streams Interface를 이해하였습니다. (Reactive Streams Interface 구현해보기) 이제 Spring Webflux를 사용하여 프로그램 간단한 게시판을 만들어보겠습니다. 어플리케이션 구성 Springboot starter webflux rxNetty, Reactor를 이용한 비동기 어플리케이션 지원 R2DBC 기존 JDBC는 Blocking방식으로 동작하는 문제가 있어, Reactive Relational Database Connectivity (R2DBC) 이용해야 완전한 비동기 어플리케이션 개발이 가능 H2 Database In-Memory...


  • Spring 비동기 처리의 이해 2(Reactive Streams Interface 구현해보기)

    이전 포스트에서 비동기 처리가 필요한 이유와 개념을 이해하였으니 (Spring 비동기 처리의 이해) Spring Webflux를 사용하여 프로그램을 만들기 앞서, Reactor를 좀더 이애하기위해 Reactive Streams Interface 직접 구현해보겠습니다. Reactive Streams Interface란 무엇인가? reactive menifesto 리액티브 시스템이란? 응답이 잘 되고, 탄력적이며 유연하고 메시지 기반으로 동작하는 시스템 입니다. 우리는 이것을 리액티브 시스템(Reactive Systems)라고 부릅니다....


  • Spring 비동기 처리의 이해

    해당 내용은 Toby님의 Yutube의 자바와 스프링 비동기 기술 내용을 보고 개인적으로 정리한 내용입니다. Web Server Architecture 변화 과거 많은 서비스들이 위와같이 하나의 DB, 하나의 어플리케이션에서 데이터를 처리하였습니다. 하지만 지속적인 배포 및 어느 한부분의 장애가 발생하였을때의 서비스중단등 의 문제를 가지고있습니다. 최근 많은 서비스들이 위의 이미지와 같이 수많은 Front, Back-end Server가 서로...


  • Java 테스트 케이스 작성하기 With Junit5

    테스트 케이스란? 내가 작성한 코드가 예상한대로 잘동작하는지 예상되는 값을 부여하여 어플리케이션 빌드시 동작을 검증하는 기능 테스트 케이스 꼭 작성해야하는 이유 어플리케이션을 개발하다보면 시간이 흐를수록 처음 작성했던 코드와는 다르게 기능추가, 의존성 추가, 라이브러리 변경 등 많은 변경이 일어나게됩니다. 하지만 그때마다 기존 기능들을 다시 테스트하고 검증하는 일은 많은 시간과 혹시모를 실수가 발생하게됩니다....


  • Java for, foreach, Stream API에서의 반복문 알아보기

    Java for, foreach, Java8 Stream API에서의 반복문 알아보기 Java에서 반복하여 값을 처리하는 for, foreach, 더 나아가 Stream API에서의 반복문 알아보도록 하겠습니다. 기본적인 for문 반복적으로 증가하는 변수 ‘i’를 이용하여 직접 리스트에서 값을 가져옵니다. 반복 상한수를 직접 정해줘야 하여 ArrayIndexOutOfBoundsException가 일어날 가능성이 있으므로 리스트 순회할때 사용은 비추천합니다. List<Integer> integers = Arrays.asList(1, 2,...