java8 GCE에서 Cloud NAT를 통한 SocketTimeoutException 하기 기사에서 구축한 어플리케이션의 운용중에 발생한 장해와 그 대응에 대해 기술합니다. 외부 API 연결 시 IP 제한이 걸려 CloudNAT에서 출구 IP를 고정하면서 외부 API에 연결합니다. 외부 API는 초당 요청 수에 제한이 있습니다. 응용 프로그램이 요청을 던지는 행에서 연결 시간 초과가 발생하고 외부 API에 도착하지 않았습니다 Stackdriver Logging에서 Cloud ... CloudNATjava8gce 【Liquibase】DB 작성·테이블 정의 변경 신규 스타터 프로젝트 작성 Liquibase와 MySQL 선택 application.properties에 DB 정보 넣기 MySQL에서 "testdatabase"라는 데이터베이스 만들기 빌드 종속성 추가 build.gradle의 dependencies에 spring DATA JPA 추가 처음 읽을 수 있는 yaml 파일 만들기 Sample\src\main\resources\db 아래에 db.... Liquibasejava8spring-boot Java Calendar는 가능한 한 삼가합시다. Java의 날짜계 처리에 있어서는, Calendar 클래스보다 LocalDate 클래스를 이용합시다. 2019년 5월 31일 금요일, 소속 프로젝트에서 정기 실행하고 있는 CI가 갑자기 떨어졌다. Java8로 쓰고 있는 소스 코드의 전체 테스트를 Jenkins를 사용해 하루에 4회 움직이고 있는데, 어제까지 올 그린이었던 것이 갑자기 에러를 토하게 되었다. 에러 로그를 보면, 해당 부분은 J... java8자바 Android 스튜디오 (Java)에서 spinner로 문자 배열을 표시하는 소스 자신의 메모입니다. 타이틀대로입니다만, 문자 배열을 정의해 두고, spinner(드롭다운 메뉴)로, 표시시켜 그것을 텍스트(TextView)에 표시하는 소스입니다. MainActivity.java activity_main.xml strings.xml... AndroidStudiojava8 CompletableFuture 시작 2 (CompletableFuture 만들기) 계속 그림과 같이 CompletableFurureFuture , CompletionStage 인터페이스를 구현하고 있습니다.CompletionStage 는 Java8에서 도입된 인터페이스. CompletableFuture는 비동기 처리를 나타내며 사용 가능할 때 결과를 유지합니다. Future와는 무엇이 다른가? CompletableFuture 명시적으로 (그 값과 스테이터스를 설정해) 완료... java8자바 【Java】Queue, Deque, Stack의 관계 삽입 (요소 삽입) 삭제 (요소 검색 및 삭제) 검사 (요소를 얻지만 삭제하지 않음) 삽입 boolean add(E e) 요소가 추가되지 않은 경우 예외를 throw boolean offer(E e) 요소가 추가되지 않으면 false를 반환합니다. E remove() 큐가 하늘의 경우는 NoSuchElementException를 슬로우 E poll() 큐가 비어 있으면 null을 반환합니다.... 자격java8자바JavaGold MariaDB Connector/J를 사용하여 MariaDB 10.4에 연결 (IntelliJ IDEA 버전) Windows 10에서 (JDBC) 2.6.0을 사용하여 MariaDB Server 10.4에 연결하는 단계는 다음과 같습니다. 에서 jdk-8u221-windows-x64.exe 다운로드, 설치 여기서는 jdbc_test라는 프로젝트를 만들었습니다. src/main/java를 마우스 오른쪽 버튼으로 클릭하고 New - Java Class에서 jdbc_test.java를 작성하십시오. 다음 ... MariaDB10.4java8mariadb Spinner의 개폐 타이밍 제어 최근, 안건으로 Android 의 Spinner 클래스에 대해서 고리고리와 실장을 하고, 어느 정도 지견이 모였으므로 메모 쓰기도 포함해 하고 싶은 것과 그 실장예를 화상+텍스트 베이스로 설명을 해 보고 싶습니다. (2019/02/25 시점에서는 개폐 타이밍만) Spinner의 개폐 타이밍은 Spinner 클래스를 랩 할 필요가 있다. 표준에서는 불가능합니다 Spinner는 생각하는 것처럼 ... java8AndroidStudio스피너안드로이드 개발안드로이드 STS mvn install 오류 Windows10 64bit Java8 Spring5 Maven 3.5.4 Spring Tool Suite Version: 3.9.5 STS에서 pon.xml을 선택한 상태에서 녹색 "실행"버튼의 검은 ↓에서 "Maven install"을 실행하면 다음 오류가 출력됩니다. STSConsole 다시 한번 'Maven install'을 실행하면 자동으로 다운로드가 시작되어 빌드 성공했다. 명령 ... SpringToolsSuitesjava8MavenSTSspring Spring mvn install 명령 오류 Windows10 64bit Java8 Spring5 Maven 3.5.4 명령 프롬프트 한 Spring Framework5 참고서의 순서대로 하면 Spring 프로젝트내에서 mvn install 커멘드를 치면 다음의 에러가 발생했다. 원인은 JDK의 패스를 통과하지 않았던 것. mvn_install JDK의 인스톨시에 패스 통하는 옵션이 있었을 것. 설치 후 경로가 통과했는지 확인하는 명령... java8Maven명령 프롬프트spring BC - 074- A&B&C 원하는 값은 노란색 부분 이런 느낌의 구현 1점 1점 sum 해 가면 된다 $A*100*a + B*100*b + C*c + D*d\leqq numF\quad (a,b,c,d는 임의의 정수)$ 가 성립한다 {$a,b, c, d$} $E < 100 * (C*c + D*d)/(A*100*a + B*100*b)$ 가 성립될 것 (용해도) $100 * (C*c + D*d)/(A*100*a + B*10... AtCoder경기 프로그래밍java8 스트림의 맵과 플랫 맵 이해 (1) 두 개의 Integer 목록에서, 서로의 모든 요소의 조합으로 이루어지는 Pair 의 리스트를 생성하라. ex.) [1,2,3], [5,6] -> [(1,5),(1,6),(2,5),(2,6),(3,5),( 3.6)] 왠지 map으로 갈 수 있을지도. 안돼.List<Stream<Pair<Integer, Integer>> 가 돌려주어진다. 원래... Stream.map 함수는 Function<?... java8자바 Collection.stream().map()로부터의 거절을 거쳐 List 요소의 클래스에서 두 개의 String를 추출하고, 그 2 개의 String를 포함한 Pair의 List를 생성한다. 스트림 사용하면 좋을 것 같아요^^ 응! ? 함수형 인터페이스는 함수 메소드라는 단일 추상 메소드를 포함하는 인터페이스 ref . ref . 게다가... 람다 식을 사용하여, 함수형 인터페이스의 추상 메소드의 구현을 인라인으로 명시할 수 있고, 전체 표현식은 함수 인... java8자바 [Java] Amazon Corretto8 설치 AWS가 지난 2월 4일에 Amazon Corretto 8(독자 OpenJDK)을 정식 릴리스했다는 을 읽고, 시험에 설치해 보기로 했습니다. Mac에서 실시합니다. 다운로드 우선 이쪽의 로부터 JDK를 다운로드해 옵니다. 제 경우에는 Mac이므로 macOS x64의 "amazon-corretto-8.202.08.2-macosx-x64.pkg"를 선택했습니다. 각자의 OS에 맞춘 것을 DL합... java8자바CorrettoAWS atcoder ABC102 모든 ai-i와의 절대치가 최소가 되는 값 b를 구하는 문제. 수열의 개수가 최대로 10의 5승까지 있으므로 모든 값에 대해 절대치의 합을 구해 가는 것은 시간에 맞지 않는다. 여기서, 수열 a-i와의 절대치를 생각해 보면 분명히 수열을 소트하여 중간의 수치를 b로 하면 절대치의 합이 최소가 되는 것을 알 수 있다. 우선 3개의 구획을 전 탐색을 하고 싶지만 수열의 수에 주목하면 10의 5승... AtCoderjava8 atcoder ABC113 D 문제 아미다 복권을 바탕으로 좋아하는 가로 막대를 배치하고 지정한 위치에 오도록 할 수있는 가로 막대의 배치 조합을 세는 문제이다. 아미다쿠지의 성질상, 횡봉은 수평이므로, 어느 높이를 h로 하고, 왼쪽에서 w열째에 대해 생각하면, h-1로부터(h,w)에 오는 것은, 3가지 (1) 높이 h-1에서 w열과 w-1열이 연결되어 있을 때 (2) 높이 h-1에서 w열과 w+1열이 연결되어 있을 때 즉, ... AtCoderjava8 Arrays.sort의 인수 Comparator를 람다 식으로 주었을 때 발생한 성능 열화의 예 보고 를 Java로 해답하고 있을 때, 람다식 이용시에 성능이 열화되는 현상을 확인했으므로 공유한다. 참고: 아래의 위의 문제에 대한 답변 예제는 GitHub의 링크 대상에 포함되어 있습니다. 최초의 해답에서는 이하와 같이 람다식을 이용했다. 그 결과가 다음과 같이 되었다. N이 클 때 성능 점수가 기준을 충족하지 않는 것으로 확인됩니다. 성능 개선을 시도해 시행착오하고 있는 동안, 이하와 같이 ... java8자바codility 그림에서 이해하는 목록 처리 - java8 stream/javaslang - reduce 에는 친숙하지 않을지도 모르지만, Google 가 제창했다 MapReduce 모델이므로 map 와는 함께 말할 수 있어. A -> B f 라고 써 있는 것은 java 의 코드로 하면 B f(a); 라고 하는 것으로, A 이나 B 에는 String 이나 Optional<Integer> 등의 구체형이 들어갑니다. Predicate<T> 는 「인수가 T 로 반환값이 bool? supe... StreamAPIjava8자바스트림 자바 금액 계산으로 배운 것 프로젝트에서 사용하는 것은 Java8입니다. Java에서 금액 계산이 얽힌 코딩을하고 있으며, 화면에 표시되는 값이 처럼 미묘하게 어긋나는 사건을 만났습니다. 부끄러워하면서 제대로 (?) 금액을 계산하는 로직을 처음 썼기 때문에, 왜 그렇게 되는지 등의 이유도 조사하면서 진행했습니다. 금액에 대해 백분율을 곱하는 처리의 전단에서 double의 인수를 생성자에게 건네주어 BigDecimal 인... java8자바BigDecimal
GCE에서 Cloud NAT를 통한 SocketTimeoutException 하기 기사에서 구축한 어플리케이션의 운용중에 발생한 장해와 그 대응에 대해 기술합니다. 외부 API 연결 시 IP 제한이 걸려 CloudNAT에서 출구 IP를 고정하면서 외부 API에 연결합니다. 외부 API는 초당 요청 수에 제한이 있습니다. 응용 프로그램이 요청을 던지는 행에서 연결 시간 초과가 발생하고 외부 API에 도착하지 않았습니다 Stackdriver Logging에서 Cloud ... CloudNATjava8gce 【Liquibase】DB 작성·테이블 정의 변경 신규 스타터 프로젝트 작성 Liquibase와 MySQL 선택 application.properties에 DB 정보 넣기 MySQL에서 "testdatabase"라는 데이터베이스 만들기 빌드 종속성 추가 build.gradle의 dependencies에 spring DATA JPA 추가 처음 읽을 수 있는 yaml 파일 만들기 Sample\src\main\resources\db 아래에 db.... Liquibasejava8spring-boot Java Calendar는 가능한 한 삼가합시다. Java의 날짜계 처리에 있어서는, Calendar 클래스보다 LocalDate 클래스를 이용합시다. 2019년 5월 31일 금요일, 소속 프로젝트에서 정기 실행하고 있는 CI가 갑자기 떨어졌다. Java8로 쓰고 있는 소스 코드의 전체 테스트를 Jenkins를 사용해 하루에 4회 움직이고 있는데, 어제까지 올 그린이었던 것이 갑자기 에러를 토하게 되었다. 에러 로그를 보면, 해당 부분은 J... java8자바 Android 스튜디오 (Java)에서 spinner로 문자 배열을 표시하는 소스 자신의 메모입니다. 타이틀대로입니다만, 문자 배열을 정의해 두고, spinner(드롭다운 메뉴)로, 표시시켜 그것을 텍스트(TextView)에 표시하는 소스입니다. MainActivity.java activity_main.xml strings.xml... AndroidStudiojava8 CompletableFuture 시작 2 (CompletableFuture 만들기) 계속 그림과 같이 CompletableFurureFuture , CompletionStage 인터페이스를 구현하고 있습니다.CompletionStage 는 Java8에서 도입된 인터페이스. CompletableFuture는 비동기 처리를 나타내며 사용 가능할 때 결과를 유지합니다. Future와는 무엇이 다른가? CompletableFuture 명시적으로 (그 값과 스테이터스를 설정해) 완료... java8자바 【Java】Queue, Deque, Stack의 관계 삽입 (요소 삽입) 삭제 (요소 검색 및 삭제) 검사 (요소를 얻지만 삭제하지 않음) 삽입 boolean add(E e) 요소가 추가되지 않은 경우 예외를 throw boolean offer(E e) 요소가 추가되지 않으면 false를 반환합니다. E remove() 큐가 하늘의 경우는 NoSuchElementException를 슬로우 E poll() 큐가 비어 있으면 null을 반환합니다.... 자격java8자바JavaGold MariaDB Connector/J를 사용하여 MariaDB 10.4에 연결 (IntelliJ IDEA 버전) Windows 10에서 (JDBC) 2.6.0을 사용하여 MariaDB Server 10.4에 연결하는 단계는 다음과 같습니다. 에서 jdk-8u221-windows-x64.exe 다운로드, 설치 여기서는 jdbc_test라는 프로젝트를 만들었습니다. src/main/java를 마우스 오른쪽 버튼으로 클릭하고 New - Java Class에서 jdbc_test.java를 작성하십시오. 다음 ... MariaDB10.4java8mariadb Spinner의 개폐 타이밍 제어 최근, 안건으로 Android 의 Spinner 클래스에 대해서 고리고리와 실장을 하고, 어느 정도 지견이 모였으므로 메모 쓰기도 포함해 하고 싶은 것과 그 실장예를 화상+텍스트 베이스로 설명을 해 보고 싶습니다. (2019/02/25 시점에서는 개폐 타이밍만) Spinner의 개폐 타이밍은 Spinner 클래스를 랩 할 필요가 있다. 표준에서는 불가능합니다 Spinner는 생각하는 것처럼 ... java8AndroidStudio스피너안드로이드 개발안드로이드 STS mvn install 오류 Windows10 64bit Java8 Spring5 Maven 3.5.4 Spring Tool Suite Version: 3.9.5 STS에서 pon.xml을 선택한 상태에서 녹색 "실행"버튼의 검은 ↓에서 "Maven install"을 실행하면 다음 오류가 출력됩니다. STSConsole 다시 한번 'Maven install'을 실행하면 자동으로 다운로드가 시작되어 빌드 성공했다. 명령 ... SpringToolsSuitesjava8MavenSTSspring Spring mvn install 명령 오류 Windows10 64bit Java8 Spring5 Maven 3.5.4 명령 프롬프트 한 Spring Framework5 참고서의 순서대로 하면 Spring 프로젝트내에서 mvn install 커멘드를 치면 다음의 에러가 발생했다. 원인은 JDK의 패스를 통과하지 않았던 것. mvn_install JDK의 인스톨시에 패스 통하는 옵션이 있었을 것. 설치 후 경로가 통과했는지 확인하는 명령... java8Maven명령 프롬프트spring BC - 074- A&B&C 원하는 값은 노란색 부분 이런 느낌의 구현 1점 1점 sum 해 가면 된다 $A*100*a + B*100*b + C*c + D*d\leqq numF\quad (a,b,c,d는 임의의 정수)$ 가 성립한다 {$a,b, c, d$} $E < 100 * (C*c + D*d)/(A*100*a + B*100*b)$ 가 성립될 것 (용해도) $100 * (C*c + D*d)/(A*100*a + B*10... AtCoder경기 프로그래밍java8 스트림의 맵과 플랫 맵 이해 (1) 두 개의 Integer 목록에서, 서로의 모든 요소의 조합으로 이루어지는 Pair 의 리스트를 생성하라. ex.) [1,2,3], [5,6] -> [(1,5),(1,6),(2,5),(2,6),(3,5),( 3.6)] 왠지 map으로 갈 수 있을지도. 안돼.List<Stream<Pair<Integer, Integer>> 가 돌려주어진다. 원래... Stream.map 함수는 Function<?... java8자바 Collection.stream().map()로부터의 거절을 거쳐 List 요소의 클래스에서 두 개의 String를 추출하고, 그 2 개의 String를 포함한 Pair의 List를 생성한다. 스트림 사용하면 좋을 것 같아요^^ 응! ? 함수형 인터페이스는 함수 메소드라는 단일 추상 메소드를 포함하는 인터페이스 ref . ref . 게다가... 람다 식을 사용하여, 함수형 인터페이스의 추상 메소드의 구현을 인라인으로 명시할 수 있고, 전체 표현식은 함수 인... java8자바 [Java] Amazon Corretto8 설치 AWS가 지난 2월 4일에 Amazon Corretto 8(독자 OpenJDK)을 정식 릴리스했다는 을 읽고, 시험에 설치해 보기로 했습니다. Mac에서 실시합니다. 다운로드 우선 이쪽의 로부터 JDK를 다운로드해 옵니다. 제 경우에는 Mac이므로 macOS x64의 "amazon-corretto-8.202.08.2-macosx-x64.pkg"를 선택했습니다. 각자의 OS에 맞춘 것을 DL합... java8자바CorrettoAWS atcoder ABC102 모든 ai-i와의 절대치가 최소가 되는 값 b를 구하는 문제. 수열의 개수가 최대로 10의 5승까지 있으므로 모든 값에 대해 절대치의 합을 구해 가는 것은 시간에 맞지 않는다. 여기서, 수열 a-i와의 절대치를 생각해 보면 분명히 수열을 소트하여 중간의 수치를 b로 하면 절대치의 합이 최소가 되는 것을 알 수 있다. 우선 3개의 구획을 전 탐색을 하고 싶지만 수열의 수에 주목하면 10의 5승... AtCoderjava8 atcoder ABC113 D 문제 아미다 복권을 바탕으로 좋아하는 가로 막대를 배치하고 지정한 위치에 오도록 할 수있는 가로 막대의 배치 조합을 세는 문제이다. 아미다쿠지의 성질상, 횡봉은 수평이므로, 어느 높이를 h로 하고, 왼쪽에서 w열째에 대해 생각하면, h-1로부터(h,w)에 오는 것은, 3가지 (1) 높이 h-1에서 w열과 w-1열이 연결되어 있을 때 (2) 높이 h-1에서 w열과 w+1열이 연결되어 있을 때 즉, ... AtCoderjava8 Arrays.sort의 인수 Comparator를 람다 식으로 주었을 때 발생한 성능 열화의 예 보고 를 Java로 해답하고 있을 때, 람다식 이용시에 성능이 열화되는 현상을 확인했으므로 공유한다. 참고: 아래의 위의 문제에 대한 답변 예제는 GitHub의 링크 대상에 포함되어 있습니다. 최초의 해답에서는 이하와 같이 람다식을 이용했다. 그 결과가 다음과 같이 되었다. N이 클 때 성능 점수가 기준을 충족하지 않는 것으로 확인됩니다. 성능 개선을 시도해 시행착오하고 있는 동안, 이하와 같이 ... java8자바codility 그림에서 이해하는 목록 처리 - java8 stream/javaslang - reduce 에는 친숙하지 않을지도 모르지만, Google 가 제창했다 MapReduce 모델이므로 map 와는 함께 말할 수 있어. A -> B f 라고 써 있는 것은 java 의 코드로 하면 B f(a); 라고 하는 것으로, A 이나 B 에는 String 이나 Optional<Integer> 등의 구체형이 들어갑니다. Predicate<T> 는 「인수가 T 로 반환값이 bool? supe... StreamAPIjava8자바스트림 자바 금액 계산으로 배운 것 프로젝트에서 사용하는 것은 Java8입니다. Java에서 금액 계산이 얽힌 코딩을하고 있으며, 화면에 표시되는 값이 처럼 미묘하게 어긋나는 사건을 만났습니다. 부끄러워하면서 제대로 (?) 금액을 계산하는 로직을 처음 썼기 때문에, 왜 그렇게 되는지 등의 이유도 조사하면서 진행했습니다. 금액에 대해 백분율을 곱하는 처리의 전단에서 double의 인수를 생성자에게 건네주어 BigDecimal 인... java8자바BigDecimal