프린트
VR을 활용하는 자바 기반 빅데이터 처리, 분석, 시각화 전문가 양성 과정

  • 훈련과정 : VR을 활용하는 자바 기반 빅데이터 처리, 분석, 시각화 전문가 양성 과정
  • 훈련비용 : 0원(국가기간 전략산업직종훈련 / 전액국비지원)
  • 훈련직종 : 빅데이터 전문가
  • 훈련코드 : 10-00-164
  • 교육일정 : 2017년 09월 22일 ~ 2018년 03월 28일
  • 교육시간 및 총시간 : 09:30 ~18:30(총 992시간)
  • 훈련정원 : 30명
  • 훈련강사 : 오지훈
1. 교육개요(교육내용 및 구성 배경)
  • 자바 기술을 기반으로 기업 환경에서 사용되는 애플리케이션 개발 전문가를 양성하고, 매분 매초마다 폭발적으로 증가하는 데이터를 효과적으로 처리하고 분석하는 빅데이터 전문가를 양성하며 새로운 사용자 인터페이스로 주목 받는 가상현실(Virtual Reality) 애플리케이션 개발자를 양성하고자 본 훈련과정을 계획·진행하게 되었습니다. 본 훈련과정은 자바 웹개발(웹사이트, 그룹웨어, 업종별 CRM, ERP, Solution, Blog, SNS등)영역에 NON-Game VR영역을 웹 컨텐츠로 활용하고 빅데이터를 가공하여 웹개발에 응용하는 과정이 융합된 4차산업혁명의 진보된 웹개발자 훈련과정입니다. 교육내용의 구성 배경은 다음과 같습니다.

  • 1) 자바 관련 기술
  • - 자바를 기반으로 하는 다양한 기술들이 국내 개발 환경에서 광범위하게 사용되고 있으며, 이로 인해 자바와 관련한 개발 기술들은 개발 영역의 취업에 필수적인 상황
  • - 특히 Spring Framework, MVC, MyBatis, jQuery & Ajax, Oracle & MySQL DBMS 등은 개발자로 취업하기 위해 요구되는 최소한의 필수 항목

  • 2) 빅데이터 수집, 저장, 처리, 및 분석
  • - 웹 기술 발전, 모바일 환경 성장, IoT 솔루션 확대와 같은 컴퓨팅 환경의 변화와 함께 데이터가 폭발적으로 증가하는 추세
  • - 빅데이터를 효과적으로 수집, 저장, 처리하기 위해 Hadoop 및 관련 기술들이 개발되고 크게 성장하고 있으며 산업 표준의 수준으로 광범위하게 사용되고 있음
  • - 외국의 경우 이 분야의 기술이 이미 성숙 단계에 진입한 것으로 평가되고 있음
  • - 국내에서는 아직 시장이 크지 않고 특히 신입 개발자에게 개방된 영역은 아니지만 향후에는 빅데이터와 관련된 전문가에 대한 수요가 크게 증가할 것으로 예상됨

  • 3) Virtual Reality (가상 현실)
  • - 구글은 2016년 Google IO에서 인공지능과 VR/AR을 향후 자사의 핵심 기술 및 서비스 영역으로 소개했으며 다양한 관련제품과 소프트웨어를 출시하고2017년에도 지속적으로 강조
  • - Facebook과 Apple도 2017년 개발자 컨퍼런스인 F8과 WWDC에서 VR/AR과 관련된 기술과 서비스를 적극적으로 강조
  • - 향후 VR/AR이 사용자 경험의 중요한 영역이 될 것으로 예상되고 이에 따라 VR/AR 관련 개발자 수요가 증가할 것으로 예상됨
  • - 아울러 아직은 주로 게임 영역을 중심으로 VR 관련 기술이 활성화된 상황이지만 향후에는 다양한 비 게임 분야에서도 관련 수요가 증가할 것으로 예상됨

  • 3-1) Virtual Reality (가상 현실) 참고자료
  • - https://www.youtube.com/watch?v=FeR_cxAeVyo (vr data visualization)
  • - https://www.youtube.com/watch?v=wacNaAVGXdU (vr data visualization)
  • - https://www.youtube.com/watch?v=lo3GTYSFhzw (google web-vr)
  • - https://www.youtube.com/watch?v=p67RJeZfVC0 (gooogle web-vr) https://www.youtube.com/watch?v=S48T-cOG0ks (ios vr demo)

  • 4) 빅데이터 관련 기술
  • - Hadoop은 코어에 해당되는 HDFS (Hadoop Distributed File System)과 MapReduce 또는 Yarn으로 구성됩니다.
  • - Hadoop 코어를 기반으로 다양한 기능을 제공하는 관련 제품들을 Hadoop 에코 시스템이라고 합니다.
  • - 이 과정에서는 HDFS, MapReduce, Yarn 및 다양한 Hadoop 관련 제품을 사용해서 시스템을 구축합니다.
  • - 이 때 모든 에코시스템 제품을 테스트하는 것은 아니며 워크플로우(Oozie), 분산 코디네이터(Zookeeper), 스트리밍 데이터 수집(Flume), 분산 메세지 처리(Kafak), 분산 데이터 저장(HDFS), 분산데이터 배치 처리(MapReduce), 분산 클러스터 리소르 관리(YARN), 머신러닝(Mahout), 인메모리처리,(Spark), 대화형 질의 처리(Impala), 데이터 웨어하우스(Hive) 등을 활용합니다.
