반응형

Vavr 체험 사용방법(예제)

1. 개요 이 기사에서는 표준 try-catch 블록 이외의 기능적인 오류 처리 방법을 살펴보겠습니다 . 우리는 일반적인 프로그램 처리 흐름에 오류 처리를 내장하여 보다 유창하고 의식적인 API를 만들 수 있게 해주는 Vavr 라이브러리의 Try 클래스를 사용할 것입니다. Vavr에 대한 자세한 정보를 얻으려면 이 기사 를 확인하십시오 . 2. 예외 처리 표준 방식 Response 를 반환 하거나 실패한 경우 확인된 예외인 ClientException 을 throw 하는 call() 메서드가 있는 간단한 인터페이스가 있다고 가정해 보겠습니다 . public interface HttpClient { Response call() throws ClientException; } 응답 은 하나 의 id 필드 만 ..

Spring 2023.01.23

Vavr을 사용한 Lambda 표현식의 예외

1. 소개 JDK에서 제공 하는 기능적 인터페이스 는 확인된 예외 처리를 위해 적절하게 준비되지 않았습니다. 문제에 대해 자세히 알아보려면 이 문서를 확인하십시오. 이 기사에서는 기능적인 Java 라이브러리 Vavr 을 사용하여 이러한 문제를 극복하는 다양한 방법을 살펴보겠습니다 . Vavr 및 설정 방법에 대한 자세한 내용은 이 문서 를 확인하세요 . 2. CheckedFunction 사용하기 Vavr은 확인된 예외를 발생시키는 기능이 있는 기능적 인터페이스 를 제공합니다. 이러한 기능은 CheckedFunction0 , CheckedFunction1 등 CheckedFunction8 까지 입니다 . 함수 이름 끝에 있는 0 , 1, … 8 은 함수의 입력 인수 수를 나타냅니다. 예를 보자: stati..

Spring 2023.01.23

Vavr의 검증 API 소개

1. 개요 유효성 검사는 Java 응용 프로그램에서 자주 발생하는 작업이므로 유효성 검사 라이브러리 개발에 많은 노력을 기울였습니다. Vavr (이전의 Javaslang)은 본격적인 유효성 검사 API를 제공 합니다. 개체 기능 프로그래밍 스타일을 사용하여 간단한 방식으로 데이터의 유효성을 검사할 수 있습니다. 이 라이브러리가 기본적으로 제공하는 기능을 살펴보려면 이 기사 를 확인하십시오 . 이 사용방법(예제)에서는 라이브러리의 유효성 검사 API를 자세히 살펴보고 가장 관련성이 높은 방법을 사용하는 방법을 배웁니다. 2. 검증 인터페이스 Vavr의 유효성 검사 인터페이스는 응용 펑터 로 알려진 기능적 프로그래밍 개념을 기반으로 합니다 . 실행 체인 중에 일부 또는 모든 기능이 실패하더라도 결과를 축적하..

Spring 2023.01.23

Vavr의 Collections API 사용방법(예제)

1. 개요 이전에 Javaslang으로 알려진 Vavr 라이브러리는 Java용 기능 ​​라이브러리입니다. 이 기사에서는 강력한 컬렉션 API를 살펴봅니다. 이 라이브러리에 대한 자세한 내용은 이 문서 를 참조하십시오 . 2. 영구 수집 수정 시 영구 컬렉션은 현재 버전을 유지하면서 컬렉션의 새 버전을 생성합니다. 동일한 컬렉션의 여러 버전을 유지 관리하면 비효율적인 CPU 및 메모리 사용이 발생할 수 있습니다. 그러나 Vavr 컬렉션 라이브러리는 여러 버전의 컬렉션 간에 데이터 구조를 공유하여 이를 극복합니다. 이는 단순히 기본 컬렉션 주위에 래퍼를 제공하는 Collections 유틸리티 클래스 의 Java unmodifiableCollection()과 근본적 으로 다릅니다 . 이러한 컬렉션을 수정하려고..

Spring 2023.01.23

Vavr용 컬렉션 팩토리 메서드

1. 개요 Vavr 은 Java 람다 식 위에 구축된 Java 8+용 강력한 라이브러리입니다. Scala 언어에서 영감을 받은 Vavr 는 패턴 일치, 제어 구조, 데이터 유형, 영구 및 불변 컬렉션 등과 같은 기능적 프로그래밍 구조를 Java 언어 에 추가합니다. 이 짧은 기사에서는 몇 가지 팩토리 메서드를 사용하여 Vavr 컬렉션 을 만드는 방법을 보여줍니다 . Vavr을 처음 사용 하는 경우 다른 유용한 문서에 대한 참조가 포함된 이 소개 사용방법(예제) 로 시작할 수 있습니다. 2. 메이븐 의존성 Maven 프로젝트에 Vavr 라이브러리 를 추가하려면 다음 의존성을 포함하도록 pom.xml 파일을 편집합니다. io.vavr vavr 0.9.1 Maven Central 저장소 에서 최신 버전의 라이..

