| 기초 SW 프로그래밍 HTML
 | 
                                   • Visual Studio Code 설치 및 설정
• HTML 필수 마크업 학습
• HTML5 에서 추가된 기능과 요소들
• 웹 접근성을 고려한 마크업 
• 다양한 form 요소 구성하기
 
     실습) 회원가입 폼 만들기
 | h | 
                            
                            
                            	| CSS | 
                                   • CSS의 개요 및 다양한 선택자를 이용한 디자인 변경 방법
• 크기 관련 속성
• 텍스트 관련 속성
• 효율적인 레이아웃구성
• CSS3 transition, transform, animation 활용
 
    실습1) Flex Layout 학습을 위한 유틸리티 만들기
    실습2) Bootstrap CSS를 활용한 UI 만들기
 | h | 
                            
                            
                            	| JavaScript
jQuery 라이브러리
 | 
                                   • 변수, 상수
• 자바스크립트 반복문, 제어문
• Object, Array
• function type 만드는 방법
• HTML5 canvas 활용
• 람다 함수
• function 활용 심화, 매개변수, 리턴값
• 클로저란? 
• Fetch 함수를 이용한 GET, PUT, POST, DELETE 요청
• 정규표현식(Regular Expression) 학습
• jQuery 라이브러리 활용 및 문서 접근, 탐색, 이벤트 처리
• Ajax in jQuery
• 다양한 jQuery 플러그인 활용
 
 
    실습) Canvas를 활용한 Game Programming
 | h | 
                            
                            
                            	| ECMAScript 6 | 
                                   • ECMAScript6 개요
• let, const를 활용한 변수와 상수 선언
• 기본 매개 변수
• 편리한 객체 정의 방법
• 람다함수 ( arrow 함수 )
• Computed Property
• Object, Array 구조 분해 할당
• Spread 연산자
• 클래스 문법, 생성자
• 모듈과 import, export
• callback 지옥과 Promise
• suspend, async
 
    실습) Promise를 이용한 비동기 실습하기
 | h | 
                            
                            
                            	| React.js 라이브러리 | 
                                   • React.js 개요 및 환경 설정
• React component 설정
• 중접component 설정
• JSX 이용법
• 함수형 Component vs 클래스형 Component
• 여러 가지 다양한 Hook 활용
• Property 설정법 ( propTypes )
• State 개념 및 사용법
• Component 맵핑법
• React 라우터 사용법
• Axios를 이용한 API 사용
• Redux, Store 를 이용한 Component 간 데이터 공유
 
    실습) React-router-dom 을 이용한 Single Page Application 만들어보기
 | h | 
                            
                            
                            	| Vue.js 라이브러리 | 
                                   • Vue.js 설치
• 디렉티브 ( v-show, v-if, v-for 등 )
• 이벤트 처리
• 컴포넌트 생성 및 사용
• 바인딩
• HTTP 연동 및 라우터(router)
 
    실습1) Vue 를 활용한 회원가입폼 Validation
    실습2) fetch 함수를 이용한 Ajax 실습
 | h | 
                            
                            
                            	| DataBase (오라클) | 
                                   • 요구 사항 분석 및 개념적, 논리적 모델링
• 테이블 정의 및 제약 조건
• 시퀀스의 정의와 사용
• DML 학습
• 연산자, 다양한 내장 함수의 활용
• DQL 학습
• 조인과 서브쿼리 
• 데이터베이스객체 (View..)
• 계정 생성, 권한 및 보안
 
    실습) 사원정보 검색 및 관리하기
 | h | 
                            
                            
                            	| JAVA Standard Edition | 
                                   • 개발 환경 및 플랫폼 구조
• 변수 및 연산자, 제어문(조건판단, 반복)의 이해
• 클래스의 이해 및 멤버를 기반으로 객체 생성
• OOP의 핵심기능의 이해 (클래스의 포함, 상속, 인터페이스 추상클래스, 다형성)
• Collection 활용 : List, Set, Map 등
• Stream 기반의 File 입출력
• Thread : Multi Thread 를 활용한 병렬처리, Thread 활용
• JDBC : DB 연동프로그래밍 (CRUD)
• Socket 를 활용한 통신
• HttpURLConnection 객체를 이용한 Http 요청과 응답
• Java GUI 프로그래밍 
 
    실습1) 회원관리 App 프로그래밍
    실습2) Socket을 활용한 채팅방 만들기
 | h | 
                            
                            
                            	| JAVAEE – Backend (JSP) | 
                                   • WAS 환경 구축과 아키텍처의 이해
