-

오늘 교육이 있었던걸 메모하자

1. 안드로이드는 임베디드 디바이스 전용으로 만들어 졌다.

안드로이드 플렛폼 의 네가지

①OS
os는 다들 알고 있는 오페레이팅 시스템이다.

-아이폰은 Ios

-위도우폰은 요즘에 나온 윈도우모바일7

-안드로이드는 리눅스가 OS이다,

이러한 이유는 안드로이드가  OpenSource라는 점 때문이란다.


위의 그림의 제일 하단의 리눅스 커널을 보면 리눅스커널에는 GPL과 APL이 있는데

GPL은 오픈되어있지만 사용하여 수정한뒤 다시 오픈을 반드시 해야만 하는 것이다

APL은 그냥 오픈이란다. 자세한 것은 더 찾아 봐야 겠다.

아무튼 이렇고 이러한 커널의 역할은 크게 네가지로 분류된다.

1) Process

프로세스는 리눅스 프로세스와 안드로이드 어플리케이션 프로세스가 있다.

2)메모리 (멀티프로세서를 사용하므로 스케줄러와 + 전원관리)등을 메모리 관리에 사용

*프로세스 강제 종료 기능이 있다는 중요한 기능!!

3)보안

안드로이드에서는 탈옥이 아니라 루틴이라는 용어를 사용하는데 이것은

루트의 권한을 획득하여 사용하는 것을 말한다.

4)디바이스 관리

위의 그림을 보면 알겟지만 디바이스 드라이버를 많이 관리하는 것을 볼 수있다.

②Middle Ware

 두번째는 미들웨어이다. 이것은 거의 C로 되어있고 간혹 C++로 도 되어있다.

Java는 하드웨어를 바로 직접적으로 사용을 할수없다 어찌 말하면  JVM때문이라고 할 수있겟다.

c/c++로 구성된 library를 사용하는데

내가 관심이 있는 OpenGL|ES

안드로이드 DB인 SQLite

웹브라우저 엔진인 WebKit

C표준 라이브러리 함수인 libc

등 이것들은 다 확장자 *.so를 가진 것이다.

* .so는 Linux에서 동작이 가능한 공유 라이브러리라고 알면 되겟다.

안드로이드 런다임

은 Dalvix VM과 Core library로 되어있다.

달빅은 안드로이드를 위한 가상머신으로 구글에서 직접 JVM과는 별개로 만든것이다.

달빅은 어플리케이션이 실행될때 어플리케이션하나에 하나의 인스턴스를 만들어 들어간다.

(JVM은 하나로 여러개를 하지만)

예)로 들면 터치를 했는데 그게 커널단에서 받아오고 우리는 그걸 미들웨어(라이브러리)를 통해서

제어하는데 그것은 c/c++이기 때문에

java인 런타임에서 쓸려고 core library에서 가능하도록

JIN(java native interface)가 있다.

Native Server

suface flinger -> 화면처리 쪽

③Application Framework

위의 그림을 보면 설명의 모든것을 알수 있을 것이다.

세번쨰로 프레임워크는 이제부터는 java로 구성되어있다.

Activity manager

하나의 화면을 관리하는 것

Notification Manager

사용자에게 알림메세지 같은 것을 관리(문자, 베터리부족)

Location Manager

GPS같은 위치

resource Manager

문자열, 파일, 이미지, 등 리소스 관리

contant provider

DB를 공유, 파일을 공유

view System

화면


④Application

두가지 종류로 분류

-Key Application

안드로이드 플렛폼에 내장되어있는,

제조사에서 처음부터 내장되어 나오는 것

-download Application

사용자가 다운로드한 것



'★Programming★ > Andriod' 카테고리의 다른 글

안드로이드의 개괄적 이해  (0) 2010.10.17

Papervision 에서 주로 사용되는 카메라 속성들입니다.

Field Of View

 - 카메라의 시야각입니다.

 - Camera.fov

Focus

 - 카메라와 viewport 사이의 거리입니다.

 - Camera.focus

 

Zoom

 - 카메라의 Zoom 입니다.

 - Camera.zoom

 

Near

 - 카메라에서 가까이 있는 거리 값 입니다.

 - Camera.near

 

Far

 - 카메라에서 멀리 떨어진 거리 값 입니다.

 - Camera.far

 

