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로 나온다.
https://labs.omniti.com/labs/jsend JSend란?JSend는 웹서버에서 JSON 형태의 응답(Response)을 줄 때 사용하는 형식이다. REST 형태의 API를 호출 할 때 주로 사용한다. JSend를 사용하는 이유JSON형식으로 데이터를 주는 웹 서비스가 무수히 많은데 각 서버들마다 데이터를 주는 형식이 조금씩 다르다. 그래서 프론트엔드 개발자들은 각 서버들마다 json형식으로 통신하는 매번 새로운 형태의 처리하는 코드를 만들어야 한다. 하지만 이런 데이터 통신 과정에서 일정한 패턴이 있는데 그걸 jsend라는 형태로 표준화 시켜서 백엔드 개발자와 프론트엔드 개발자들 사이에 커뮤니케이션 하는 비용을 줄이기 위함이다.
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을 넣고 꺼내는 과정입니다.
mvn clean package -Dmaven.test.skip=true end.
rxjava란?RxJava는 Reactive java에서 이름을 따왔다. Reactive programming(리액티브 프로그래밍) 패러다임을 자바에서 구현한 프로그래밍 라이브러리이다. 프로그래밍 패러다임에는 여러가지가 있는데 OOP(객체지향), Function(함수), Imperative(명령형) 등이 있다. 대체로 많은 프로그램들이 명령형 프로그래밍이라고 할 수 있고 여기에는 자바, 파이썬, C, Node.js등도 포함 되어 있다.특정 언어라고 해서 한가지 프로그래밍 패러다임만 사용하는건 아니지만 특정 목적에 맞게 설계된 언어들이 있다. 여기에서 '패러다임(paradigm)'은 방법론 정도로 보면 된다. 여러가지 언어 중에서 자바는 OOP(Object Oriented Programming)라고 해서 ..
Reactor란? Reactor란? https://projectreactor.io/에서 만든 Java라이브러리로 JVM기반의 non-blocking(논 블록킹) 어플리 케이션을 만들기 위한 라이브러리입니다. 1.Flux(플럭스) flux를 사전에서 찾아보면 '유동', '흐름'이라는 뜻입니다. Flux는 완료된 요청이나 오류가 발생해서 종료된 요청을 비동기 순서로 처리하는 표준 퍼블리셔입니다. 그래서 Flux의 값이 될 수 있는 것은 특정 값, 완료 시그널, 에러 이렇게 3가지 입니다. 리액티브 스트림 스펙에서 앞에 3가지 신호 타입은 각각 onNext, onComplete, onError 메소드로 처리합니다. 예제는 아래와 같습니다. Flux seq1 = Flux.just("foo", "bar", "fo..
Windows JAVA_HOME확인 하기 echo %JAVA_HOME% 현재 위치 보는 명령어 echo %cd% 특정 위치로 JAVA_HOME설정하기 setx -m JAVA_HOME "C:\Program Files\Java\jdk1.8.0_271" MAC 현재 머신에 어떤 java들이 깔려 있는지 확인하기 /usr/libexec/java_home -V vim ~/.zshrc 아래 줄 추가 export JAVA_HOME=$(/usr/libexec/java_home -d 64 -v "1.8") source ~/.zshrc end.
json이란? json {} [{}, {}] [ {}, {}, {} ] json형 map형태의 자료구조 [ {'key':'0005930', 'value':'삼성전자', 'volume':'100000', 'price':'3000000'}, {'key':'0005930', 'value':'삼성전자', 'volume':'100000', 'price':'3000000'}, {'key':'0005930', 'value':'삼성전자', 'volume':'100000', 'price':'3000000'} ]
python beautiful soup request 123456789from urllib.request import urlopenfrom bs4 import BeautifulSoup html = urlopen("http://companyinfo.stock.naver.com/v1/company/cF3002.aspx?cmp_cd=068270&frq=0&rpt=0&finGubun=MAIN&frqTyp=0&cn=")bsObj = BeautifulSoup(html, "html.parser") print(bsObj) Colored by Color Scriptercs 파이썬 뷰티풀 솝으로 크롤링 하기 12345678910111213141516from urllib.request import urlopenfrom bs..
123456789101112131415161718192021import datetimeprint( datetime.datetime.fromtimestamp(int("1284101485")).strftime('%Y-%m-%d %H:%M:%S')) convertDate = lambda x: datetime.datetime.fromtimestamp(x).strftime('%Y-%m-%d %H:%M:%S') list = [ 1518551100000,1518573600000,1518535800000,1518541200000,1518541200000,1518548400000,1518541200000, 1518550200000,1518597000000,1518606000000, 1518551100000,1518575..
- Total
- Today
- Yesterday
- docker container
- shellscript
- 도커각티슈박스
- 도커티슈케이스
- Sh
- 싱가폴
- 도커컨테이너
- docker container tissue box
- 도커각티슈케이스
- docker container tissue
- Linux
- 도커티슈박스
- 이직
- docker container case
- docker container whale
- 개발자
- 2017 티스토리 결산
- vim
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |