본문 바로가기

Language/JAVA

(73)
java 현재 디렉토리(dir)에 어떤 파일, 디렉토리가 있나 보기 public void listFilesForFolder(final File folder) { for (final File fileEntry : folder.listFiles()) { System.out.println(fileEntry.getName()); } } final File folder = new File("./"); listFilesForFolder(folder);클라우드에 띄우기 때문에 credential같은 것을 파일로 넣어주어야 할 경우 현재 인스턴스가 어디를 바라보고 있는지를 알아보기 위해 이 명령어가 필요하다. 이걸 넣고 배포하고 돌려보면 알 수 있다.
안정적인 controller를 만들기 위해 필요한 것들 controller를 만들 때 object mapping한 이후에 여러 경우가 있을 수 있다. 1. 해당 field가 null인 경우 2. parent는 있는데 child가 없는 경우 { condition:{ "httpMethod":[] } } 3. parent부터 없는 경우 condition.getHttpMethod()를 해야 하는데 condition부터 null인 경우가 있다. 이 경우에는 Optional condition = Optional.ofNullable(conditon); 이렇게 optional로 감싸줘서 처리 할 수 있다.
java static이란? 사용 방법 내가 사용한 곳 static은 스테틱 변수 메소드 앞에 붙일 수 있다. static을 쓰면 jvm이 뜰 때 한번 불러온다. 내가 이걸 왜 쓰냐면 aws 람다를 쓰는데 여기에서 파일을 불러와서 무언가 설정을 하고싶기 때문에 사용을 했다. 그런데 이 설정은 자주 바뀌는 것은 아니지만 호출은 아주 많이 된다. java의 constants 변수 처럼 쓰고 싶지만 파일을 변경해서 설정을 적용하고 싶기 때문이다. 나중에 이 부분을 redis 등 cache와 연동하고 싶기 때문에 중간 단계를 만드는 작업이다. 프로젝트 구조는 위와 같이 src/main/java, src/main/resources 이렇게 되어있고 resources에 hello.properties가 들어있다. hello.properties name = kyeongrok..
java(spring)로 shell script실행 하기 java(spring)로 shell script실행 하기백엔드를 하다보면 shell script를 쓸 일이 자연스럽게 많이 생긴다.내가 만든 프로그램을 배포할려면 서버 구성부터 띄우고 올리고 내리고 재부팅하고 등등 이걸 다 손으로 하자니 손이 넘 많이 간다.그래서 shell script를 쓰는데 쉘 스크립트를 실행 하려면 ssh로 들어가서 커맨드를 날려줘야 한다.하지만 여기 들어가는 것도 일이라서 api를 뚫어놓고 호출하는 방식으로 해결하고 싶은 것이다.자바에 찾아봤더니 해당 기능이 있다. ShRunner.javapublic class ShRunner { public Map execCommand(String... str) { Map map = new HashMap(); ProcessBuilder pb =..
시고저종 데이터 만들기 List -> Map -> List public List toMap(List selectedOhlcvs) { // 특정 field를 기준으로 select된 애가 온다. Map map = new HashMap(); // 넣을때는 특정 field를 넣어야 한다. selectedOhlcvs.forEach(ohlcv1 ->{ map.put(ohlcv1.getTimeToMins(), new ArrayList()); map.get(ohlcv1.getTimeToMins()).add(ohlcv1); }); map.forEach((key, value) ->{ System.out.println(key); }); return new ArrayList(); }
Java로 http request보내서 string 받기 with okhttp Java로 http request보내서 string 받기 with okhttp okhttp site 문서http://square.github.io/okhttp/ 사용방법 관련 블로그 포스트https://www.codexpedia.com/android/okhttp-3-example-in-android/ 1234567891011121314151617181920212223import okhttp3.OkHttpClient;import okhttp3.Request;import okhttp3.Response; import java.io.IOException; public class HttpCaller { OkHttpClient client = new OkHttpClient(); String run(String ur..
rxjava - return은 Flowable이 끝나고 될까? rxjava - return은 Flowable이 끝나고 될까? 1234567891011121314public class ReturnExam { public String run() { System.out.println("----before start----"); Flowable.range(1, 100000) .subscribe(item -> System.out.println(item)); return "------return------"; } public static void main(String[] args) { String result = new ReturnExam().run(); System.out.println(result); }}Colored by Color Scriptercs결과---before..
RxJava에 대해 알아보자 - 제4편 Error는 언제 나는지? 에러나면 어떻게 되는지? RxJava에 대해 알아보자 - 제4편 Error는 언제 나는지? 에러나면 어떻게 되는지? 12345678910111213141516171819public class DoOnError { public void run6() { Flowable.fromIterable(Arrays.asList(1, 2, 0, 1)) .doOnComplete(() -> System.out.println("completed 6")) .map(item -> { return 10 / item; }) .doOnNext(item -> System.out.println("---next6---")) .doOnError(throwable -> System.out.println("---error6---")) .subscribe(item2-> ..