Camera Type

 - Target 이 중심인 카메라 :: CameraType.TARGET, Camera3D

 - 카메라가 중심인 카메라 :: CameraType.FREE, Camera3D

 - Debug 용 카메라 :: CameraType.DEBUG, DebugCamera3D

 - 탄성이 있는 카메라 :: CameraType.SPRING, SpringCamera3D

 

lookAt() 메소드

 - 객체나 카메라을 지정해준 대상을 바라보게 변경 할 수 있습니다.

 - Camera.lookAt( plane );

 

Culling

 - 카메라에 보여지지 않는 객체의 Rendering 여부를 설정합니다.

 - Camera.useCulling = true;

 - Viewport.autoCulling = true;

 

Clipping

 - Viewport 의 경계면에서 면이 깨어지는것을 방지합니다.

 - Renderer.clipping = new FrustumClipping( FrustumClipping.NEAR );

 - FrustumClipping.ALL, FrustumClipping.NEAR, FrustumClipping.TOP, FrustumClipping.BOTTOM, FrustumClipping.LEFT, FrustumClipping.RIGHT

 - Plane.clipping = true;

 

Move

 - DisplayObject3D 를 상속받은 객체면 사용할 수 있습니다.

 - x, y, z 축이 아닌 키워드를 가지고 이동할 수 있습니다.

 - moveForward() :: 앞으로 이동합니다.

 - moveBackward() :: 뒤로 이동합니다.

 - moveLeft() :: 왼쪽으로 이동합니다.

 - moveRight() :: 오른쪽으로 이동합니다.

 - moveUp() :: 위로 이동합니다.

 - moveDown() :: 아래로 이동합니다.

'★Programming★ > PaperVision3D' 카테고리의 다른 글

Camera기본  (0) 2010.09.11
PaperVision3D in Flex  (0) 2010.09.03

1. 어플 구조
   - Presentation Logic
   - Business Losic
   - Data Acees Losic
 

1970년대
메인프레임(서버) 안에 모든 3가지 로직이 다들어가있음
사용자는 서버에 접속하여 함
단점 : 사용자가 늘어남에 따라 한계발생

1980년대
C/S(two-tier)
DB서버 (RDBMS)만 있음  사용자는 PC에서  PresentationLosic Data Acees Losic 를 함
가능 이유 PC 성능 향상

1980년대 지나면서
C/S(three-tier)
C/S 에 문제 발생 유지보수 힘듬 업그레이드 힘듬
DB서버 (RDBMS)에다가
Application 서버 에서 business Logic이 들어가서 생김 (업무 처리 서버)
    ex)웹이면 WAS 라고함
PC 쪽에서 브라우저만으로 실행시켜줘 하면 된다.

웹에서 링크를 클릭하고 로딩하고 이런게 너무 불편하다. 사용자와 상호작용이 너무 평이하다

이러한 요구 사항이 요구되게 되고 이러하다가 RIA가 등장



RIA의 전제 조건

1. 페이지 기반 아키텍쳐에서 탈피

2. client server와의 상호작용 및 확장 용이
xml을 이용한 데이터 교환

3. 서버측과 투명한 분리 제공
rpc기술을 이용하여 요청및 응답 데이터 교환

4. 오프라인일 때도 사용 가능


RIA의 이점

 1. Business Managers
  - 링크에서 좀도 빨라지니까 업무처리 증가 생산성 증가
 
 2. IT Organizations
  - 페이지기반의 아키텍쳐의 개선 ->웹서버 로드 감소 네트워크 트래픽 감소
  - 애플리케이션 유지용이 및 개발시간 감소 

 3.End Users
  - 페이지 찾고 로딩하는 시간이 없음
  - 데스크톱과 유사하게 동작

RIA의 기술들

1.Ajax,  Flex,  WPF(Silverlight)...등등

FLEX의 장점

- 강력한 OOP특징을 지원하는 Actionscript3.0사용
- xml기반으로 만들어진 mxml로 사용자 UI를 손쉽게 개발
- HTTP,RPC,웹서비스 등 다양한 서버 연동 기술 제공
- OS및 브라우저 비 호환 문제 해결


Flex 개요

1.1 MXML
  -XML기반의 마크업언어
2. Actionscript
- ui컴포넌트 및 객체 제어
3. FlashPlayer
  -SWF파일 실행 엔진
4. FlexBuilder
5. LiveCycle Data Service

Flex 동작원리

1. 개발자가 SWF파일을 만들어서 서버에 보관 

  사용자는 SWF파일을 받아서 화면에 출력

