11주 실습강의 2010. 1학기, 소프트웨어 설계 및 실험(Ⅰ).

Slides:



Advertisements
Similar presentations
UX, RIA, 그리고 … Silverlight 공도소프트
Advertisements

2 주 실습강의 학기, 소프트웨어 설계 및 실험 ( Ⅰ ). Artificial Intelligence Laboratory Preview  웹 2.0  RIA  웹과 실버라이트의 실행 구조  Silverlight with VS 2008  설치 프로그램.
Windows XP SP2 문제해결 Windows XP SP2를 설치한 회원께서는 Pop-up차단 기능과 ActiveX 설치의 어려움 발생 아래의 예는 안철수 바이러스 설치 시 문제점을 해결 하는 방법의 설명. 1. ActiveX 컨트롤 설치 ① 주소 표시줄 아래의 '이.
목 차 C# 언어 특징 .NET 프레임워크 C# 콘솔 프로그램 C# 윈도우 프로그램 실습 프로그래밍세미나 2.
Chapter 16 : Struts 프레임워크 2. chapter 16 : Struts 프레임워크 2.
Local Connection과 InkPresenter 학기, 소프트웨어 설계 및 실험(Ⅰ)
1. 신뢰할 수 있는 싸이트 등록 인터넷 익스플로러 실행 후 실행
코크파트너 설치 가이드 Window 7.
표지 Ⅵ. Web VAN 사용자매뉴얼 (브라우저보안설정)
Power Java 제3장 이클립스 사용하기.
MS-Access의 개요 1강 MOS Access 2003 CORE 학습내용 액세스 응용 프로그램은 유용한 데이터를
.Net Web Application 2010 컴퓨터공학실험(Ⅰ)
5강. Servlet 본격적으로 살펴보기-I 프로젝트 만들기 doGet() doPost()
3주 실습강의 학기, 소프트웨어 설계 및 실험(Ⅰ).
4장. 웹로직 서버상에서의 JDBC와 JTA의 운용
소개. 소개 Silverlight, WPF, RIA, UX.... ? Silverlight, WPF, RIA, UX.... ? IT환경의 진화.
Visual Basic .NET 처음 사용하기.
3.2 SQL Server 설치 및 수행(계속) 시스템 데이터베이스 master
1. C++ 시작하기.
SqlParameter 클래스 선문 비트 18기 발표자 : 박성한.
소프트웨어 분석과 설계 Struts2 & JBOSS 설치하기
메시지 큐[5] – test1.c 메시지 제어: msgctl(2) #include <sys/msg.h>
학습목표 학습목차 다른 홈페이지의 HTML 파일 코드를 보는 방법에 대해 알아봅니다.
ASP.NET AJAX 비동기 게시판 작성 2007 컴퓨터공학실험( I )
KHS JDBC Programming 4 KHS
Chapter 03 : 서블릿 ( Servlet ) 개요. chapter 03 : 서블릿 ( Servlet ) 개요.
제 01 장 인터넷 프로그래밍 개요 학기 인터넷비즈니스과 강 환수 교수.
26강. 포워딩(Forwarding) RequestDispatcher 클래스 HttpServletResponse 클래스
속성과 리스너 초기화 파라미터 외 파라미터에 대해 이해한다. 리스너를 생성해보고 사용에 대해 이해한다.
인터넷응용프로그래밍 JavaScript(Intro).
C# 12장. 웹 응용 프로그램 제작.
2018년 11월 05일 박성진 Web & Internet [08] 레이아웃 P1 2018년 11월 05일 박성진
영상처리 실습 인공지능연구실.
HTTP 프로토콜의 요청과 응답 동작을 이해한다. 서블릿 및 JSP 를 알아보고 역할을 이해한다.
컴퓨터소프트웨어설계및실험 년 1학기 실험계획 -.
LIT-GenAppSetup ※ Texting+ 클라이언트 프로그램은 제품 인증을 받은 제품입니다.
2 보안 1 도구 윈도우 XP > 온밀크 프로그램 설치 장애 (보안 설정) / 품목추가 깨질 때 장애증상
Adobe 제품 다운로드 및 설치 방법 안내 Adobe Creative Cloud Adobe License 권한을 받으신 분
뇌를 자극하는 Windows Server 장. 원격 접속 서버.
Chapter6 : JVM과 메모리 6.1 JVM의 구조와 메모리 모델 6.2 프로그램 실행과 메모리 6.3 객체생성과 메모리
USN(Ubiquitous Sensor Network)
(개정판) 뇌를 자극하는 Red Hat Fedora 리눅스 서버 & 네트워크
ASP.NET AJAX / AJAX Control Toolkit 응용 2008 컴퓨터공학실험( I )
웹디자인
※ 인터넷 옵션 조치 방법 ※ ★ 신뢰사이트 등록 (1) ★ 우리들을 신뢰해주세요^^* 방법이 복잡해 보일지 모르지만
※ 편리한 사이버 연수원 사용을 위한 인터넷 최적화 안내 ※
PMIS 서버 설정 환경설정 작성자 : 배경환.
14강. 세션 세션이란? 세션 문법 Lecturer Kim Myoung-Ho Nickname 블스
네트워크 환경 구축과 이미지 전송 호스트/타겟 통신 직렬 통신을 이용한 이미지 전송 수퍼 데몬 BOOTP 환경 구축
학습목표 처음 만드는 비주얼 베이직 프로그램 프로그램 실행과 실행 파일 생성. 학습목표 처음 만드는 비주얼 베이직 프로그램 프로그램 실행과 실행 파일 생성.
Cold Spring Harbor Laboratory Press 저널 이용 매뉴얼
12강. 컨트롤러 컨트롤러 클래스 제작 요청 처리 메소드 제작 뷰에 데이터 전달
.Net Web Application 2008 컴퓨터공학실험(Ⅰ)
XML.NET (2/2) DB를 이용한 XML 검색, 수정 프로그램 작성 2008 컴퓨터공학실험(Ⅰ)
AT MEGA 128 기초와 응용 I 기본적인 구조.
13주 실습강의 학기, 소프트웨어 설계 및 실험(Ⅰ).
.Net Web Application 2007 컴퓨터공학실험(Ⅰ)
3장 JSP프로그래밍의 개요 이장에서 배울 내용 : JSP페이지의 기본적인 개요설명과 JSP페이지의 처리과정 그리고 웹 어플리케이션의 구조에 대해서 학습한다.
01. 분산 파일 시스템의 개요 네트워크에 분산된 파일을 사용자가 쉽게 접근하고 관리할 수 있게 해준다.
JSP Programming with a Workbook
기초C언어 제2주 실습 프로그래밍의 개념, 프로그램 작성 과정 컴퓨터시뮬레이션학과 2016년 봄학기 담당교수 : 이형원
12 그리드 시스템.
세션에 대해 알아보고 HttpSession 에 대해 이해한다 세션 관리에 사용되는 요소들을 살펴본다
9 브라우저 객체 모델.
슬라이드 쇼의 설정 슬라이드 쇼의 실행 파일과 폴더의 관리 글꼴을 포함해서 저장 웹 페이지로 게시 압축 파일
프로그래밍 언어 학습을 위한 가상실습환경 창원대학교 이수현.
8주 실습강의 학기, 소프트웨어 설계 및 실험(Ⅰ).
7 생성자 함수.
BoardGame 보드게임 따라가기.
20 XMLHttpRequest.
Presentation transcript:

11주 실습강의 2010. 1학기, 소프트웨어 설계 및 실험(Ⅰ)

Preview RIA 웹과 실버라이트의 실행 구조 Silverlight with VS 2008 데이터 바인딩 실버라이트의 데이터 바인딩 데이터 흐름 DataContext INotifyPropertyChanged 데이터바인딩 예제 실습과제 주의사항

RIA (Rich Internet Application) 통신과 HTML 표현의 한계를 보완하기 위한 기술 사용자 경험 보완 새로고침 없이 서버와 통신 Classic HTML AJAX Flash & Flex Silver Light ActiveX & SmartClient WPF (XBAP) 가벼움 무거움 대표적인 RIA 기술

RIA (Rich Internet Application) AJAX 검색어 자동완성 FLEX CGV홈페이지

RIA (Rich Internet Application) Web Server Page 1 Page 2 Page 3 Page 4 HTML RIA (Rich Internet Application) Data Data Data Web Server 기존 웹 사이트 RIA Classic Web RIA 장점 클라이언트에게 최대한 가벼운 환경을 제공한다. 풍부한 UI를 표현할 수 있다. 사용자 경험을 극대화할 수 있다. 단점 UI표현의 많은 제약을 가지고 있다. 지능적인 페이지를 만들기에는 많은 한계를 가지고 있다. 기존의 사용자 경험이 무시될 수도 있다. 환경에 적합하지 않은 RIA 기술을 선택할 경우 효율성이 떨어질 수 있다. 대부분의 RIA 기술들은 검색엔진에 노출도리 수 없다.

