씨앗뿌리는 개발자의 개발노트
Java Completable Future 사용법
java 2023. 4. 25. 17:18

CompletableFuture 클래스는 Java 8에서 추가된 비동기 프로그래밍에 유용한 클래스입니다. CompletableFuture는 Future 인터페이스의 확장으로, 비동기식 계산을 지원하며, 결과를 반환하기 전에 블록하지 않는 것이 가능합니다. 또한 CompletableFuture는 비동기 작업을 체이닝하여 연결할 수 있으므로 매우 유용합니다. CompletableFuture를 사용하여 비동기식으로 실행하려는 작업을 선언합니다. 그런 다음 CompletableFuture의 thenApply() 또는 thenAccept() 메서드를 사용하여 작업이 완료되면 결과를 처리합니다. 또한 thenCompose() 메서드를 사용하여 두 개의 CompletableFuture를 체인으로 연결하고 결과를 결합..

Java의 Matcher를 활용한 정규식 검색 및 추출
java 2023. 3. 6. 17:27

Java에서는 정규식 패턴 확인 및 추출을 위해 Matcher class의 find()나 matches() 메소드를 사용하게 된다. find() 메소드 Matcher.find()는 하나의 문자열에서 여러 개의 정규식 패턴에 해당하는 문자열들을 찾을 때 사용한다. find()를 호출할 때 마다 다음 문자열이 있으면 true를 반환하고 더 이상 없을 때는 false가 반환된다. find()가 true일때는 start(), group(), end()메소드를 호출할 수 있다. start()는 해당 문자열의 시작 위치, end()는 끝 위치를 반환한다. gruop()은 해당 문자열 자체를 반환한다. Pattern stringPattern = Pattern.compile("[a-zA-Z]+"); Matcher m ..

article thumbnail
Java Gradle Project에서 Unit Test코드 작성하기
java 2023. 3. 6. 10:10

Test 코드 작성하기 먼저 다음과 같이 간단한 클래스를 만든다. public class Calculator { public int plus(int x, int y) { return x + y; } } Intellij에서는 클래스 이름(Calculator)에서 Code Generate를 실행하면 Test코드를 작성할 수 있다. 이때 Destination package는 소스 코드와 동일하게 지정해야 추후 관리하기 쉽다. 테스트 이름 명명법 given, when, then 으로 이름을 구성한다. 그러면 해당 테스트에 대한 입력, 실행, 출력을 쉽게 파악할 수 있다. 그리고 테스트 코드도 given, when, then의 영역으로 나누어 구성한다. given에서는 입력 데이터, 객체들, 목(mock)을 준비..

Java Stream API
java 2023. 3. 4. 11:39

개요 Java8에서 도입된 Stream API에 대해 알아보자. Stream API는 lambda식, Optional등과 함께 반드시 알아야 할 Java8의 기능이다. Stream생성 Stream을 만드는 방법은 다양하다. 한 가지 중요한 특징은 stream을 만들어서 연산을 적용하더라도 원본 데이터는 변하지 않는다는 점이다. 따라서 하나의 원본 데이터에서 여러 개의 stream을 만들어서 사용해도 무방하다. 빈 Stream 생성 Stream emtpyStream = Stream.empty(); Collection으로부터 생성 List나 Set과 같은 Collection으로부터 Stream을 만들 수 있다. Collection list = Arrays.asList("s1", "s2", "s3"); Str..