Monthly Archive for June, 2006

Flash Professional 9 ActionScript 3.0

[퍼온글]

Adobe Flash Professional 9 ActionScript 3.0 Preview provides registered users of Flash Professional 8 with early access to the new ActionScript 3.0 language and the ability to publish to the newly-released Flash Player 9. ActionScript 3.0 and the new ActionScript Virtual Machine introduced with Flash Player 9 are among the most signficant advances in the history of Flash. These new advancements, made in Flash Player 9, provide a more robust programming model, achieve standards compliance, and deliver ground-breaking performance improvements.

The Flash Professional 9 ActionScript 3.0 Preview is the only planned “preview release” of the next version of the Flash authoring tool before the final version ships in 2007. The only “new” features exposed in this very early preview of Flash 9 are those related to publishing ActionScript 3.0 content to Flash Player 9. This includes integration of the new ActionScript 3.0 compiler, the new “Document Class” feature which allows users to assign a class to the main timeline, and a new publish target for Flash Player 9. There are other useful features planned for ActionScript development but they are not being made publicly available at this time.

A universal binary version of Flash Professional 9 ActionScript 3.0 Preview for Intel-based Macintosh computers is not planned to be made available on Labs. A universal binary version is planned for the final release.

Read more about Flash Player 9 and ActionScript 3.0.

XML Parsing Error

아래와  같은 xml 파일을 플래시로 불러들여 파싱할경우 주의할 점이 있다.

<?xml version="1.0"  ?>
<node>
<item label="menu1" src="null">
  <subMenu label="Play Movie" src="file1.swf"  eng="no"  loadingPos="506,345"></subMenu>
  <subMenu label="Play2" src="file2.swf"  eng="no" loadingPos="506,345"></subMenu>
</item > 
 
<item label="THEME STORY" src="file3.swf"  loadingPos="506,345"> </item ><item  label="SPECIAL FEATURE" src="null">
      <subMenu label="gallery" src="file4.swf"  eng="yes"  loadingPos="506,345"></subMenu>
  <subMenu label="about" src="file5.swf"  eng="yes" loadingPos="506,345"></subMenu>
   </item >
</node>

보통 xml 을 사용할 경우 외부데이타 종류를 임의로 정해줄 수 있어 xml 속성(attributes)을 이용하여 구성한다. 무심코 나중에 추가되는 xml 속성값의 순서와 플래시에서 파싱하는 순서가 일치하지 않을경우 제대로 파싱되어 데이타를 처리할 수 없다.

var subObj={label:dataArr2[j].attributes.label, src: dataArr2[j].attributes.src ,eng:dataArr2[i].attributes.eng , loadingPos: dataArr2[i].attributes.loadingPos};

위와 같은 형식으로 파싱할 경우 꼭 파싱할 순서를 xml 노드 속성 순서와 정확히 일치시킨다.

Mac 에서 Shift + Space Bar로 한영전환

[퍼온글]  출처 : 키보드 매니아 http://www.kbdmania.net

오른쪽 Alt, Ctrl를 사용하려거나 한/영, 한자 키를 Shift-space, Ctrl-space로 하기 위해서 키보드 종류 3의 드라이버를 까시는데, usb 키보드를 쓰신다면 이것을 고를 수가 없지요.

이럴 경우에는…

1. ps/2 키보드를 연결하고 드라이버를 종류3으로 깔고 다시 usb를 연결하거나..

2. 처음 윈도우 설치시 종류3을 선택

하는 방법이 있겠지만, 여러가지로 불편한 것은 사실이죠. 이때 다음과 같이 레지스트리를 바꾸면 됩니다.

HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services\i8042prt\Parameters

안의 값을..

LayerDriver Kor –> KBD101C.DLL
OverrideKeyboardIdentifier –> PCAT_101CKEY
OverrideKeyboardSubtype –> 5
OverrideKeyboardType –> 8

종류3은 kbd101c에 해당하며, Type 8은 한글 키보드 인것 같고,
Subtype 5가 종류3을 지칭하는 것 같습니다.

Structural Patterns

[퍼온글]  출처  : C# 객체지향언어로 배우는 디자인 패턴 (정보문화사/Devpia)

구조 패턴은 복잡한 구조를 이루는 클래스들을 어떻게 하면 개발하기에도 쉽고 보기에도 좋은 형태를 만들어 줄 것인가에 대한 답을 제시해 준다. 구조 패턴을 이용해서 시스템을 구축하면 새로운 기능을 가진 복합객체를 효과적으로 작성할 수 있다.

구조패턴에는

1. Facade 패턴

2. Adapter 패턴

3. Bridge 패턴

4. Composite 패턴

5. Decorator 패턴

6. Flyweight 패턴

7. Proxy 패턴

1. Facade 패턴