웹의 실행구조 1.웹 서버에서 HTML을 다운받음 3.저장한 HTML을 브라우저 파서가 파싱하여 보여줌

실버라이트의 실행구조 1.웹 서버에서 HTML과 DLL을 다운받음 3.저장한 XAML파일은 브라우저에 임베디드 됨 2.다운받은 XAML과 DLL은 인터넷 임시 폴더에 저장됨 4.브라우저에 포함된 XAML파일은 실버라이트 런타임에 의해서 실행됨

기본 컨트롤(1) 컨트롤 설명 Button 주로 작업을 수행하도록 명령을 내리는 버튼 컨트롤 Calendar 날짜 형식의 데이터를 입력 받고자 할 때 사용하는 컨트롤 CheckBox 사용자가 설정/해제할 수 있는 박스 모양의 컨트롤 (다중 선택 가능) RadioButton 사용자가 설정/해제할 수 있는 원 모양의 컨트롤 (다중 선택 불가) HyperLinkButton 하이퍼링크 스타일의 버튼 컨트롤 Image 이미지를 화면에 표시하는 컨트롤 DatePicker 텍스트박스와 달력 컨트롤을 조합하여 만든 컨트롤

기본 컨트롤(2) 컨트롤 설명 ScrollViewer 컨텐츠의 내용이 지정된 컨텐츠 영역보다 더 클 때 상하 또는 좌우의 스크롤바를 표시하여 컨텐츠의 나머지 내용을 볼 수 있도록 하는 컨트롤 Slider 특정 범위 안에 있는 값을 선택할 수 있도록 하는 컨트롤 Panel 다른 컨트롤의 컨테이너 역할을 하는 컨트롤 Tab 여러 개의 UI를 하나의 지정된 영역에 표시할 때 사용하는 컨트롤 http://msdn.microsoft.com/en-us/library/cc838158(vs.95).aspx

Silverlight with VS 2008 (1)

Silverlight with VS 2008 (2) Visual C# -> Silverlight -> Silverlight 응용 프로그램

Silverlight with VS 2008 (3) ASP.NET 웹 응용 프로그램 프로젝트

Silverlight with VS 2008 (4)

Silverlight with VS 2008 (5)

Silverlight with VS 2008 (6)

데이터 바인딩 UI와 데이터소스 사이에 데이터가 사용될 수 있도록 연결하는 방법. 데이터를 표시하는 작업과 데이터를 다루는 작업을 분리. 비즈니스 오브젝트와 UI를 분리. 웹 페이지에는 HTML 태그와 데이터가 같이 섞여있기 때문에, 사용자가 데이터를 조작하려면 서버에게 또다시 필요한 요청을 해야 합니다. 이렇게 하면 서버가 같은 데이터에 다시 액세스하고 그것을 클라이언트에서 요구한 형식으로 만든 후, 새로운 페이지를 클라이언트로 전송합니다. 서버는 다시 한 번 HTML 페이지에 포함된 동일한 데이터를 클라이언트로 전송하는 것이지요. 이런 문제를 해결하기 위해 등장한 것이 데이터 바인딩(data binding)입니다. 데이터 바인딩은 인터넷 익스플로러 Dynamic HTML의 한 부분으로, 데이터와 HTML을 구분하기 때문에 데이터를 조작하기 위해 서버에 갔다 올 필요 없이 클라이언트 상에서 수행할 수 있습니다.

실버라이트의 데이터 바인딩 WPF(Windows Presentation Foundation)의 바인딩 개념을 사용. 모든 개체들의 속성이 바인딩을 지원한다. 데이터 템플릿과 스타일을 통해 데이터 표현이 자유롭고 유연하다. UI로부터 비즈니스 로직을 완벽히 분리할 수 있다.

실버라이트의 데이터 바인딩 Dependency Property Property Binding Engine Binding Target Binding Source FrameWork Element Object Dependency Property Binding Engine Property

