« Previous : 1 : 2 : 3 : 4 : 5 : Next »

Eclipse에서 HTML의 Validation 체크하지 않기

Eclipse에서 Flex라든지, 다른 웹 어플리케이션을 개발하는데 반드시 필요하지만 신경쓰지 않는 HTML 파일들이 꼭 존재한다. Flex 같은 경우엔 HTML 파일이 반드시 필요하지만 자동으로 생성된 뒤에 잘 안 고치고, 잘 신경쓰지 않는다. 그런데 Eclipse 버전을 바꾸면서 HTML의Validation을 체크하게 됐다. 체크하는 거야 상관 없지만 에러를 내뿜기 때문에 여간 신경쓰이는 게 아니다. 그. 래. 서 !! HTML파일의 Validation 체크는 아예 안 하도록 만들 것이다.

사용자 삽입 이미지
[ 그림 1. 에러 유발자 HTML ]


프로젝트 각각의 설정? or Eclipse 통째 설정?
HTML의 Validation 체크를 프로젝트 단위로 설정할 수도 있고, Eclipse 단위로 설정할 수도 있다. 전자나 후자나 좋을대로 선택해서 설정하면 된다. 전자의 경우로 설정을 하려면 해당 Project를 선택하고 Right-Click -> Properties -> 트리 중 Validation을 클릭하면 그림2와 같이 뜬다. 후자의 경우로 설정하려면 Eclipse 메뉴 중에 Window -> Preferences -> MyEclipse -> Validation에서 설정하면 된다.
사용자 삽입 이미지
[ 그림 2. Validation 화면 ]

그리고는 체크 박스들을 클릭하여 그림 2와 같이 만든다. 여기까지 완료하였다면 이제 HTML에서 나오는 에러를 없앨 준비가 된 것이다.
다시 해당 프로젝트를 선택하고 Right-Click을 하면 Popup Menu에 Validate가 있다.

사용자 삽입 이미지
[ 그림 3. Project의 Popup Menu ]

그 Validate를 선택하면 그림 4와 같은 메시지가 띄어지면 앞으로 에러는 없어질 것이다!

사용자 삽입 이미지
[ 그림 4. Validation Results - Complete ]



Posted by secondMemory

2010/08/24 01:39 2010/08/24 01:39
, ,
Response
0 Trackbacks , 0 Comments
RSS :
http://secondmemory.kr/tc/rss/response/137

Trackback URL : http://secondmemory.kr/tc/trackback/137

Eclipse 3.5.2 + MyEclipse 8.6 + Flash Builder 4 설치 방법

설치시 사용한 프로그램과 버전
Eclipse SDK 3.5.2, MyEclipse 8.6 Archive, Flash Builder 4 Plug-in

전체적인 흐름
1. Eclipse SDK 3.5.2 설치
2. MyEclipse 8.6 설치
3. Flash Builder 설치

설치를 시작하기 전에, 기본으로 필요한 것들에 대해서는 논하지 않는다. 예를 들어 Windows나 JDK 같은 것들은 설치되어 있다고 가정하고 설치할 것이다.
그리고 이 포스트에서 사용하는 프로그램들은 밑의 링크를 통해 받으면 된다.
Eclipse 3.5.2 : http://www.eclipse.org


1. Eclipse SDK 3.5.2 설치
Windows에서 Eclipse의 설치는 간단하다. eclipse 압축 파일의 압축을 풀고 C:\ 에 두면 된다. 굳이 C:\ 에 두지 않아도 상관 없지만 호환성 문제가 발생할 수 있으므로 C:\에 바로 두는 것을 추천한다.
사용자 삽입 이미지
[ 그림 1. Eclipse가 설치된 화면 ]


2. Eclipse 실행
eclipse.exe 파일을 실행하면 다음과 같은 화면이 뜰 것이다. Workspace를 간략하게 설명하자면, 앞으로 Eclipse에서 프로젝트를 저장할 공간이다. 그러니 소스 파일들은 설정한 위치로 들어가게 될 것이다.
사용자 삽입 이미지
[ 그림 2. Workspace를 선택하는 화면 ]