2. 사용자가 서버에 데이타 요청

  서버에서 DB에 데이터 요청

  받아서 다시 사용자에게 데이타 응답



왜 Flex를 사용하는가?

- 일발적인 어플같이
 
- 보안성

- 유지보수

- 사용자 편의성

'★Programming★ > FLEX' 카테고리의 다른 글

ADOBE FLEX Lesson1  (0) 2010.09.11
HTTPService ?  (0) 2010.09.10
Flex의 개요  (0) 2010.09.10
보안 이슈 이해하기  (0) 2010.09.08
URL ?  (0) 2010.09.08
RPC  (0) 2010.09.08

-HTTP프로토콜을 사용해 특정URL을 호출하여 XML데이터를 전달 받을 수있는 방식으로 WAS를 구성하지 않아도 되며 쉽게 사용할 수 있다.
                     (보안 이슈 참고 해서 보안 이해)

-mx.rpc.http.mxml.HTTPService 패키지에 포함

-HTTPService 인스턴스 .send() 메소드를 이용해 호출

-HTTPService 인스턴스 .lastResult 속성으로 XML 결과값을 참조 할 수 있다.

-event.result 이벤트를 사용해도 XML 결과값을 참조

'★Programming★ > FLEX' 카테고리의 다른 글

ADOBE FLEX Lesson1  (0) 2010.09.11
HTTPService ?  (0) 2010.09.10
Flex의 개요  (0) 2010.09.10
보안 이슈 이해하기  (0) 2010.09.08
URL ?  (0) 2010.09.08
RPC  (0) 2010.09.08
1. Flex란
  - flash 기반의 컴포넌트 프로그래밍이다.

2. Flash의 발전 과정 

  Flash3   -->Flash4   -->Flash5       --->            
                   * Smart Client 등장( 졸라맨, 엽기토끼 등  

 Flash MX     -->          Flash MX 2004 Professional   -->
   * Component 가 나옴, 태그기반의 마크업 언어 만들기 시작.
   * AS(ActionScript)1.0 도입

  Flash8                                  -->Flash9      ->Flash10                        
   * AS2.0 (OOP개념 도입) 도입           *AS3.0 도입
  *   8ball                                         *CS3


3.  Flex  로 개발할 때 주의할 점
* 분석, 설계 단계에서 Flex를 고려해라(html과 똑같은 화면을 만들지 말아라)

  -->RIA 다운 어플리케이션을 만들어라

* 엔터프라이즈 관점에서 Flex를 봐라 (엔터프라이즈에서 무엇이 필요할지)


4. AS1.0, AS2.0, AS 3.0 의 발전과정

*AS2.0에서 부터 OOP개념을 도입함(Class, extend 사용)

 *AS3.0에서는 AS2.0에서의 OOP개념에 대한 기능을  좀 더 추가함(속도가 10배 빨라짐)

5. Flex 런타임 클라이언트

*Adobe AIR :데스크탑 환경에서 필요로 하는 기능 위한 환경. swf 없이도 실행된다.

*Flash player : 웹환경에서  필요로 하는 기능들을 제공한다.(예)보안

*Flasg Light : 모바일 환경에서 필요로 하는 기능들을 제공한다. 예) 진동


6.
AVM(ActionScirpt Virtual Machine)

* 액션스크립트 가상머신(AVM)은 자바가상머신(JVM)이 자바를 실행시키 듯 액션스트립트 프로그램을 실행시키는 모듈로 플래시 플레이어, AIR, 플래시 라이트에 내장되어 있는 소프트웨어 모튤이다.

* AVM는 두가지 버전이 있는데 AS1.0과 AS2.0코드를 실행하기 위한 AVM1과 AS3.0코드를 실행하기 위한 AVM2가 있다. 


7. Flex 와 Flash의 관계와 차이점.
*초창기에는 Flash와 Flex는 비교대상이였다. 하지만 이 둘은 비교 대상이 아니라 협업관계이다
  (flash를 사용하여 Flex를 더 풍부하게 만들  수 있고,또한 flash를 사용하여 Flex를 더 풍부하게 만들  수 있다.)

*Flash는 드로잉툴과 AS을 사용해서 각종도형과 컴포넌트들을  swf을 object로 갖고있는  html로 변환하여 Web Server에 올라간다. (디자이너가 선호)

*Flex는 MXML과 AS를 사용해서 Flash로 만든 컴포넌트들을 swf을 object로 갖고있는  html로 변환하여 Web Server에 올라간다.(개발자가 선호)

