본문 바로가기

분류 전체보기

(465)
[빅데이터] Data Lake란 무엇인가? [Data Lake란 무엇인가?] "가공되지 않은 다양한 종류의 데이터를 한 곳에 모아둔 저장소의 집합이다."   오랜 시간 데이터들은 데이터가 생성된 영역별로 수집 및 관리가 이루어졌으며 주로 정형화된 데이터로만 분석되어왔다. 하지만 빅데이터와 인공지능 기술의 중요성이 커지면서 다양한 영역의 다양한 데이터가 만나 새로운 가치를 만들어내기 시작하였다. 이와 같이 빅데이터를 효율적으로 분석하고 사용하고자 다양한 영역의 Raw 데이터(가공되지 않은 데이터)를 한 곳에 모아서 관리하고자 하는 것을 바로 Data Lake라 한다.    [Data Lake Framework 탄생] "Data Lake에 빅데이터를 사용자가 보다 쉽고 빠르게 사용할 수 있도록 제공해주는 Framework"   Data Lake라는 ..
[빅데이터] 데이터 웨어 하우스란? 데이터 웨어 하우스는 효율적으로 분석 가능한 형태로 정보들이 저장되어 있는 중앙 저장소이다. 데이터 웨어 하우스는 관계형 데이터베이스 , 트랜잭션 시스템 등.. 다양한 시스템으로부터 정기적으로 데이터를 수집하는 개념이다. 이와 같이 수집된 데이터를 비즈니스 인텔리전스 도구 ,SQL 클라이언트와 같이 데이터를 분석하는 목적으로 사용한다. 빅데이터 시대가 되면서 비즈니스에 중요한 결정을 데이터 기반으로 하는 사례가 늘어나는 등.. 다양한 이유로 많은 데이터 기반으로 데이터를 분석 및 처리해야하는 업무가 늘어나고 있다. 이와 같은 상황에서 많은 양의 데이터를 효율적으로 저장하여 I/O를 최소화하고 수십만 명의 사용자에게 빠른 속도로 쿼리 결과를 전달할 수 있도록 하는 것이 바로 데이터 웨어 하우스 이다. 데이..
[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의 레드시프트에 넣을 수 있는 것은 구조화된 데이터뿐이기 때문에 로그 파일에 정보들을 레드시프트에서 관리하기 위해서는 적합한 데이터 형식으로 변환해줘야 하는 작업이 필요합니다. - 필요한 데이터만 가져와 가져와야 합니다. 로그 데이터에는 우리가 분석하기 위해 필요한 데이터 뿐만 아니라 다양한 정보가 담겨져 있습니다. 그렇기 때문에 우리가 필요로 하는 데이터만 선별해서 가져와야 하는 작업이 필요합니다. - 데이터..