블러킹. 넌블러킹.

블러킹(Blocking) 블러킹은 다른 메서드를 호출할 때 제어권도 다 넘겨주고 작업이 끝난 후에 돌려 받는 것을 말한다. 예제는 2개의 클래스로 진행되며 Data, Main으로 진행 된다. 블러킹 예제 DataSync Class public class DataSync { private int id; private long simulationDuration; public DataSync(int id, long simulationDuration) { this.id = id; this.simulationDuration = simulationDuration; } public String get() { try { Thread.sleep(this.simulationDuration); } catch (InterruptedException e) { e....

April 28, 2022

Java와 Kotlin에서 retainAll 사용하기

Java와 Kotlin에서 retainAll 사용하기 What is retainAll Method? retainAll 메서드는 무엇일까? RetainAll() 메서드는 지정된 컬렉션에 포함되지 않은 모든 배열 목록 요소를 제거하거나 메서드에 매개 변수로 전달된 컬렉션 목록의 모든 요소와 일치하는 현재 컬렉션 인스턴스의 모든 일치 요소를 유지하는 데 사용되는 메서드이다. 아래의 그림을 보면 이해가 더 쉽다. retain 은 a와 b의 공통된 값만을 제외한 모든 값은 없앨 수 있다. 그래서 어떻게 쓰는 건데? a, b라는 컬렉션 인스턴스가 존재할 때 a....

January 28, 2022

TheCarbtoon 개발일지 - 3

(대만 이란쪽 좋은 곳) 벌써 3번째 개발일지 3일 전인가 쓰고 안 썼는데 오늘 다음 일지를 작성하게 됐다. 우선 2번째 일지 후 있었던 일들은 인증 쪽에 구글 메일을 통해 메일을 인증하는 기능이 추가됐는데 일반 사용자를 위한 목적도 있지만 게시물을 올려주는 메인 사용자들을 위한 검증을 위해 추가했다. 그리고 전에 생각했던 코틀린 은 안 하기로 했다. 코틀린 은 안 하고 그냥 전부 자바로 하기로 했는데 그냥 하나로 쭉 하는 게 좋을 거 같아서 그렇게 하기로 해서 코틀린 은 다음 기회에....

January 25, 2022

TheCarbtoon 개발일지 - 2

(지내고 있는 곳의 가까운 학교 운동장?) 한.. 10일 전쯤 개발일지 1을 올렸는데 그 뒤로 몸이 좀 안 좋아서 일주일 쉰 거 같다. 지금 진행 상황은 모든 서비스들끼리 jwt를 통해 사용자를 확인할 수 있게 됐고 인증 서비스와 유저 서비스의 개발이 얼추 진행돼가고 있는데. 요즘 드는 생각이 아무나 그림을 올릴 수 있게 만들고 카카오 페이로 후원을 받을 수 있는 기능을 구현하고 싶다. 재미로 그리는 사람이더라도 후원을 받는 건 나쁘지 않다고 생각한다. 자신의 결과물에 산물이랄까...

January 23, 2022

StreamBridge 사용하기

Spring Cloud Stream Binder Kafka를 위한 글. 버전이 올라오면서 @OUTPUT 어노테이션이 Deprecated 돼서 찾아봤는데 StreamBridge를 이용하면 된다 한다. 일단 처음부터 봐봅시다. implementation group: 'org.springframework.cloud', name: 'spring-cloud-stream-binder-kafka', version: '3.2.1' 를 추가하면 5개의 라이브러리가 추가 된다. Gradle: org.springframework.cloud:spring-cloud-function-context:3.2.1 Gradle: org.springframework.cloud:spring-cloud-function-core:3.2.1 Gradle: org.springframework.cloud:spring-cloud-stream:3.2.1 Gradle: org.springframework.cloud:spring-cloud-stream-binder-kafka:3.2.1 Gradle: org.springframework.cloud:spring-cloud-stream-binder-kafka-core:3.2.1 그럼 시작해보자. 우선 application.yml에 cloud kafka를 설정해줍시다. cloud: function: definition: consumer;producer stream: kafka: bindings: producer-out-0: producer: configuration: key: serializer: org....

January 19, 2022