• Java8 LocalDate 날짜 계산, 비교, 구하기, format 변경하기

    Java8의 LocalDate를 사용한 날짜 계산 java8에서 날짜를 쉽게 다룰수 있도록 LocalTime, LocalDate, LocalDateTime API가 추가되었습니다. 현재시간 구하기 now()를 사용하여 현재시간은 구할수 있습니다.(장비의 설정된 시간을 따라갑니다.) LocalTime.now(); LocalDate.now(); LocalDateTime.now(); 특정시간 구하기 of()를 사용하여 특정시간으로 생성할수있습니다. LocalTime.of(10, 00); LocalDate.of(2020, 01, 30); LocalDateTime.of(2020, 01, 30, 10, 00, 00); // 날짜포맷 변경 LocalTime.now().format(DateTimeFormatter.ofPattern("HH:mm:ss")); LocalDate.now().format(DateTimeFormatter.ofPattern("yyyy-MM-dd"));...


  • Spring Webflux 1(Reactor 살펴보기)

    Reactor Spring Webflux에서 비동기, 논블록킹 어플리케이션 프로그래밍을 위해 지원되는 라이브러리이며 Spring과 함께 Pivotal에서 관리되고있으며, Reactive streams interface를 구현하였습니다. Reactor를 처음 시작하면 다양한 생성자와, Operators 때문에 익숙해지는데 시간이 걸리게됩니다. 그러나, Reactive Programming에 점차 익숙해지고 좀더 활용하게되면 비동기 논블록킹 프로그래밍을 간결하게 처리할수 있게됩니다. 2가지 Publisher Mono 0 - 1개의 데이터를 다룰때 사용...


  • Spring Webflux 소개

    Spring Webflux Spring Web에서 비동기 & 논블록킹 Reactive programming을 활용한 웹개발 Reactive Stack VS Servlet Stack Springboot Webflux (Reative Stack)를 보면 기본 내장 컨테이너가 Tomcat -> Netty를 사용합니다. Reactive programming을 지원하기위해 Reactor 포함 RestTemplate -> WebClient로 변경하여 비동기 Call이 가능(Servlet stack에서 해당 기능만 쓰기도함) Reactive Repositories를 지원 Reactive 방식을 지원하는...


  • Java8 알파벳순서대로 정렬하기

    Java8의 Stream API를 사용한 알파벳순서대로 정렬하기입니다. sorted() String alpha = "kashdfuihSDFKFCaaaWOYHaVBWIACmzxnGgvdfahgtgNdfsfhuaiwhVEHwetvavxISCDPAJ"; Arrays.stream(alpha.split("")) .sorted() .forEach(System.out::print); //Result //AABCCCDDEFFGHHIIJKNOPSSVVWWYaaaaaaaadddeffffggghhhhhiikmnssttuuvvvwwxxz naturalOrder가 적용된 사전에 정의된 순서대로 정렬이됩니다. String.CASE_INSENSITIVE_ORDER String alpha = "kashdfuihSDFKFCaaaWOYHaVBWIACmzxnGgvdfahgtgNdfsfhuaiwhVEHwetvavxISCDPAJ"; Arrays.stream(alpha.split("")) .sorted(String.CASE_INSENSITIVE_ORDER) .forEach(System.out::print); //Result //aaaaaAaaaABCCCdDddDEefFFfffGggghhHhhhHiIiIJkKmnNOPsSsSttuuVvVvvWWwwxxYz 알바펫 순서대로 정렬이 되었지만, 대소문자가 섞여있습니다. compareToIgnoreCase() String alpha = "kashdfuihSDFKFCaaaWOYHaVBWIACmzxnGgvdfahgtgNdfsfhuaiwhVEHwetvavxISCDPAJ"; Arrays.stream(alpha.split("")) .sorted((o1, o2) -> { int res...


  • Java8의 Lamda와 FunctionalInterface

    Java8에 Lamda가 추가되면서 다음과 같은 프로그래밍이 가능해졌습니다. IntStream.rangeClosed(1, 10) // 1.. 10까지 반복 .map(i -> i + 2) // 2씩 더하고 .filter(i -> (i % 2) == 0) // 2로 나눈값이 0인값만 선별해서 .peek(i -> System.out.println(i)) // 대상값들을 확인하기위해 출력 .sum(); // 모든값을 더한다 타입이 명시되지 않았는데, 어떻게 타입을 알수있을까?...