본문 바로가기

Language/JAVA

(70)
LMAX Disruptor 튜터리얼 LMAX Disruptor 튜터리얼 https://github.com/LMAX-Exchange/disruptor/wiki/Getting-Started 를 번역 하였다. 기본 이벤트 프로듀스(생산)와 컨슘(소비) Disruptor에 대해 알아보기 위해 Disruptor를 이용해 가장 간단하고 테스트를 하기 쉬운 예제로 알아볼 예정입니다. 예제 중 하나는 1개의 long타입의 값을 프로듀서(producer)에서 컨슈머(consumer)로 보낼 것입니다. 컨슈머는 간단하게 값을 출력하기만 할 것입니다. 먼저 데이터를 들고갈 오브젝트를 만저 만들어 볼 것입니다. LongEvent.java 1234567import lombok.Data; @Datapublic class LongEvent { private long..
java uuid만들기 java uuid만들기 12345678910111213import org.junit.Test; import java.util.UUID; public class MakeUUIDTest { @Test public void name() { String uuid = UUID.randomUUID().toString(); System.out.println(uuid); }} Colored by Color Scriptercs uuid는 유니버셜 유니크 id로서 우주에서 유일한 id라고 한다. end.
Spring Boot DynamoDb연동하기 Spring Boot DynamoDb연동하기 ServerModule.java import com.amazonaws.auth.AWSCredentialsProvider; import com.amazonaws.services.dynamodbv2.AmazonDynamoDB; import com.amazonaws.services.dynamodbv2.AmazonDynamoDBClientBuilder; import org.springframework.beans.factory.annotation.Value; import org.springframework.context.annotation.Bean; public abstract class ServerModule { @Value("$") String awsRegion; ..
java do while java do while do while은 while문과는 다르게 최소한 한번은 실행 되는 while문이다. do{} 블록 안에 있는 내용이 최소한 한번 실행 된다. 12345678public class DoWhileExam { public static void main(String[] args) { do { System.out.println("hello"); } while (false); }} Colored by Color Scriptercs 결과 hello 12345678public class DoWhileExam { public static void main(String[] args) { do { System.out.println("hello"); } while (true); }} Colored b..
java 재귀 호출, 재귀 함수 java 재귀 호출, 재귀 함수 재귀함수란? 자기 자신을 특정 조건이 될 때까지 계속 호출하는 함수이다. 그래서 함수 안에 if조건문이 들어가 있고 끝나는 조건이 파라메터로 들어간다. 그리고 return에서 자기 자신을 호출한다. 1.return 값이 있을 때 package examples; public class RecursiveExam { private int count(int idx) { System.out.println("idx:"+idx); if(idx == 0) return 0; return count(idx -1); } public void run() { int result = count(10); System.out.println("result:"+result); } public static..
RxJava에 대해 알아보자 - 제3편 데이터 형변환 해서 Flowable로 만들기(flatmap) RxJava에 대해 알아보자 - 제3편 데이터 형변환 해서 Flowable로 만들기 12345678Flowable source = tradingService.request(tradingRequest) .map(jsend -> (Map) jsend.data) .map(data -> (ArrayList) data.get("items")) .flatMap(dataArl -> Flowable.fromIterable(dataArl)); source.subscribe(item -> { System.out.println(item);});Colored by Color Scriptercs .flatMap()은 map한 결과가 Observable 또는 Flowable등 able로 나온다.
JSend란? https://labs.omniti.com/labs/jsend JSend란?JSend는 웹서버에서 JSON 형태의 응답(Response)을 줄 때 사용하는 형식이다. REST 형태의 API를 호출 할 때 주로 사용한다. JSend를 사용하는 이유JSON형식으로 데이터를 주는 웹 서비스가 무수히 많은데 각 서버들마다 데이터를 주는 형식이 조금씩 다르다. 그래서 프론트엔드 개발자들은 각 서버들마다 json형식으로 통신하는 매번 새로운 형태의 처리하는 코드를 만들어야 한다. 하지만 이런 데이터 통신 과정에서 일정한 패턴이 있는데 그걸 jsend라는 형태로 표준화 시켜서 백엔드 개발자와 프론트엔드 개발자들 사이에 커뮤니케이션 하는 비용을 줄이기 위함이다.
Pair.of at Apache commons 사용법 Pair.of at Apache commons 사용법 Pair.of()란? 자료구조 중 하나로 형태가 같거나 다른 값을 2개 넣을 수 있습니다. 꺼낼때는 .getRight(), .getLeft()로 꺼냅니다. import org.apache.commons.lang3.tuple.Pair; import org.junit.Test; public class PairOfTest { @Test public void pairOf() { Pair pair = Pair.of("10", 20); System.out.println(pair.getLeft()); System.out.println(pair.getRight()); } } 위 예제를 보면 String형의 "10"과 Integer형의 20을 넣고 꺼내는 과정입니다.