2. 교육목표
  • 1) 교육목표
  • - 자바 플랫폼 기반 애플리케이션 개발을 위한 프로그래밍 기초 기술 학습
  • - Oracle DBMS 활용 능력 함양
  • - Servlet, JSP 등의 웹 기술을 사용하는 웹 애플리케이션 개발 능력 함양
  • - Hibernate, Mybatis, SpringFramework 등 오픈소스 프레임워크를 사용하는 엔터프라이즈 애플리케이션 개발 기술 학습
  • - VR 디바이스와 연동되는 VR 애플리케이션 개발 기술 학습
  • - 비게임 영역 VR, 특히 데이터 시각화를 위한 VR 기술 활용 방법 학습
  • - 빅데이터 수집, 처리, 분석, 시각화와 관련된 다양한 기법과 프레임워크를 활용하는 기술 학습

  • 2) 교육 산출물
  • - 교육 산출물 (프로젝트) 프로젝트는 미니 프로젝트 1 ~ 2회 및 최종 통합 프로젝트 1회 수행.
  • - 미니 프로젝트는 Spring Framework과 MyBatis 기반의 웹 애플리케이션 구축과 안드로이드 모바일과 VR을 활용하는 가상현실 애플리케이션 구현으로 수행.
  • - 최종 프로젝트는 빅데이터 수집 및 저장 시스템 구축, 그 기반 위에 데이터 분석 서비스 연동 및 시스템에 대한 사용자 인터페이스와 시각화를 제공하는 웹 애플리케이션 구현으로 수행.
3. 교육의 특징
  • 1) VR
  • - 이 과정에서 다루는 VR은 비게임 분야를 대상으로 함 (게임 VR 영역 미포함)
  • - 특히 웹 환경에서 실행되는 WebVR 기반의 VR 애플리케이션 개발을 주요 학습 내용으로 포함
  • - 데이터의 시각화와 관련해서 VR 기반의 시각화 애플리케이션 개발 포함
  • - 교육 내용은 VR 입문 및 초급 수준으로 구성
  • - AR은 교육 내용에 포함되지 않음

  • (2) 데이터 분석과 파이썬
  • - Hadoop은 데이터 수집, 저장, 처리 및 분석을 수행하는 데 필요한 다양한 제품을 포함
  • - 특히 분석 영역은 머하웃과 같은 자바 기반의 하둡의 에코시스템 제품뿐만 아니라 파이썬, R과 같은 기존의 데이터 분석 도구를 연동하는 방법 지원
  • - 현재 머신러닝 및 특히 딥러닝 분야에서 파이썬이 폭넓게 사용되고 있는 추세
  • - 특히 파이썬은 데이터 분석 기법을 학습하기 위한 효과적인 도구
  • - 교육에서는 하둡과 연동하기 위해 파이썬 및 머하웃과 같은 하둡 기반 기술 병행 사용
4. 교육대상
  • - 실직자, 미취업자, 졸업예정자
5. 선수지식
  • -컴퓨터 시스템에 대한 이해 (선택적)
  • -오피스 프로그램 활용 능력 (선택적)
  • -C언어 등 프로그램 언어 사용 능력 (선택적)
  • -HTML 또는 웹 저작도구를 이용한 웹 페이지 작성 능력 (선택적)
  • 수학 및 통계 관련 기초 지식 (선택적)
  • -위와 같은 선택적 지식이 없는 초보자,비전공자라도 학습에 대한 열정과 성실성이 있다면 교육 이수 가능