데이터 흐름 OneTime OneWay TwoWay 초기에 한번만 바인딩하고 연결이 끊어짐. 소스에서 타겟으로 바인딩 소스 데이터가 변경되면 타겟으로 통보되어 변경됨 TwoWay 소스타겟, 타겟소스 양방향 바인딩 사용자가 UI에 표시된 값을 변경하면 소스에 반영됨

DataContext System.Windows.FrameworkElement 클래스 SetBinding 메서드 DataContext는 부모 컨트롤에서 자식 컨트롤로 상속 같은 데이터 소스를 여러 컨트롤에 바인딩 할 때 사용 DataContext 속성에 데이터 소스를 할당 XAML에서 바인딩 표현식으로 사용 LayoutRoot.DataContext = mediaData; 실버라이트2의 모든 컨트롤은 FrameworkElement 클래스를 상속 받습니다. 그래서 모든 컨트롤은 FrameworkElement 의 DataContext라는 속성을 가지고 있습니다. DataContext 속성을 이용한 데이터바인딩은 간단합니다. DataContext 속성에 바인딩 소스로 사용할 객체를 대입 XAML 에서 바인딩 표현식을 이용하여 원하는 방식으로 데이터를 표현하면 됩니다. <TextBlock Text=“{Binding '', Path=Title}” …

DataContext 상속 최상위 Grid 컨트롤의 DataContext 설정 자식 컨트롤에서 상속되어 여러 컨트롤에서 사용 public class MediaMetadata { public string Title { get; set; } public string Description { get; set; } public string Uploader { get; set; } public DateTime UploadTime { get; set; } public stringThumbnail { get; set; } } DataContext의 재미있는 특징은 DataContext의 속성값은 자식 컨트롤의 DataContext 속성으로 상속이 된다는 것입니다. 자식 컨트롤에서 DataContext 값에 데이터 소스를 설정할 필요 없이 XAML에서 바인딩 표현식을 이용해서 값을 사용할 수 있습니다.

INotifyPropertyChanged 바인딩 된 데이터가 변경이 되면 즉시 UI에 반영 바인딩 소스 오브젝트에 반드시 INotifyPropertyChanged 인터페이스 구현 public class MediaMetadata : INotifyPropertyChanged { public event PropertyChangedEventHandler PropertyChanged; … } 바인딩 소스의 값이 변경되면 UI에 표현된 값도 변경이 되면 좋겠습니다. 이를 위해서 데이터 소스에 INotifyPropertyChanged 인터페이스를 구현해서 PropertyChanged 이벤트를 구현해 주면 가능합니다.

Data Binding 예제(1) 1. 프로젝트에서 클래스 추가 -> 2. myColor.cs 생성

Data Binding 예제(2) GET, SET Method 생성

Data Binding 예제(3) GET, SET Method 생성

Data Binding 예제(4) MainPage.xaml.cs 파일 myColor.cs 파일

Data Binding 예제(5) Button에 Click 이벤트 발생시 동작할 함수를 <새 이벤트 처리기>를 클릭하여 만들어 준다. MainPage.xaml.cs 파일에 생성된 함수에 color.ChangingColor= new SolidColorBrush(Colors.Blue); 를 추가하여 실행하여 본다.

Data Binding 예제(6) 실행을 하여 버튼을 클릭하면 글의 색이 푸른색으로 변하여야 할 것 같으나 변하지 않는다. myColor.cs 파일 에 다음과 같이 추가한다. 붉은 네모 상자로 된 부분이 추가된 부분이다. 실행하여 버튼을 ] 클릭하면 글자색 이 푸른색으로 변 한다.

실습 과제(사진첩 만들기)

실습 과제(사진첩 만들기) 아래 코드를 MainPage.xaml의 Grid 태그 내부에 적어 넣는다. 리스트에서 그림을 선택 시 큰 그림을 바꿔주는 코드를 작성한다. 그럼 수고하세요~

주의사항 ASP.NET과는 다르게 디자인 페이지가 없습니다. 따라서 여러분들이 직접 코딩을 하여 디자인해야 합니다. 다음 주에 실버라이트 디자인 툴인 블렌드를 가르쳐 드릴 것입니다. XXX.xaml 파일을 수정한 후에 반드시 저장을 하세요. 그렇지 않으면 .xaml.cs 파일에서 각 컴포넌트의 ID에 접근할 수 없습니다. 실행 전에 빌드 탭의 ‘솔루션 다시 빌드’ (단축키:Ctrl+Alt+F7)을 한 후 실행하여야 합니다.