3. MyEclipse 8.6 설치
MyEclipse의 Archive 버전으로 받았다면 Zip 파일 형태로 존재하게 된다. 그 파일을 일정 위치에 놓고, Eclipse에서 다음과 같은 메뉴를 선택한다.
[ Help -> Install New Software ]
사용자 삽입 이미지
[ 그림 3. Eclipse에서 Plug-in 설치를 위해 메뉴 선택 ]

사용자 삽입 이미지
[ 그림 4. Install New Software 화면 ]


4. MyEclipse 8.6 Archive 파일 선택
새로 뜨는 창에서 Add를 클릭한다. 이름은 마음대로 정해도 상관 없으나 다음과 같은 이름으로 정하면 알아보기 쉬울 것이다. 이름을 정했다면 Archive를 클릭한다. 그리고 아까 카피해놓은 MyEclipse 8.6 Archive 파일을 선택한다. 그리고 OK를 클릭하자.
사용자 삽입 이미지
[ 그림 5. MyEclipse 8.6 Archive 파일을 선택한 화면 ]


5. MyEclipse 8.6 기능 선택
그러면 다음과 같은 화면이 될 것이다. MyEclipse Enterprise Workbench를 체크하고, Next를 누르자.
사용자 삽입 이미지
[ 그림 6. MyEclipse의 많은 기능 중, 기본 기능을 선택한 화면 ]


6. 설치될 MyEclipse 8.6의 기능 확인
앞으로 설치될 기능들의 나열이다. Next를 한 번 더 누르자.
사용자 삽입 이미지
[ 그림 7. 설치될 MyEclipse 8.6의 기능을 보여주는 화면 ]


7. License 확인
I accept the terms of the license agreements를 선택하고 Finish를 클릭하면 설치를 진행한다. 이것으로 MyEclipse 설치가 끝났다.
사용자 삽입 이미지
[ 그림 8. MyEclipse 8.6에 포함된 기능들의 License를 보여주는 화면 ]


8. Flash Builder의 설치
Flash Builder 설치는 Installer를 지원하기 때문에 아주 간단하다. 아까 다운 받았던 Flash Builder4 Plug-in 파일을 실행한다. 그리고 다음과 같은 화면이( Select an optional Eclipse folder ) 나올 때까지 Next를 눌러 진행한다.
사용자 삽입 이미지
[ 그림 9. Select an optional Eclipse folder ]

아까 설치했던 Eclipse의 Path를 지정해주면 된다. 그리고 아까와 같이 계속 Next를 눌러 진행한다. 설치가 완료 되었다면 Eclipse를 실행해서 제대로 설치되었는지 확인한다.
사용자 삽입 이미지
[ 그림 10. Flash Builder의 Start Page ]

축하합니다. Eclipse SDK 3.5.2 + MyEclipse 8.6 + Flash Builder 4 의 설치가 완료되었습니다.

Posted by secondMemory

2010/08/16 04:05 2010/08/16 04:05
, , , ,
Response
0 Trackbacks , 0 Comments
RSS :
http://secondmemory.kr/tc/rss/response/128

Trackback URL : http://secondmemory.kr/tc/trackback/128

Mate Framework

옛날부터 Cairngorm Framework만 썼었는데 너무 편하게만 일하는 것 같아서
더 좋은, 색이 다른 Flex용 Framework를 찾아봤다.
그 결과 Mate Framework가 좋을 것 같다는 판단이 났고, 이제 이걸 적용시켜보려 한다~_~

사용자 삽입 이미지

시간이 나면 쉽게 이해가 되게끔 문서를 만들까 한다~_~

Posted by secondMemory

2010/08/05 17:00 2010/08/05 17:00
,
Response
0 Trackbacks , 0 Comments
RSS :
http://secondmemory.kr/tc/rss/response/130

Trackback URL : http://secondmemory.kr/tc/trackback/130

SQLite 자료형

NULL
null

INTEGER
정수