6. 사용소프트웨어 및 실습장비
  • Windows 7 PC (RAM 8GB)
  • CentOS 7 on VM Player or VirtualBox
  • Oracle 11g XE
  • Oracle SQLDeveloper
  • Eclipse
  • AndroidStudio
  • GearVR & SDK
  • Google CardBoard & SDK
  • CDH (Cloudera Distribution Including Apache Hadoop)
  • Anaconda or VirtualEnv
  • PyCharm Community Edition
7. 교육세부내용
구 분 교육내용 시수

자바 프로그래밍 기초

자바 개발 환경 구축 : 자바 언어의 이해, 자바 개발 환경 설치, Eclipse 설치, 컴파일, 자바의 구조
80
Type System : 상수, 변수, 식별자, Data Type, 형변환
제어문 : 선택문, 반복문 을 이용한 실행흐룸 제어
객체 지향 문법 : 메서드, 클래스, 객체, 캡슐화, 상속, 다형성, 추상클래스, 인터페이스
Utility Classes : Wrapper 클래스, 문자열관리, 날짜, 수학 및 기타 유용한 기능 제공 클래스
Collection : 자료구조와 알고리즘에 대한 이해 및 자바의 자료구조와 알고리즘 구현 클래스 활용
IO : 파일을 사용하는 데이터 입출력

데이터베이스 관리 시스템 기초

DBMS 설치 및 설정 : DBMS 설치, Client 프로그램 설치, 계정 관리
40
표준 SQL 구문 : INSERT, DELETE, UPDATE, SELECT, JOIN 등
확장 SQL 구문 : PL/SQL을 활용한 고급 SQL 활용
데이터베이스, 테이블 및 오브젝트 생성 관리 : CREATE, ALTER, DROP 및 다양한 속성 생성 및 관리
주요 데이터베이스 객체 활용 : 뷰, 저장프로시저, 함수, 인덱스, 트리거 등

웹 클라이언트 프로그래밍