• Servlet 과 JSP 
• JSP 심화 및 기본 객체 활용법
• 요청 파라미터 추출
• GET, POST 방식 요청 
• 사용자 정보 유지를 위한 메커니즘 : Session, Cookie
• 로그인, 로그아웃
• Connection Pool 과 DB 연동
• 인코딩 Filter, Login필터
• MVC 패턴 구조와 역할
• Expresison Language, JSTL
 
    실습) 다양한 기능(회원가입, 로그인, 로그아웃, 회원관리, 게시판)이 있는 웹서버 구축
 | h | 
                            
                            
                            	| Spring Framework | 
                                   • Spring framework의 구조 이해
• Dependency Injection과 IOC 
• AOP 프로그래밍 기법의 이해와 적용
• Spring MVC 패턴의 구조와 역할
• Model과 view page
• Controller, Service, DAO
• MyBatis 설정 및 CRUD
• 파일 업로드 다운로드
 
    실습) MyBatis를 활용한 Café와 Gallery 구현 
 | h | 
                            
                            
                            	| Spring Boot | 
                                   • Spring Boot 프로젝트 셋팅
• application, properties와 yml 파일
• App Configuration
• Controller와 RestController
• GET, PUT, POST, DELETE 방식 요청처리
• Postman 설치와 활용
• REST API와 구현
• Spring Security 회원가입 로그인, 로그아웃 
• 다양한 Security 설정
• 테스트 주도 개발(TDD)
 
    실습1) REST API 구현하기 
    실습2) Spring Boot 웹 프로젝트 개발 (기획-요구 분석 설계–구현–시연-평가) 
 | h | 
                            
                            
                            	| 안드로이드(Android) | 
                                   • 안드로이드 스튜디오 설치
• LinearLayout, ConstraintLayout 을 이용한 레이아웃 설계
• 기본 위젯의 배치와 제어
• Activity와 lifecycle
• Fragment의 이해
• GoogleMap 띄우기
• WebView 활용
• Service와 BroadcastReceiver 이해
• HttpUrlConnection 객체를 이용한 Http 요청 
• JSON데이터 다루기
• 위치 기반 서비스와 앱 위젯 사용하기
 
    실습) SpringBoot 서버와 Android App 연동 
 | h | 
                            
                            
                            	| 코틀린(Kotlin) 프로그래밍 | 
                                   • Kotlin Language 환경설정
• 표준 출력
• functions
• variables
• class와 참조값
• 문자열 templates
• for, while loop
• when 표현식과 Ranges
• 다양한 Collections
• Nullable과 Null check
• Create Dto
• Filter a list
• 다양한 배열
• 확장 functions
• if, return, try~catch in kotlin
• 다양한keyword와 operatiors
• Control Flow and 특별한 class
• Scope function과 Delegation
 
    실습) Java로 코딩한 Android 프로젝트를 코틀린 기반으로 변경하기
 | h | 
                            
                            
                            	| JWT와 JPA | 
                                   • Json Web Token
- JWT 소개
- 토큰 구조 및 페이로드
- 토큰 생성과 서명
- 토큰 검증과 해독
- 토큰 이용한 사용자 인증, 권한 부여
- Client Side에 저장 및 요청 시 전송
- JWT의 보안 고려 사항, refresh 토큰
- Spring security 실제 적용 및 예시
• Java Persistence API
- JPA 소개 및 ORM 개념
- 테이블과 칼럼 맵핑 Entity
- 영속성 컨텍스트
- 연관관계 ManyToOne, OneToMany, OneToOne
- JPQL 기본, 함수, 조인, named Query
- Query 메소드
 
 
    실습1) Spring Boot stateless 인증 구현
    실습2) JPA 기반의 CRUD 실전 예제 구현 
 | h | 
                            
                            
                            	| 프로젝트 공통 | 
                                   1. 기획서 작성
2. 기술서 작성
3. 구현
    : 프로젝트기획 및 UI 설계
    : 요구사항을 통한 상세 분석
4. 발표 및 시연
 | h | 
                            
                            
                            	| 최종 프로젝트 | 
                                   [K-디지털 트레이닝] 최종프로젝트 선정 주제
웹서버 구축(프레임워크) 및 모바일(웹/앱) 융합 프로젝트
■ ES기반 IoT활용 고객 서비스 수요 구현
■ MQTT브로커를 이용한 메신저 서비스 구축
■ 지도 연동 드론 로봇 모니터링
■ 요소 기술 서비스를 통한 시스템 구축 | h |