Lecture 1 : 플렉스 소개
이번 강의에서는 RIA 관련 다양한 기술들에 대해 알아보고, 그 중에서 플렉스를 도입 함으로써 각 관계자 별로 얻는 이점에 대해 알아 봅니다. 또한, 플렉스 작성에서 서버 배치, 실행까지의 과정을 통해 플렉스의 구동 원리를 배웁니다.
내용
- RIA 조건
- 관련자 별 RIA 이점
- RIA 기술들
- 플렉스 개요
- 플렉스 구동 원리
Lecture 2 : 객체지향 프로그래밍
객
체지향 프로그래밍을 위한 객체지향 분석/설계 방법을 알아봅니다. 고객의 요구사항을 UML의 Use-case로 식별하고 정의하는
방법을 배웁니다. Robustness 분석 방법을 통해 분석 객체(Boundary, Control, Entiry)를 식별해
보고, Sequence 다이이그램을 통해 객체지향으로 설계하는 방법을 배웁니다.
내용
- UseCase로 요구사항 식별 및 정의하기
- 객체지향 분석 (OOA) - Robustness 분석
- 객체지향 설계 (OOD) - Sequence Diagram 작성
Lecture 3 : OOP와 액션스크립트
객체지향 핵심 개념에 대해 살펴보고, 액션스크립트를 사용하여 객체지향 개념을 프로그래밍 하는 방법을 배웁니다.
내용
- 추상화(Abstraction)와 클래스
- 액션스크립트 클래스
- 클래스 접근 제어 속성(attribute) - dynamic, final, internal, public
- 클래스 멤버 - 변수, 상수, 메소드
- 캡슐화(Encapsulation) - setter & getter
- 멤버 접근 제어 속성 - private, protected, internal, public, static
Lecture 4 : 윈도우 만들기
플렉스 프레임워크에서 제공하는 클래스를 사용하여 윈도우를 만드는 방법에 대해 학습합니다. 또한, 객체지향 개념 중에 '상속'에 대해 알아 봅니다.
내용
- mx.core.Application 상속 받아 메인 윈도우 만들기
- 상속(Inheritance) - Generalization & Specialization
- 클래스와 인스턴스
- 생성자 - this, super
- 데이터 형과 기본값 - Boolean, int, uint, Number, String, Null, void, Object, untyped
Lecture 5 : MXML 소개
MXML 태그를 사용하여 빠르고 간편하게 UI를 작성하는 방법을 배웁니다. 유효한 XML 문서 작성 규칙과 XML 네임스페이스에 대해 알아봅니다.
내용
- 유효한 XML
- XML 네임스페이스
- MXML을 사용하여 mx.core.Application 상속 받아 메인 윈도우 만들기
- 네임스페이스 설정 정보 파일과 태그-클래스 매핑 정보 파일
- 자식 컴포넌트 추가하기
- 데이터 형 변환 - 암시적/명시적, to int, uint & Number, to Boolean, to String
Lecture 6 : 컨테이너와 레이아웃
플렉스 프레임워크에서 제공하는 다양한 컨테이너 컴포넌트들에 대해 살펴 봅니다. 각 컨테이너이 자식 컴포넌트 배열 특성(layout)에 학습합니다.
내용
- 컨테이너 종류
- Application 컨테이너 레이아웃 특징
- HBox, VBox 컨테이너 사용하기
- Canvas 컨테이너 사용하기
- Panel 컨테이너 사용하기
- ControlBar 컨테이너 사용하기
- ApplicationControlBar 사용하기
- 절대 좌표 레이아웃 - Application, Panel, Canvas
- 제약조건 기반 레이아웃 - Application, Panel, canvas
Lecture 7 : UI 컨트롤과 이벤트
이 강의에서는 플렉스에서 기본적으로 제공하는 UI 컨트롤에 대해 알아봅니다. 버튼 클릭이나 텍스트 상자에 글을 입력 했을 때 발생하는 이벤트를 어떻게 처리하는지 배워봅니다.
내용
- 주요 UI 컨트롤 사용 - Label, Button, TextInput, CheckBox, Image, DateField, LinkButton, List 등
- 이벤트 처리 함수 생성
- 이벤트 처리 함수 등록 - addEventListener()
- 클래스 변수 와 인스턴스 변수 - static
Lecture 8 : 이벤트 다루기
이벤트가 발생했을 때, 플래시 플레이어에 의해 이벤트 객체가 만들어져서 최종 목적지까지 도착하는 과정에 대해 알아봅니다. 이벤트 흐름 3 단계에 대해 학습합니다.
내용
- 이벤트 이해하기 - System vs. User
- MXML에서 이벤트 다루기
- 이벤트 흐름 3단계
- 이벤트 객체 - currentTarget vs. target
- 이벤트 리스너
Lecture 9 : 데이터 바인딩
어떤 객체의 데이터를 다른 객체에 묶어서, 원래 데이터(source data)가 바뀌면 자동으로 연결된 객체의 데이터(target data)가 바뀌도록 하는 방법에 대해 배웁니다.
내용
- 데이터 바인딩 방법 - curly brace 문법( { } ), <mx:Binding> 태그, BindingUtils 메소드
- 함수에 바인딩 하기
- 객체에 바인딩 하기 - 객체 레퍼런스, 객체 프로퍼티
- 배열에 바인딩 하기 - 배열, 배열 요소
Lecture 10 : 데이터 모델 및 XML 객체 다루기
플렉스 앱에서 다루는 데이터를 일시 보관하는 방법에 대해 배웁니다. MXML에서 XML형태로 보관하는 방법과 액션스크립트의 value 객체를 통해 보관하는 방법에 대해 알아봅니다.
내용
- MXML 데이터 모델 생성하기
- 액션스크립트 클래스로 데이터 모델 생성하기
- E4X관련 클래스 - XML, XMLList
- XML 객체 다루기 - 변수 초기화 와 조립
- XML 데이터 탐색
Lecture 11 : MXML 사용자 정의 컴포넌트 만들기
플렉스 프레임워크에서 제공되지 않는 컴포넌트를 개발자가 요구 사항에 맞추어 새로 정의 하는 방법을 배웁니다. MXML 및 액션스크립트를 사용하여 컴포넌트를 정의합니다.
내용
- MXML로 컴포넌트 만들기
- 액션스크립트로 프로퍼티 및 메소드 정의하기
- MXML 태그로 프로퍼티 정의하기
- getter 및 setter로 프로퍼티 정의하기
- 프로퍼티에서 데이터 바인딩 지원하기
- [Inspectable] 메타 태그 사용
- 사용자 정의 이벤트 생성
Lecture 12 : 액션스크립트 사용자 정의 컴포넌트 만들기
액션스크립트로 사용자 정의 컴포넌트 만드는 방법에 대해 배웁니다. UIComponent의 주요 메소드를 재정의(overriding)하는 방법에 대해 학습합니다.
내용
- 액션스크립트로 컴포넌트 만들기
- 프로퍼티 및 메소드 정의하기
- 데이터 바인딩 지원하기
- UIComponent 메소드 재정의하기
- 다형성 - 오버라이딩(Overriding) & 오버로딩(Overloading)
Lecture 13 : 데이터 셋 과 Repeater
Array와 ArrayCollection을 사용하여
데이터 셋을 정의하고, HorizontalList와 TileList에서 dataProvider로 사용하는 방법에 대해
알아봅니다. Tree나 List에서 사용될 사용자 정의 ItemRender 작성 방법을 배웁니다. 반복처리를 위해
Repeater 사용 방법을 배웁니다.
내용
- Array vs. ArrayCollection
- HorizontalList 만들기 - lableField 와 labelFunction
- 사용자 정의 itemRender 정의
- Repeater를 사용하여 데이터 셋 반복하기
- TileList vs. Tile 컨테이너 + Repeater 성능
Lecture 14 : 뷰 스테이트 사용하기
뷰 스테이트를 사용하여 화면 배치를 조정하는 방법을 배웁니다. 사용자의 이벤트에 따라 화면 배치나 상태가 조정되어야 할 때, 새로 화면을 만드는 것 보다 일부 컴포넌트의 상태를 조정함으로써 손쉽게 화면을 관리할 수 있습니다.
내용
- 뷰 스테이트 사용 이점
- 뷰 스테이트 만들기
- 뷰 상태 제어하기
- 뷰 상태 관리 MXML 태그
Lecture 15 : 네비게이터 사용하기
사용자가 관련된 기능을 이용하기 위해 컨테이너들 사이를 원활하게 이동할 수 있도록 할 때 네이비게터를 사용합니다. 이 강의를 통하여 관련 업무 기능을 묶어서 하나의 화면에서 제공할 수 있는 방법을 배우우게 될 것입니다.
내용
- 네이게이터 컨테이너 vs. 네이게이터 컨트롤
- LinkBar 컨트롤 사용하기
- TabBar 컨트롤 사용하기
- ViewStack 컨테이너 사용하기
- TabNavigator 컨테이너 사용하기
- Accordion 컨테이너 사용하기
- ButtonBar & ToggleButtonBar 사용하기
- ApplicationControlBar 사용하기
Lecture 16 : DataGrid 사용하기
데이터 셋을 DataGrid를 사용하여 행과 열의 테이블 형태로 출력하는 방법을 배웁니다. 사용자 정의 itemRenderer를 추가하는 방법과 정렬, 스타일링, 그룹핑 등에 대해서도 다룹니다.
내용
- DataGrid 특징
- ArrayCollection으로 데이터 준비하기
- 컬럼 지정하기
- 컬럼 데이터 포맷 바꾸기
- itemRenderer 사용하기
- itemEditor 사용하기
- 정렬하기
- 외관 변경하기
- 데이터 묶음처리
Lecture 17 : HTTPService 컴포넌트로 원격의 XML 데이터 가져오기
HTTPService 컴포넌트를 사용하여 원격 서버에 요청하여 XML데이터를 가져오는 방법을 배웁니다.
내용
- HTTPService 객체 생성하기
- 서비스 요청하기 - crossdomain.xml
- 응답 결과 받기
- ArrayCollection으로 결과 다루기
- e4x으로 결과 다루기
- 예외처리 - try ... catch ... finally
Lecture 18 : 원격 서비스로 자바와 연동하기 I
BlazeDS를 사용하여 자바 객체와 플렉스의 RemoteObject를 사용하여 빠르게 데이터를 주고 받는 방법을 설명합니다.
내용
- 원격 서비스 객체 만들기 - 자바 클래스 생성
- 서비스 설정하기 - services-config.xml, remoting-config.xml
- 어댑터와 채널 선택하기
- 목적지 생성하기
- <mx:RemoteObject> 사용하기
- RPC 이벤트 다루기
Lecture 19 : 원격 서비스로 자바와 연동하기 II
원격 메소드 호출을 사용하여 플렉스 클라이언트에서 서버로 데이터를 보내는 방법에 대해 배웁니다.
Lecture 20 : 종합시험