TEXT
문자열

REAL
부동소수점

BLOB
바이너리

Posted by secondMemory

2010/06/26 04:16 2010/06/26 04:16
Response
0 Trackbacks , 0 Comments
RSS :
http://secondmemory.kr/tc/rss/response/125

Trackback URL : http://secondmemory.kr/tc/trackback/125

Android 책 보면서 메모

Webkit
Mac의 브라우저와 아이폰에서 사용되고 있다.
OpenSource
브라우저 엔진
안드로이드에도 포함되었다.
webkit.org

OHA( Open Handset Alliance )
안드로이드는 구글과 OHA가 만들었다.
안드로이드는 최초의 개발된, 완벽한, 그리고 무료의 모바일 기기
기술지원, 추가장비 구매에는 비용이 발생한다.

퀄컴 BREW( Qualcomm's Binary Runtime Environment for Wireless )

Jog Dial

임계질량 ( Critical Mass )
핵분열 연쇄 반응이 일정한 비율로 유지되는 상태를 유지하는데 필요한 핵연료의 양
안정적인 소프트웨어의 유지보수에 필요한 인/물적 자원의 의미로 쓰임.

GPL( GNU General Public License ) VS ASL( Apache Software License )
가장 큰 차이점은 아파치 라이센스에서는 상업적인 부분을 배려하는 정책이다.

Android Stack
- Webkit 기반의 브라우저 기능
- SQLite
- 2D, 3D, SGL 애니메이션, 그리고 OpenGL ES와 같이 뛰어난 그래픽 기능 지원( 그럼 OpenGL은 아니라는 말인가- _-a )
- Apache SSL 지원
- Application managers : Activity, View, Telephony, Window, Resource, Location, Notification
- Java Runtime 지원
- Dalvik Virtual Machine

하드웨어 추상화 계층 ( HAL )

Intent
원하는 실제 행동
무엇을 해야 하는지에 대한 행위를 선언하는 부분
원하는 액션이나 서비스 등을 기술한 정보들로 이루어진다.
Intent는 보통 VIEW, PICK, EDIT와 같은 동사 형태로 되어 있음.
android.content.Internet.ACTION_VIEW
content://contacts/people
Implicit Intent : 안드로이드는 적절한 수신자에게 전달되도록 해준다.
Explicit Intent : Class를 Parameter로 사용한다.

Service
만약 Application이 아주 긴 라이프사이클을 갖는다면 Service에 등록을 해야 할 것이다. 예를 들면 Background에서 데이터를 지속적으로 동기화시켜야 하는 Utility는 Service로서 구현되어야 한다.

BroadcastReceiver
만약 Application이 전화가 오거나 문자메시지 수신과 같은 이벤트를 받거나 반응하기를 원할 때 사용한다.
context.registerReceiver로도 등록 가능
onReceive 메소드에는 지속성 또는 시간이 걸리는 코드가 포함되면 안 된다.
intent.getAction.equals( "" )

Intent Filter
필요할 때 제공해야 하는 기능과 관심 내용에 대한 선언부
어떤 Intent가 서비스를 제공하느냐에 따라서 범용적이거나 특정 Intent에 귀속될 수 있다.
Intent Filter는 Intent와 Application 사이의 관계를 정의한다.
android.provider.Telephony.SMS_RECEIVED

Triggering

Tech Savvy
젊고 기술 이해도가 높은 사람을 뜻한다.

Late Binding
Intent Resolution( 특정 데이터를 처리할 수 있는 Activity가 여러 개가 있는 경우에 그 중 가장 최선의 것을 결정하는 절차 ) 또는 Dispatching은 Application의 컴파일 단계가 아닌 런타임 시에 수행된다.

Activity
Application은 하나 이상의 Activity를 갖는다. 보통 Activity와 UI화면은 1:1 대응 관계를 갖는다. Activity는 하나 이상의 View를 갖는다. View는 사용자와 직접 상호작용을 할 UI를 의미한다.

User Permission
android.permission.RECEIVE_SMS

Content Provider
Application이 Runtime Environment에서 Data를 관리하고 다른 Application에 Data를 전달해야 한다면 Content Provider를 사용하면 된다.
String, Integer, Binary
Binary의 경우 파일 이름을 나타내는 문자열을 리턴한다. 그래서 Helper Class인 ContentResolver의 OpenInputStream 메소드를 통해서 Binary를 사용한다.
데이터는 URI로 선언되어 접근할 수 있다.

프로그램의 우선순위
- 화면에 보이면서 실행 중인 Activity가 가장 높은 우선순위
- 화면에 보이면서 실행 중이지 않는 Activity가 다음 우선순위
- 실행 중인 Service는 그 다음 우선순위
- 성능 향상을 위한 캐쉬의 역할을 위해 적재된 엠프티 프로세스나 오랫동안 수행되지 않았던 동면 상태의 프로세스가 종료될 확률이 가장 높다.

AAPT ( Android Asset Packaging Tool )
apk 파일을 만들어준다.
pkzip, jar 압축 관련 기능과 안드로이드용 Resource Compiler의 기능이 합쳐진 것이라 볼 수 있다.

ADB ( Android Debug Bridge )
Emulator와 상호작용할 수 있게 한다.
TCP 기반의 C/S 형태로 동작하는 프로그램이다.
adb devices
adb -d 1 shell
adb shell install someapplication.apk
adb shell rm /data/app/Chapter2.apk
adb shell 명령어는 ls, ps, kill, rm 등의 기본적인 명령은 사용 가능하다.
telnet localhost 5554

NumberFormat

dex 파일

Simulator VS Emulator
Emulator는 프로젝트 Target 호환성이 Binary 레벨이다. 에뮬레이터에서 작성되는 코드는 실제기기에서도 동작한다.
안드로이드에서 제공되는 개발환경은 Emulator이다.













Posted by secondMemory

2010/06/16 23:55 2010/06/16 23:55
,
Response
0 Trackbacks , 0 Comments
RSS :
http://secondmemory.kr/tc/rss/response/121

Trackback URL : http://secondmemory.kr/tc/trackback/121

[Macintosh] Office Excel 2008에서의 기능

1. 기존 텍스트 고치기 기능 ( Windows에서 F2 눌렀을 때의 기능, 기능의 제대로된 이름을 모르겠네요.. )
control + U

2. 개행( Windows에서는 alt + Enter의 기능입니다. )
control + option + enter



추후 계속 추가..

Posted by secondMemory

2010/06/14 02:55 2010/06/14 02:55
, , ,
Response
0 Trackbacks , 0 Comments
RSS :
http://secondmemory.kr/tc/rss/response/120

Trackback URL : http://secondmemory.kr/tc/trackback/120

Java Design Pattern을 공부하는데 주로 사용할 책

Java 언어로 배우는 디자인 패턴 입문

Head First Design Patterns


기본적으로 1번 책의 목차로 진행을 하려고 합니다.

그리고 1번 책에서 나오는 내용 외, 2번 책에서 더 좋은 부분이 있다면 그 부분은 병행하는 방식으로 진행할 것입니다.


Posted by secondMemory

2010/03/30 17:11 2010/03/30 17:11
, ,
Response
0 Trackbacks , 0 Comments
RSS :
http://secondmemory.kr/tc/rss/response/104

Trackback URL : http://secondmemory.kr/tc/trackback/104

Java Design Pattern 목차

Java 언어로 배우는 디자인 패턴 입문을 기준으로 공부를 하려고 한다.

자바 개발자를 지향하면서도.. 참 창피한 말이지만 모든 디자인 패턴을 섭렵하지 못 했다.

뭐 아무튼 지금이라도 책에 나오는 모든 디자인 패턴은 섭렵하려고 한다.

일단 기초부터! 목차 시작~


Part 1 디자인 패턴과 친해지기

Chapter 01 Iterator - 순서대로 지정해서 처리하기
1_Iterator 패턴
2_예제 프로그램
3_Iterator 패턴의 등장인물
4_독자의 사고를 넓히기 위한 힌트
5_관련 패턴

Chapter 02 Adapter - 바꿔서 재이용하기
1_Adapter 패턴
2_예제 프로그램(1)(상속을 사용한 Adapter 패턴)
3_예제 프로그램(2)(위임을 사용한 Adapter 패턴)
4_Adapter 패턴의 등장인물
5_독자의 사고를 넓히기 위한 힌트
6_관련 패턴

Part 2 하위 클래스에게 위임하기

Chapter 03 Template Method - 하위 클래스에서 구체적으로 처리하기
1_Template Method 패턴
2_예제 프로그램
3_Template Method 패턴의 등장인물
4_독자의 사고를 넓히기 위한 힌트
5_관련 패턴
6_보강 : 클래스 계층과 추상 클래스

Chapter 04 Factory Method - 하위 클래스에서 인스턴스 만들기
1_Factory Method 패턴
2_예제 프로그램
3_Factory Method 패턴의 등장인물
4_독자의 사고를 넓히기 위한 힌트
5_관련 패턴

Part 3 인스턴스 만들기

Chapter 05 Singleton - 인스턴스를 한 개만 만들기
1_Singleton 패턴
2_예제 프로그램
3_Singleton 패턴의 등장인물
4_독자의 사고를 넓히기 위한 힌트
5_관련 패턴

Chapter 06 Prototype - 복사해서 인스턴스 만들기
1_Prototype 패턴
2_예제 프로그램
3_Prototype 패턴의 등장인물
4_독자의 사고를 넓히기 위한 힌트
5_관련 패턴
6_보강 : clone 메소드와 java.lang.Cloneable 인터페이스

Chapter 07 Builder - 복잡한 인스턴스 조립하기
1_Builder 패턴
2_예제 프로그램
3_Builder 패턴의 등장인물
4_관련 패턴
5_독자의 사고를 넓히기 위한 힌트

Chapter 08 Abstarct Factory - 관련 부품을 조합해서 제품 만들기
1_Abstract Factroy 패턴
2_예제 프로그램
3_예제 프로그램에 별도의 구체적인 공장을 추가하기
4_Abstract Factory 패턴의 등장인물
5_독자의 사고를 넓히기 위한 힌트
6_관련 패턴
7_보강 : 인스턴스를 만드는 다양한 방법

Part 4 분리해서 생각하기

Chapter 09 Bridge - 기능 계층과 구현 계층 분리하기
1_Bridge 패턴
2_예제 프로그램
3_Bridge 패턴의 등장인물
4_독자의 사고를 넓히기 위한 힌트
5_관련 패턴

Chapter 10 Strategy - 알고리즘을 모두 바꾸기
1_Strategy 패턴
2_예제 프로그램
3_Strategy 패턴의 등장인물
4_독자의 사고를 넓히기 위한 힌트
5_관련 패턴
  
Part 5 동일시하기

Chapter 11 Composite - 그릇과 내용물을 동일시하기
1_Composite 패턴
2_예제 프로그램
3_Composite 패턴의 등장인물
4_독자의 사고를 넓히기 위한 힌트
5_관련 패턴

Chapter 12 Decorator - 장식과 내용물을 동일시하기
1_Decorator 패턴
2_예제 프로그램
3_Decorator 패턴의 등장인물
4_독자의 사고를 넓히기 위한 힌트
5_관련 패턴
6_보강 : 상속의 동일시와 위임의 동일시

Part 6 구조를 돌아다니기

Chapter 13 Visitor - 데이터 구조를 돌아다니면서 처리하기
1_Visitor 패턴
2_예제 프로그램
3_Visitor 패턴의 등장인물
4_독자의 사고를 넓히기 위한 힌트
5_관련 패턴

Chapter 14 Chain of Responsibility - 책임 떠넘기기
1_Chain of Responsibility 패턴
2_예제 프로그램
3_Chain of Responsibility 패턴의 등장인물
4_독자의 사고를 넓히기 위한 힌트
5_관련 패턴

Part 7 단순화하기

Chapter 15 Facade - 단순한 창구
1_Facade 패턴
2_예제 프로그램
3_Facade 패턴의 등장인물
4_독자의 사고를 넓혀주기 위한 힌트
5_관련 패턴

Chapter 16 Mediator - 중개인을 통해서 처리하기
1_Mediator 패턴
2_예제 프로그램
3_Mediator 패턴의 등장인물
4_독자의 사고를 넓히기 위한 힌트
5_관련 패턴

Part 8 상태를 관리하기

Chapter 17 Observer - 상태의 변화를 알려주기
1_Observer 패턴
2_예제 프로그램
3_Observer 패턴의 등장인물
4_독자의 사고를 넓히기 위한 힌트
5_보강 : java.util.Observer 인터페이스
6_관련 패턴

Chapter 18 Memento - 상태를 저장하기
1_Memento 패턴
2_예제 프로그램
3_Memento 패턴의 등장인물
4_독자의 사고를 넓히기 위한 힌트
5_관련 패턴

Chapter 19 State - 상태를 클래스로 표현하기
1_State 패턴
2_예제 프로그램
3_State 패턴의 등장인물
4_독자의 사고를 넓히기 위한 힌트
5_관련 패턴

Part 9 낭비 없애기

Chapter 20 Flyweight - 동일한 것을 공유해서 낭비 없애기
1_Flyweight 패턴
2_예제 프로그램
3_Flyweight 패턴의 등장인물
4_독자의 사고를 넓히기 위한 힌트
5_관련 패턴

Chapter 21 Proxy - 필요해지면 만들기
1_Proxy 패턴
2_예제 프로그램
3_Proxy 패턴의 등장인물
4_독자의 사고를 넓히기 위한 힌트
5_관련 패턴

Part 10 클래스로 표현하기

Chapter 22 Command - 명령을 클래스로 하기
1_Command 패턴
2_예제 프로그램
3_Command 패턴의 등장인물
4_독자의 사고를 넓히기 위한 힌트
5_관련 패턴

Chapter 23 Interpreter - 문법규칙을 클래스로 표현하기
1_Interpreter 패턴
2_미니 언어
3_예제 프로그램
4_Interpreter 패턴의 등장인물
5_독자의 사고를 넓히기 위한 힌트
6_관련 패턴

Posted by secondMemory

2010/03/30 16:03 2010/03/30 16:03
, ,
Response
0 Trackbacks , 0 Comments
RSS :
http://secondmemory.kr/tc/rss/response/103

Trackback URL : http://secondmemory.kr/tc/trackback/103

TDD ( Test-Driven Development )에 관심이 생겼다.

요즘, 프로그래밍에 있어 본인이 계속 느끼는 문제점이 몇 가지 있다.

1. 어떻게 하면 더 쉬워보이는 코드를 만들 수 있을까
2. 만들고 있는 컴포넌트가 요구사항에 얼마나 충족되어 있는지, 그리고 얼마나 더 구현해야 하는지, 그리고 그걸 시간으로 산정하기
3. 어떻게 하면 코더로써 코드 완성도를 높힐 수 있는지

간략하게 이렇게 있다.
물론 OOP를 좀 더 잘하고 싶다라든지 다른 언어를 공부해보고 싶다든지 라는 바라는 점이 더 있긴 하지만 이건 TDD와는 다른 문제이기 때문에 나열하진 않았다.

아무튼, 이런 저런 문제가 있어 계속 고민을 하던 도중에 TDD를 접하게 되었다.
와우! 이렇게 좋은 개발 방법론이 있을줄은 생각도 못 했다. 프로그래머로써 자신의 코드를 위한 방법론을 찾고 있었지만 나한테 이렇게 절실하게, 또는 적합하게 필요한 개발 방법이 있을 줄이야.
켄트벡은 정말 천재 !!

아무튼 TDD에 관심이 생겨서 책도 사고, 빨리 공부해야겠다.

Posted by secondMemory

2010/03/17 11:45 2010/03/17 11:45
, ,
Response
0 Trackbacks , 0 Comments
RSS :
http://secondmemory.kr/tc/rss/response/99

Trackback URL : http://secondmemory.kr/tc/trackback/99

Tree에서 Drag할 때 format의 String값 변경하기

Flex Framework에서 가장 많이 사용되는 컴포넌트 중 하나가 이 Tree일 것이다.
이 Tree에서는 기본적으로 지원하는 Drag&Drop이 있는데 이를 가능케 하는 것이
dragEnabled이라는 프로퍼티이다.

tree.dragEnabled = true

이런 식으로 사용하면 해당 Tree는 기본적으로 드래그가 가능하게 된다.

이럴 때! 몇 가지 문제가 있다. 그 중 해결하려는 하나의 문제를 이 포스트에서 다루려고 한다.

문제
Tree에서 기본으로 지원되는 Drag & Drop에서는 DragSource에 포함되는 format을 "treeItems"라고 사용한다. 이를 변경할 수 있는 Property는 없다.

그러므로 Tree의 기본 Drag & Drop을 사용할 때는 반드시 format이 "treeItems"이기 때문에 Tree1에서는 Drop을 받아야 하고, Tree2에서는 Drop을 받지 말아야 할 때를 알 수 없다.
[ 물론 우회적으로 해결하는 방법이야 많지만.. 확실하게 간단하게 고치진 못 한다. ]

해결방법

사용자 삽입 이미지
addDragData 메소드를 override 하여 사용한다.
API에 다 나와 있는 내용이다. API에 있는데 이런 포스트 써봐야 뭐하나.. 라고 생각이 되지만.. 안 잊어버릴려고 쓴다.
[ 사실 본인은 API를 보고 이 방법을 찾은 게 아니라 Tree 소스를 보다가 알게된 방법인.. 젠장 ]

사용자 삽입 이미지
실제 Tree 소스에 보면 이렇게 되어 있다.

자 우리는 저 부분을 C&P하여 "treeItems" 부분만 고쳐서 사용하면 된다. 예를 들어

override protected function addDragData( ds :Object ) :void {
    ds.addData( this.selectedItems, dragFormat );
}

이런 식으로 사용하면 된다. 그러면 dragEnter 등의 이벤트를 받을 때 그 컴포넌트가 받아야 할 DragSource가 맞는지에 대한 판단을 format으로 해도 문제가 없을 것이다.


결론
Flex Framework를 사용하는데 있어서 가장 중요한 것은 "앎"인 듯 싶다.
그 컴포넌트에 대해서 얼마나 더 잘 아느냐가 Flex를 잘할 수 있는 방법이라 생각된다. 정말 간단하게 해결할 수 있는 문제를 우회적으로 해결하려고 든다면 그건 시간과 노력이 다른 곳으로 소비되는 것이다. 조금만 더 똑똑해져보자. 나도 마찬가지 ㅋㅋㅋ




아참. 글을 다 쓰고 생각 났는데... ListBase를 상속받는 모든 컴포넌트의 Drag & Drop은 이런 식으로 동작한다. 그렇기 때문에 Tree 뿐만 아니라 DataGrid, List, TileList 등의 컴포넌트들의 format을 변경하려면 이와 똑같이 사용하면 된다.

Posted by secondMemory

2010/03/10 12:49 2010/03/10 12:49
, , , ,
Response
0 Trackbacks , 0 Comments
RSS :
http://secondmemory.kr/tc/rss/response/97

Trackback URL : http://secondmemory.kr/tc/trackback/97

« Previous : 1 : 2 : 3 : 4 : 5 : Next »

블로그 이미지

울트라맨~!

- secondMemory

Notices

Archives

Recent Trackbacks

  1. 뉴욕의 프로그래머 Gsong's Blog 2008
  2. [Flex] 일정시간 후에... 영원의 헤아림 2008

Calendar

«   2010/09   »
      1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30    

Site Stats

Total hits:
10088
Today:
26
Yesterday:
25