개발 및 테스트 환경 구축 : 주요 편집기 기능 활용, 웹서버 설치 및 사용
40
HTML : HTML 문서 구조, 텍스트/목록/링크/이미지/테이블 등 주요 마크업, 폼 태그와 사용자 입력 처리
HTML5 : HTML5 마크업 개요, 웹워커, 장치 연동, 이미지와 그래픽, 멀티미디어, 웹소켓 등
CSS : CSS 구문 구조, 선택자, 색상/텍스트/박스/레이아웃/이미지 등에 적용되는 주요 속성 활용
Javascript : Javascript 구문 구조, 자료형/변수/제어문, 함수, 내장 객체 사용, 브라우저 객체 사용
자바 웹 프로그래밍
웹 개발 환경 구축 : 웹 환경 개용, 웹서버/컨테이너 설치 및 설정, 구동 실습
80
웹 애플리케이션 기초 : 웹 애플리케이션 요청 처리 구조, Servlet, JSP
웹 애플리케이션 주요 기능 구현 : 상태관리, 인증, 파일업로드/다운로드, 웹메일, 필터, 애플리케이션 이벤트 처리
확장 문법 : Custom Tag, EL, JSTL
웹 애플리케이션 구현 실습 : 사용자관리, 자료실, 게시판 등
동적 웹 클라이언트 프로그래밍
Ajax : 문서 객체 선택, 탐색, 조작, 이벤트 제어, Ajax 지원, 플러그인 활용
40
jQuery : 비동기 웹 요청 처리 구조, XMLHttpRequest 객체 사용, JSON 사용
Spring과 ORM 프레임워크
프로그래밍
엔터프라이즈 애플리케이션과 스프링프레임워크 : 엔터프라이즈 애플리케이션 특징 및 스프링프레임워크 구조, 설치 및 환경
80
스프링 프레임워크 핵심 요소 : 스프링 IoC, Portable Service Abstraction, AOP 등
스프링 웹 애플리케이션 : Model View Controller Pattern, 스프링 웹 애플리케이션 구조, 컨트롤러 구현, 요청 매핑, 커스텀 뷰 구현
데이터 접근 계층 추상화 : 저수준 데이터 연동 문제점, 데이터 접근 계층 추상화 구조
스프링 데이터 연동 지원 : 데이터 소스 구성, 템플릿 기반 데이터 연동, 스프링 MyBatis, 스프링 트랜잭션 관리
MyBatis Mapper 설정 및 SQL Mapping 구문 : MyBatis 구조, 설치 및 설정, Mapper 설정 파일 구조와 구성 요소, Mapper 파일 구조와 구성 요소, 동적 SQL 구문
MyBatis 스프링 연동 : SqlSession 관리 클래스, MapperInterface와 SQL Mapper 바인딩
트랜잭션 관리 : PlatformTransactionManager를 활용한 트랜잭션 관리 및 AOP를 활용한 트랜잭션 관리
안드로이드 모바일 프로그래밍
안드로이드 개발환경과 프로젝트 구성 : 안드로이드 SDK 설치, 안드로이드 스튜디오 설치, 프로젝트 구성, 개발자 등록
64
안드로이드 애플리케이션 화면 구성 : 위젯과 레이아웃, 이벤트 처리, 메뉴와 액션바, 액티비티와 프래그먼트를 활용한 멀티 뷰 구현
안드로이드 애플리케이션 지원 기술 : 쓰레드와 비동기 프로그래밍, 파일 입출력 처리, SQLite, 네트워크 프로그래밍, 멀티미디어 활용
안드로이드 하드웨어 활용 : 위치기반 서비스와 지도 활용, 근거리 통신과 센서 활용
안드로이드 그래픽 : 2D 및 3D 그래픽 처리 기술 활용
가상현실 개발 엔진 기초
가상현실 디바이스의 특성과 사용환경 검토 : 구글카드보드, GearVR 등 가상현실 장비의 종류, 장비별 특성, 관련 기술
64
가상현실 개발 환경 구축 : 가상현실 개발 엔진 설치, 실행 디바이스 구성 및 엔진과 연동
오브젝트 활용 : 오브젝트 생성, Material, Transform 등을 사용해서 오브젝트 컨트롤
Scene 구성 : 충돌 관리, 사운드 처리, 카메라 컨트롤, GUI 관리
이펙트 : 애니메이션, 파티클 등을 활용한 이펙트 관리
가상현실 애플리케이션 개발
모바일 기반 가상현실 : 모바일 환경에서 실행되는 가상현실 애플리케이션 개발
120
웹기반 가상현실 : 웹브라우저에서 실행되는 가상현실 애플리케이션 개발
시각화를 위한 가상현실 : 데이터 분석 과정 및 결과 시각화를 위한 가상현실 애플리케이션 개발
하둡과 하둡 에코시스템
하둡 파일시스템과 빅데이터 처리 : 하둡 분산 파일 시스템(HDFS) 구성 및 관리, MapReduce 또는 Yarn을 사용하는 빅데이터 처리
208
빅데이터 수집 및 적재 : 카프카, 플럼, Hbase, 레디스, 스톰 등을 사용하는 빅데이터 수집 및 적재
빅데이터 탐색 : 하이브, 스파크 등을 사용하는 빅데이터 탐색
빅데이터 분석 : 임팔라, 머하웃 등을 사용하는 빅데이터 분석
데이터 분석 기초 및 텍스트마이닝
파이썬 개발 환경 구축 : 아나콘다, VirtualEnv 등 파이썬 개발 환경 구축 및 설정
80
파이썬 구문 기초 : 파이썬의 기초 구문, 파이썬 프로그램 개발을 위한 패키지 활용
데이터 분석을 위한 패키지 : Panda, NumPy, MatPlotLib 등 데이터 분석 및 시각화 패키지 활용
데이터 분석을 위한 통계 기초 : 기초 통계량, 난수, 분포함수, 표본추출 기법 활용
검정 : 상관계수, 카이제곱분포, T분포, F분포 등을 사용하는 독립성 검정, 적합도 검정
예측모델 : 선형회귀를 사용하는 예측 모델 개발 및 활용
텍스트 마이닝 : 텍스트마이닝 기반 비정형 데이터 분석 기법
머신러닝 기반 데이터 분석
머신러닝 패키지 : 파이썬의 머신러닝 패키지인 싸이킷런 이해 및 설치
56
지도학습 : k-최근접이웃, 나이브베이즈, 결정트리, 서포트 벡터 머신 등의 머신 러닝 기법
비지도학습 : 차원 축소, 특성 추출, 군집 등의 머신 러닝 기법
모델 성능 평가 : 과적합화, 과소적합화, 예측능력 등의 문제를 검증하기 위한 모델 성능 평가
학습결과 적용 : 차원 축소, 특성 추출, 군집 등의 머신 러닝 기법
데이터 시각화
스토리텔링 : 데이터 분석 결과에 대한 설득력 있는 스토리텔링 기법
40
파이썬 데이터 시각화 : MatPlotLib 패키지를 사용하는 데이터 시각화 기법
웹기반 시각화 : D3.js, D3.js 기반 라이브러리 등을 사용하는 웹 기반 데이터 시각화 기법
가상현실 기반 시각화 : 가상현실을 사용하는 데이터 시각화 기법
총 계
992
팀 프로젝트
개요
개발기술을 총 망라한 관리자 편의성 웹사이트 개발
기능구현
학원 강사 관리 페이지 구현
학원 학생 등록 및 통계관련 페이지 구현
수업등록 및 학생 시간표 구현
학생 변동분석 데이터 페이지 구현
데이터 시각화 구현
사용 기술력
SpringFramework, SQL, JavaScript, j-Query, AJAX, Servlet, JAVA, Bootstrap
설계 주안점
마케팅 중심의 학원 웹사이트가 아닌 관리자와 학생 중심의 웹페이지 구현
8. 훈련(연수)과정 KeyPoint!!
  • ○ 연수생의 눈높이에 맞춘 차별화된 시각적 방식의 교수법
  • - 이론과 실습을 3대7의 비율로 현업에서 필요한 실무기반 기술 중심의 수업내용을 연수생들의 눈높이 맞추어 시각적인 흥미를 느끼는 레퍼런스 및 구축사례(Case Study) 등을 기술 난이도에 따라 단계적으로 구현함으로써, 연수생이 자발적으로 참여하도록 지도
  • ○ 팀플(Team Play & Project) 중심의 연수과정 운영
  • - 연수생의 기술수준을 단시간에 상향평준화 시키고자, 연수 시작부터 연수생들을 5인 1조의 팀(조)를 편성, 학습우수자와 부진자를 멘토와 멘티로 운영
  • - 팀(조)원들 간의 Co-work 및 Care 능력을 배가시키는 Study for SNS(Social Network Service) System을 운영.
  • ○ 표준 프로젝트 관리방법론 적용
  • - 연수과정 Project 수행 시 습득한 기술의 영역(Spectrum) 및 깊이(Scope) 내의 기술 개발 Platform 내에서 현장(기업)에서 실제 사용하는 국제표준화기구(ISO)가 제정한 품질경영시스템에 관한"국제표준 사업관리요구사항(ISO9001)"을 준수하면서 본 교육기관의 프로젝트 관리방법론을 적용하여 현장 직무와의 연계성 확보
  • ○ 프로젝트 기반의 완성도 높은 연수과정 운영
  • - 담당강사가 연수생의 MENTO 및 PM 역할을 담당하여 일일 학습 진도 습득 능력 및 기술수준을 진단 Check를 함으로써, 연수생이 교육의 방향성을 잃지 않으며, 철저한 멘토링을 통해 실전 프로젝트의 완성도 극대화
  • ○ 다양한 실제 장비를 대상으로 하는 실습
  • - 보드 및 모바일 기기 등 가능한 많은 실제 장비를 기반으로 하는 실습 진행을 통해 실제 장비에서 일어나는 다양한 특성을 이해하고 대응 방안을 도출하는 훈련이 가능하며, 실장비를 통한 사용자 경험을 통해 사용자 경험 향상을 위한 아이디어를 축적하고 실무 환경에 적용 할 수 있도록 운영
  • ○ 최신 트렌드를 반영한 신기술 CASE STUDY
  • - 사물인터넷 영역이 여전히 변경, 발전되고 있는 역동적인 기술 분야인 점을 고려하여 과정이 진행중인 동안에도 최신의 기술 발전 방향을 지속적으로 추적하고 적용하는 과정을 통해 기술의 발전 방향을 이해하고 변경에 빠르게 대응할 수 있는 노하우와 기반 축적
9. 수료 후 진출분야
  • - Java 기반 시스템 개발 및 유지보수 분야
  • - Mobile 애플리케이션 개발 및 유지보수 분야
  • - VR 컨텐츠 개발자
  • - 빅데이터 개발자
  • - 엔터프라이즈 애플리케이션 개발자