8.Flex Compile  - Flex 는 컴파일이 총 세번 이루어진다.

8.1. AS Compile 과 SWF Compile



* AS 프로그램이 Flash 런타입에서 실행되기 전에, AS3.0코드는 플래시 런타임이 이해할 수 있는 액션스크립트바이트 코드로 변환된다.

 * 하지만 바이트 코드는 플래시 런타임에서 혼자 실행 할 수 없고, 그것은 반드시  swf 파일로 감싸져야 한다. swf파일은 바이트코드와 액션스크립트 프로그램이 요구하는 미디어 자산을 포함(embedded Asset)한다.

*액션스크립트 프로그램과 swf파일을 컴파일 할때, 우리는 컴파일러라고 알려진 소프트웨어 모듈을 사용한다.
액션스크립트 코드는 컴파일 하는 컴파일러는 액션스크립트 컴파일러이고, swf파일을 만드는 컴파일러는 swf컴파일러이다.

8.2  JIT Compile (Just In-Time)
액션스크립트 프로그램이 실행될 때, Flex 런타임은 액션스크립트 바이트 코드를 그 운용체제의 네이티브 코드로 변환해서 실행한다.

네이트브 코드로 변환하면 프로그램에는 바이트코드 대신 네이티브 코드가 저장된다. 다음에 다시 실행할 때는 이미 변환되어 있는

네이티브 코드를 실행함으로 바이트코드를 해석해서 실행하지 않아도 된다.


9. JSP와 Flex 의 다른점

9.1.jsp 일 경우 요청 순서

사용자 삽입 이미지

















- 로그인 page가 jsp 파일을 요청하면 web서버가 받아서 WAS에 넘긴다.
- WAS는 요청한 jsp파일을 servlet으로 변환한다.

9.2 Flex일 경우

사용자 삽입 이미지






















- 로그인 page가 mxml파일을 요청하면, web서버 받아서 WAS로 넘기고
 -WAS는 요청이 jsp파일이 아니므로 요청을 Flex서버로 넘긴다.
 -Flex서버는 mxml 파일을  엑션스크립트를 엑션스트립트 Class로 바꾼다, (엑션스트립트 Class는 바이트코드로 변환됨)


10. 플랙스에 사용되는 기술들

* J2EE : 플렉스는 자바 애플리케이션 서버에서 작동되며, 나중에는 닷넷 플랫폼에서도 작동되도록 지원할 것이다.

* XML : XML 문법을 따르는 MXML 파일 형식으로 코드를 저장하고, 'mx'라는 XML 네임스페이스를 사용한다.

*  DOM 레벨 3 이벤트 모델 : 플렉스의 이벤트 모델이 쓰는 것으로 DOM 트리 구조를 통해 이벤트를 전달하는 방식이다.

*  ECMAScript/자바스크립트 : 플렉스에서는 이와 유사한 액션스크립트를 적용했다.

* 웹 서비스 : 플렉스 애플리케이션은 HTTP 통신뿐 아니라 XML 통신 프로토콜인 SOAP 메시지로 데이터를 송수신할 수 있다.

*  CSS : MXML 스타일은 이를 기초로 한다.

* 자바 객체 지원 : MXML 태그는 자바빈즈를 비롯한 일반 자바 객체를 사용할 수 있다.

* SWF : 플렉스는 공인된 플래시 파일 포맷인 SWF 파일로 컴파일된다.

* SVG(Scalable Vector Graphics) : 플렉스는 벡터 형식의 그래픽 표준인 SVG를 따른다.

'★Programming★ > FLEX' 카테고리의 다른 글

ADOBE FLEX Lesson1  (0) 2010.09.11
HTTPService ?  (0) 2010.09.10
Flex의 개요  (0) 2010.09.10
보안 이슈 이해하기  (0) 2010.09.08
URL ?  (0) 2010.09.08
RPC  (0) 2010.09.08
플렉스는 플래시 플레이어의 보안 샌드박스 제약(Security sandbax restrictions)에 영향을 받는다.

이것은 어떤 도메인의 어플리케이션이 다른 도메인으로 부터 데이터를 로드하는 것을 방지하는 것을 뜻한다,

예를 들어 www,mysite,com 에서 www,yoursite,com 의 데이터로 자동적인 접근을 가능하게 하기 위해서

cross-domain 정책파일(cross-domain policy file)을 사용해야 한다,