Spring 2023.01.23

Vavr의 미래 소개

1. 소개 Core Java는 비동기 계산을 위한 기본 API인 Future를 제공합니다. CompletableFuture 는 최신 구현 중 하나입니다. Vavr은 Future API 에 대한 새로운 기능적 대안을 제공합니다 . 이 기사에서는 새 API에 대해 설명하고 새 기능 중 일부를 사용하는 방법을 보여줍니다. Vavr에 대한 더 많은 기사는 여기 에서 찾을 수 있습니다 . 2. 메이븐 의존성 Future API 는 Vavr Maven 의존성에 포함되어 있습니다. 이제 pom.xml 에 추가해 보겠습니다 . io.vavr vavr 0.9.2 Maven Central 에서 의존성의 최신 버전을 찾을 수 있습니다 . 3. Vavr의 미래 Future 는 다음 두 가지 상태 중 하나일 수 있습니다. Pe..

Spring 2023.01.20

Vert.x 스프링 통합

1. 개요 이 빠른 기사에서는 Spring과 Vert-x의 통합에 대해 논의하고 강력하고 잘 알려진 Spring 기능과 Vert.x의 반응성 단일 이벤트 루프라는 두 가지 장점을 모두 활용합니다. Vert.x에 대한 자세한 내용은 여기에서 소개 기사를 참조하십시오 . 2. 설정 먼저 의존성을 제자리에 배치해 보겠습니다. org.springframework.boot spring-boot-starter-data-jpa org.springframework.boot spring-boot-starter-web org.springframework.boot spring-boot-starter-tomcat io.vertx vertx-web 3.4.1 verticles를 사용하여 서비스를 배포할 예정 이므로 spring..

Spring 2023.01.20

Vertx 및 RxJava 통합의 예

1. 개요 RxJava 는 비동기 및 이벤트 기반 프로그램을 만들기 위한 인기 있는 라이브러리로, Reactive Extensions 이니셔티브에서 제시한 주요 아이디어에서 영감을 얻었습니다. Eclipse 의 산하 프로젝트인 Vert.x 는 처음부터 반응형 패러다임을 완전히 활용하도록 설계된 여러 구성 요소를 제공합니다. 함께 사용하면 반응성이 필요한 모든 Java 프로그램 의 유효한 기반이 될 수 있습니다. 이 문서에서는 도시 이름 List이 있는 파일을 로드하고 각각에 대해 일출부터 일몰까지 하루가 몇 개인지 출력합니다. 우리는 공개 www.metaweather.com REST API 에서 게시된 데이터를 사용 하여 일광의 길이를 계산하고 Vert.x 와 함께 RxJava 를 사용하여 순전히 반응적..

Spring 2023.01.20

Vert.x 소개

1. 개요 이 기사에서는 Vert.x 에 대해 논의하고 핵심 개념을 다루며 간단한 RESTfull 웹 서비스를 만듭니다. 툴킷에 대한 기본 개념부터 시작하여 천천히 HTTP 서버로 이동한 다음 RESTfull 서비스를 빌드합니다. 2. Vert.x 소개 Vert.x는 Eclipse 개발자가 제공하는 오픈 소스, 반응형 및 다중 언어 소프트웨어 개발 툴킷입니다. 리액티브 프로그래밍은 변경 사항이나 이벤트에 응답하는 비동기 스트림과 관련된 프로그래밍 패러다임입니다. 마찬가지로 Vert.x는 이벤트 버스를 사용하여 애플리케이션의 다른 부분과 통신하고 이벤트를 핸들러에 비동기적으로 전달합니다. Java, Groovy, Ruby, Python 및 JavaScript와 같은 여러 JVM 및 비 JVM 언어에 대한 ..

Spring 2023.01.20

Java에서 예외가 성능에 미치는 영향

1. 개요 Java에서 예외는 일반적으로 비용이 많이 드는 것으로 간주되며 흐름 제어에 사용하면 안 됩니다. 이 예제 은 이러한 인식이 옳다는 것을 증명하고 성능 문제의 원인을 정확히 지적합니다. 2. 환경설정 성능 비용을 평가하는 코드를 작성하기 전에 벤치마킹 환경을 설정해야 합니다. 2.1. 자바 마이크로벤치마크 하네스 예외 오버헤드를 측정하는 것은 간단한 루프에서 메서드를 실행하고 총 시간을 기록하는 것만큼 쉽지 않습니다. 그 이유는 JIT(Just-In-Time) 컴파일러가 방해가 되어 코드를 최적화할 수 있기 때문입니다. 이러한 최적화는 프로덕션 환경에서 실제로 수행하는 것보다 코드의 성능을 향상시킬 수 있습니다. 즉, 거짓 양성 결과가 나올 수 있습니다. JVM 최적화를 완화할 수 있는 제어된..

Spring 2023.01.20
반응형