일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- netflix oss
- weblogic 10
- coalesce
- ChannelPipeline
- Redis Sentinel
- Docker Compose
- spring boot redis
- cassandra
- grafana
- QueryDSL
- spring cloud
- KAFKA
- vue.js
- jmeter
- Spring Open Feign
- JPA
- docker-compose
- argo cd
- spring boot
- MySQL
- Hibernate
- Netty
- redis
- mybatis
- docker
- docker compose mysql
- RabbitMQ
- Selenium
- Airflow
- WebLogic
- Today
- Total
목록JAVA (64)
IT.FARMER
인텔리J 2019.2 를 새롭게 설치하니 Gradle 도구를 이용시 기본적으로 테스트/빌드/실행시 gradle을 사용하도록 설정되어 있다. 이렇게 기본으로 gradle 사용시 빌드 런, 테스트 시에 gradle을 사용하는 이유는 테스트와 배포시에 인텔리J에선느 정상적으로 동작 되었으나, 실 배포시에 배포되지 않는 현상을 없애기 위하여, 실 배포와 같은 환경을 구성해 주기 위함 이라고 한다. Build, Execution,Deployment > Build Tools > gradle Build and run using : gradle → IntelliJ IDEA 로 변경 Run test usion : gradle → IntelliJ IDEA로 변경
자바 excel dowonload 시에 많은양의 데이터를 다운로드 하다보면 OOM 에 봉착할수 있다. 이를 해결하기 위해서는 POI 스트리빙방식으로 코드를 작성한다. 생성자로 부터 직접 건수를 지정하여, 지정된 건수가 되면 temp 파일에 flush 하는 방법이 있으며, 수동으로 temp file에 flush 하는 방법이 존재한다. Workbook 특징 HSSF : EXCEL 2007 이전 버전(.xls)에서 사용하는 방식 XSSF : EXCEL 2007 이후 버전(2007포함 .xlsx)에서 사용하는 방식 SXSSF : XSSF의 Streaming Version으로 메모리를 적게 사용하여 대용량 엑셀 다운로드에 주로 사용되는 방식 SXSSF 방식->생성자 방식에서의 기본 flush 크기는 100 이며,..
java stream 에서 안전한 stream 을 생성 하여 사용 하는 방법에 대해 알아보자 . 해당 내용을 이해하기 위해서는 우선적으로 java8의 method refreences, Lamabda Expressions, Optional 등 Stream 에대한 기본인 방법에 익숙해야 한다. 기본적으로 Stream 만들기 Stream 객체로 Stream 생성 Stream charStream = Stream.of("A","B","C"); Collection 객체로 Stream 생성 Collection collection = Arrays.asList("A","B","C"); collection.stream(); 우리는 대게 Stream 을 사용할때 다음과 같이 사용한다. 이때 Null 을 가르키는 경우 Nul..
멀티 쓰레드 프로그래밍을 하는중에 병렬처리와 동시성에 대하여 많은 글들을 보고 확인할수있다. 여기서 병렬처리와 동시성의 문구가 다소 혼돈될수있는데 나또한 병렬처리와 동시성이 같은 이야기라 생각했다. 이 두가지의 개념은 각각 이해하여야 하며, 같은 의미로 사용해서는 안대는 것이다. 간단하게 정리하면 다음과 같다. 동시성이란(concurrency)? 동시에 여러 작업을 진행하고자 할때. 동시에 여러 작업을 수행 한다고하여 병렬로 실행되는것과는 다르다. A가 실행될때 B 가 멈추고 B가 실행될때는 A가 멈추는 형식 TASK1 ------ CPU TASK2 ------ CPU TASK3 ------ CPU TASK4 ------ CPU 병렬성이란(paralleism)? 하나의 작업을 하위 작업으로 나누어 동시 ..
1. CompletableFuture 하나씩 순차적으로 스테이지를 실행하고자 할때 사용하면 좋다. 병렬처리작업중 순차적으로 작업을 진행해야 하는경우 Callback 의 늪에 빠질수 있다, 이때도 콜백업이 사용가능. CompletableFuture를 사용하면. 1.7에서 자공하는 Feture 의 기능으로 async 작업이 가능 하지만, isDone() 혹은 get()을 이용 하여 결과값을 다음 스테이지 에서 사용할때 Blocking으로 변경되는 단점을 보안한다. A Future that may be explicitly completed (setting its value and status), and may be used as a CompletionStage,supporting dependent functi..
back off 알고리즘 통신할때 충돌이 일어난 경우 일정시간동안 기다린후 다시 호출 하는 방식 /** * API 실행 실패에 대한 재시도 정책 적용 * Backoff Time = 재시도 횟수 * 3 SEC , 최대 3회 * * @param apiRequest * @return * @throws Exception */ private String apiCall(APIRequest apiRequest) throws Exception { int tryCount = 0; boolean isSuccess = false; String responseData = null; do { try { tryCount++; responseData = apiRequest.executeBlock(String.class); isSu..
예외사항을 호출한 메소드에서 처리하고자 하는경우 예외 사항을 상위로 올려준다. import com.aereport.adtect.common.exception.custom.AEBaseException; import com.aereport.adtect.common.exception.custom.APIBaseException; import lombok.ToString; import org.junit.Test; /** * * Description : throws bubble up test * * * * * @author skan * @version Copyright (C) 2018 by skan. All right reserved. * @since 2018-11-20 */ public class ThrowsTe..
스트림 사용시에 상위 메소드로 익셉션을 전파하고 싶을때 사용 try { customIds.forEach(customId ->{ List ads = null; try { ads = fbAdAPIService.findByAllAds(customId); adTemps.addAll(ads); fbAdDao.fbAdMetaDataSave(ads); } catch (Exception e) { log.error("페이스북 광고(소재) 데이터 수집 실패 = customerId = {}", customId ); throw new RuntimeException(e); } }); } catch (RuntimeException e) { // FIXME : Ad - throw bubble up if (e.getCause() !..
java 설치 1.1 jdk 확인 # 설치된 JDK 확인 > rpm -qa | grep jdk # 설치 가능한 install jdk 목록 > yum list installed *jdk-devel 1.1.1 사용하지 않는 JDK 삭제 (다른 버전을 삭제할경우에만 사용) > sudo yum remove {jdk version} 1.2 JDK 다운로드 및 설치 > wget --header "Cookie: oraclelicense=accept-securebackup-cookie" http://download.oracle.com/otn-pub/java/jdk/8u191-b12/2787e4a523244c269598db4e85c51e0c/jdk-8u191-linux-x64.rpm > yum localinstall j..