일반적으로 프로젝트를 수행할 때, 하나의 목적을 위해 여러개의 오브젝트들이 유기적으로 연결되게 된다. 이때, 오브젝트들을 묶을 수 있다고 판단이되면, 별도의 오브젝트를 새롭게 만들어 사용자들에게 새롭게 만든 오브젝트의 인터페이스를 이용하여 다른 오브젝까지 모두 사용할 수 있게 만들수 있다. 이처럼 대표 인터페이스를 이용하여 다른 여러 오브젝트를 사용할 수 있게 만드는 패턴이 바로 Facade 패턴이다.

2.  Adapter 패턴

어댑터 패턴은 기존에 존재하는 클래스를 직접 변경하지 않고도 원하는 형태의 인터페이스를 가지게 만드는데, 효과적으로 사용할 수 있는 패턴이다. 외부에서 돈을 주고 구입한 클래스나 다른 부서가 개발한 클래스들이 적용하고자 하는 시스템에 적합하지 않을 경우, 시스템을 변경하지 않고도 이들 클래스를 활용할 수 있는 방법을 제공한다.

3. Bridge 패턴

브리지 패턴은 어댑터 패턴과 팩토리 패턴을 합친 것 같은 패턴으로 이들의 장점을 시스템에 적용한 패턴이다. 이를 간단히 설명하면 동일한 조상을 가진 객체들은 팩토리 패턴을 이용하여, 객체의 생성을 추상화해서 객체들을 사용하는 모듈과 이들을 분리시키지만, 동일한 조상을 가지지 않았거나 동일한 인터페이스를 소유하지 않은 객체는 팩토리 패턴을 적용하기 어렵다. 브리지 패턴은 어댑터 패턴을 이용하여 같은 조상을 가지지 않은 시스템구조에 팩토리 패턴을 적용할 수 있도록 만들어 주는 패턴이다.

4. Composite 패턴

객체집단을 다루는데 유용한 컴포짓패턴은, 시스템이 집합속에 포함될 객체와 집합을 가지고 있는 객체, 이들 모두가 자기 사진과 동일한 타입(메소드와 데이터)의 객체리스트를 가지게 한다. 그래서 객체리스트에 객체를 삽입하거나 삭제하는 방법으로, 객체집단을 기존의 집단에 신속하게 벗붙이고 삭제하는 작업을 수행할 수 있게 만든다. 그리고 객체집단의 어느 특정한 부분에 명령을 전달하면 특정 부위의 객체집단 모두가 그 명령을 수행하게 만드는 구조를 가진다.

5. Decorator 패턴

데코레이터 패턴은 장식자라는 이름에서도 알 수 있듯이, 특정 객체를 원하는 모양(기능)으로 장식시켜주는 객체를 만들어 준다. 즉, 장식 시켜주는 객체들과 장식 받을 객체들을 만든 뒤, 이들을 이용하여 장식 바은 객체가 원하는 모양이되도록 만들어 주는 것이다. 이대, 기존의 객체(장식받을 객체)를 활용하고 있던 모듈은 장식이 이루어지는 것과 무관하게 작동하도록 한다.

6. Flyweight 패턴

Flyweight 패턴은 시스템 속에 유사한 클래스나 객체의 난립을 줄여주는 역할을 한다. Flyweight 패턴은 데이터를 관리하고 있다가 시스템이 원하는 데이터가 있을때 이를 객체로 만들어 준다. 객체를 만들 때는 데이터를 객체로 변경시켜주는 팩토리에 데이터를 넘겨주고, 팩토리는 이를 필요한 형태의 객체로 만들어서 반환하게 된다.

7. Proxy 패턴

프록시 패턴은 프록시가 대리인이라는 의미를 가지고 있는 것처럼, 원하는 작업을 대신해서 처리하도록 만드는 패턴이다. 시스템이 작업을 처리하는 가운데, 시스템의 처리과정을 효율적으로 만들기 위해 처리를 분산시킬 필요가 있다. 이렇게 처리과정의 일부부능ㄹ 다른 프로세서에 대행시키고자 할 때 프록시 패턴을 적용하면, 시스템의 구조를 어렵지 않게 효율적으로 변경시킬 수 있다.

The Design Patterns in Java

The Design Patterns in Java : Table of Contents

Some Background on Design Patterns
Object-Oriented Programming Concepts
Defining Design Patterns
1. Creational Patterns
The Factory Pattern
The Abstract Factory Pattern
The Singleton Factory Pattern
The Builder Pattern
The Prototype Pattern
Summary of Creational Patterns
2. Structural Patterns
The Adapter Pattern
The Bridge Pattern
The Composite Pattern
The Decorator Pattern
The Facade Pattern
The Flyweight Pattern
The Proxy Pattern
The Summary of Patterns
3. Behavioral Patterns
Chain of Responsibility
The Command Pattern
The Interpreter Pattern

The Iterator Pattern

The Mediator Pattern
The Memento Pattern
The Observer Pattern
The State Pattern
The Strategy Pattern
The Template Pattern
The Visitor Pattern
Appendix
Standard Coding Rules
UML
References