crossdomain.xml로 이름 붙여진 파일은 어떤 도메인이 플래시 플레이어 리소스에 접근할수 있는지를 명시하며

이파일은 SWF 파일이 호출하는 웹서버의 루트에 배치된다.

www.cnn.com/crossdomain.xml 을 체크하여 cnn이 누구에세 그들의 콘텐트를 플래시 플래이어로 배급하는지 보자.

'★Programming★ > FLEX' 카테고리의 다른 글

HTTPService ?  (0) 2010.09.10
Flex의 개요  (0) 2010.09.10
보안 이슈 이해하기  (0) 2010.09.08
URL ?  (0) 2010.09.08
RPC  (0) 2010.09.08
이벤트 헨들링  (0) 2010.09.07
Uniform Resouce Locator

웹문서의 각종 서비스를 제공하는 서버들에 있는 파일의 위치를 표시하는 표준을 말한다.

다양한 서비스를 제공하는 수많은 서버들로부터 필요한 정보를 획득하기 위해 이들의 위치를 표시하는 체계가 필요한데

이를 위해 URL이 사용된다.

일반적인 신텍스는

프로토콜://정보를 가진 컴퓨터이름/디렉토리이름/파일네임

으로 구성

'★Programming★ > FLEX' 카테고리의 다른 글

Flex의 개요  (0) 2010.09.10
보안 이슈 이해하기  (0) 2010.09.08
URL ?  (0) 2010.09.08
RPC  (0) 2010.09.08
이벤트 헨들링  (0) 2010.09.07
컨트롤 사용시 주의 사항  (0) 2010.09.01


일반적으로 프로시저 콜이란 한 컴퓨터 내에서 어떤 프로시져를 호출하고 수행하는 것을 말한다.

프로시저콜에서는 필요한 인수들을 넘겨주고 계산된결과를 받는다.

이러한 인수(파라미터)전달의 물리적인 구조는 언어나 시스템에 따라 조금씩 그형태가 다르다.

RPC(Remote Procedure Call)이란 다른컴퓨터에 있는 프로시저를 호출하는 기능을 말한다.

이 개념은 분산처리에서 중요한 개념으로 자주 도입된다. 하나의 작업을 여러개의 작은 단위로 나누어서 여러 컴퓨터에 작업을

수행하게 해야 한다면 실행의 효율이 증가할 수 잇을 것이다.


 

'★Programming★ > FLEX' 카테고리의 다른 글

보안 이슈 이해하기  (0) 2010.09.08
URL ?  (0) 2010.09.08
RPC  (0) 2010.09.08
이벤트 헨들링  (0) 2010.09.07
컨트롤 사용시 주의 사항  (0) 2010.09.01
입문시 기본 문법 공부  (0) 2010.09.01
플레스는 이벤트 기반 프로그램 모델을 사용한다.

1.사용자 이벤트 2.시스템이벤트 로 나누어진다.

개발자는 이벤트를 처리하고 어떤일이 발생해야 하는지를 코딩한다,



플렉스는 이벤트가 디스패치 될 때마다 이벤트 객체를 생성한다.

이객체는 발생하는 이벤트에 관한 정보를 가지고 있다.


사용자 정의 액션스크립트

[Bindable]
이 것을 패키지 밑에 적어주면 클래스의 모든 프로퍼티가 바인딩 될수 있다는 것을 뜻한다.

'★Programming★ > FLEX' 카테고리의 다른 글

URL ?  (0) 2010.09.08
RPC  (0) 2010.09.08
이벤트 헨들링  (0) 2010.09.07
컨트롤 사용시 주의 사항  (0) 2010.09.01
입문시 기본 문법 공부  (0) 2010.09.01
시작하기-유의사항만.  (0) 2010.09.01
아직 플렉스 공부가 다 끈나지 않았지만

이제 같이 페이퍼비전을 공부 해볼것이다.

웹상에  3D를 올리는 것을 목표로 하고 있기 때문에

같이 공부를 시작하겠다.

설치시에 구글에 검색하면

나오겟지만

정말 포스팅을 잘해논 분이 계셔서 그곳을

링크 하겟다.

http://ehxm.tistory.com/

요기 들어가면 많은 걸 배울 듯 하다.

'★Programming★ > PaperVision3D' 카테고리의 다른 글

Camera기본  (0) 2010.09.11
PaperVision3D in Flex  (0) 2010.09.03

+ Recent posts