분류 전체보기 (607) 썸네일형 리스트형 [JAVA8] 람다 표현식을 조합할 수 있는 유용한 메서드 알아보기 1.Comparator - Comparator.comparing : comparing은 Comparator의 정적 메서드로 Function을 인자로 받는다. Comparator c = Comparator.comparing(Test::getTest); - reversed : 역정렬 Comparator.comparing(Test::getTest).reversed(); - thenComparing : 첫 비교결과가 동일할 경우 다음 비교 Function을 설정할 수 있다. Comparator.comparing(Test::getTest).reversed().thenComparing(Test::getScore()); 2. Predicate - negate : 기존 Predicate을 반전 시킬때 Predicate.. 초보자를 위한 유니티 입문 요즘 5G 통신이 거론되면서 함께 관심이 모이는 분야중 하나가 바로 Game분야 이다. 2019년 올해초 Google은 Stadia를 소개하며 Game 시장에 관심을 보여 큰이슈가 되었다. 이와 같이 글로벌한 큰 기업들이 Game 시장에 관심을 보이는 이유는 무엇일까? 5G 통신이 가능하게 되면서 엄청난 속도로 많은 양의 데이터를 주고 받을 수 있게 되었다. 이와 같은 기술의 변화는 대용량의 데이터를 주고 받아야 하는 VR / AR 서비스를 사용화 할 수 있게 만들면서 다양한 형태의 Game을 탄생할 수 있는 발판을 만들었다. 그리고 더 나아가 VR / AR 뿐만 아니라 통신 속도의 증가로 Device는 가볍게 쓸 수 있도록 Cloud Sever 환경에 의존적인 게임 서비스들이 늘어나는 추세이다. 다양한.. [JAVA8] Lambda(람다)에서 지역변수 사용하기 람다 표현식에서는 익명 함수가 하는 것처럼 자유 변수(파라미터로 넘겨진 변수가 아닌 외부에서 정의된 변수)를 사용할 수 있다. 이와 같은 동작을 람다 캡처링이라고 부른다. 람다에서는 인스턴스 변수와 정적 변수는 제약없이 캡처하여 사용할 수 있다. 즉 자신의 바디 영역에서 언제든지 사용할 수 있다는 의미이다. 하지만 지역 변수는 제약 사항이 있다. final로 선언되어 있거나 실질적으로 final로 선언된 변수와 똑같이 사용되어야 한다. 즉 한번 할당한 지역 변수를 두번 할당하지 않는 지역변수만 람다에서 사용가능하다는 뜻이다. 아래 내용은 가능함. int message = "hi"; Runnable r = () -> System.out.println(message); 아래 내용은 가능하지 않음. int m.. [Spring Boot] Spring Boot에 HTTP/2 적용하기 JDK 9, Tomcat 9, Spring boot 2.X에 HTTP/2를 설정하는 방법을 알아보자. (JDK 8 이하이거나 Tomcat이 8이하일 경우 별도의 라이브러리[libtcnative library] 설치후 의존성을 주입해주어야 한다.) 1. ssl설정 : Spring boot에 HTTP/2를 적용하기 위해서는 ssl 설정은 필수이다. 만약 설정하지 않으면 HTTP/2 통신이 지원되지 않는다. - keystore 파일 생성 하기 - Terminal 창에 아래 커맨드를 입력하여 keystore 생성. $keytool -genkey -alias spring -storetype PKCS12 -keyalg RSA -keysize 2048 -keystore keystore.p12 -validity 400.. [JAVA8] 함수형 인터페이스 정리 함수형 인터페이스는 오직 하나의 추상 메서드를 지정한다. 함수형 인터페이스의 추상 메서드는 람다 표현식의 시그너처를 묘사한다. 함수형 인터페이스의 추상 메서드 시그너처를 함수 디스크립터라고 한다. 자바8 라이브러리에서 제공하고 있는 function패키지에 함수형 인터페이스를 알아보자. function 패키지에서 지원하고 있는 함수형 인터페이스는 별도에 인터페이스 정의 없이 바로 개발자가 사용할 수 있다. 1. Predicate Predicate 인터페이스는 test라는 추상 메서드를 정의하고 test는 제네릭 형식 T의 객체를 인수로 받아 boolean을 반환한다. @FunctionInterface public interface Predicate { boolean test(T t); } *기본형 특화형 .. [AWS] 비구조화된 데이터 분석 (로그데이터 분석하기) AWS를 활용하면 분산 처리 기술인 하둡을 손쉽게 이용 가능하다. 1.구조화되지 않은 데이터 다루기 - 로그 데이터를 분석하기 위해서는 전처리를 해야만 합니다. 로그 파일은 단순한 텍스트 파일로, 컬럼 및 데이터형 / 자리수와 같은 스키마 정의가 엄격하게 구조화되어 있지 않기 때문입니다. - AWS의 레드시프트에 넣을 수 있는 것은 구조화된 데이터뿐이기 때문에 로그 파일에 정보들을 레드시프트에서 관리하기 위해서는 적합한 데이터 형식으로 변환해줘야 하는 작업이 필요합니다. - 필요한 데이터만 가져와 가져와야 합니다. 로그 데이터에는 우리가 분석하기 위해 필요한 데이터 뿐만 아니라 다양한 정보가 담겨져 있습니다. 그렇기 때문에 우리가 필요로 하는 데이터만 선별해서 가져와야 하는 작업이 필요합니다. - 데이터.. [AWS] 구조화된 데이터 분석하기 1. 레드 시프트(RedShift) : 분석 대상 데이터를 저장하는 DB로서 대용량 데이터의 검색과 분석에 최적화된 DB 서비스이다.레드 시프트는 대용량 데이터를 열 방향으로 부석 및 집계하는 작업을 효율적으로 수행하도록 만들어진 DB이다. [특징] -앞서 이야기 했듯이 열 방향 분석 및 집계를 빠르게 처리할 수 있는 DB이다. -여러 서버에서 분산 처리하는 구조이기 때문에 분석할 데이터양이 늘어도 확장이 자유롭다. - 레드 시프트는 DWH(Data WareHouse) 및 BI(Business Intelligence)의 기본 DB로 적합하다. - 레드 시프트는 RDS와 마찬가지로 관리형 DB 서비스로 제공되기 때문에 사용자는 서버 구성 및 데이터 중복성과 같은 것들에 대해서 고민할 필요가 없음. - 레드.. [AWS] API Gateway API Key 알아보기 AWS API Gateway에서 API Key를 활성화하여 서비스를 제공할 경우에는 사용자는 API키 정보를 필수로 탑재하여 사용을 해야 한다. 키 값이 일치할 경우에는 사전에 설정한 할당량과 속도에 맞게 서비스되고 그렇지 않은 경우 InvalidKeyParameter 예외가 발생한다. 아래와 같은 방식으로 구현하여 사용할 수 있다. 1. 사용자가 HEADER값에 API KEY값을 입력하여 요청. (사용자에게 API KEY값을 공유하여 사용한다.) : 사용자는 REST API 요청시 X-API-Key 헤더로서 API KEY를 함께 전달한다. (단, 이와 같이 사용하면 API KEY값이 도난당할 수 있으므로 보안에 위험이 있다.) 2. 권한 부여자가 제공한 API KEY를 사용하기. 사용자가 Token값과.. 이전 1 ··· 68 69 70 71 72 73 74 ··· 76 다음