지워지지 않는 마법처럼 신비한..

데이터 검증

이 주제에서는, 어플리케이션내에서 데이터를 검증할 수 있도록(듯이) 하는 Adobe Flex 2 의 데이터 검증 메카니즘에 대해 설명합니다. Flex 에는, 일자, 번호, 통화의 값 등 유저가 입력하는 일반적인 데이터 타입에 대응한, 사전 정의 끝난 검증이 있습니다.

통상, Flex validator 는 데이터 모델에 대해서 사용합니다. 데이터 모델의 상세한 것에 대하여는,데이터의 포함을 참조해 주세요.

목차

데이터 검증
발리 데이터의 사용
검증의 일반적인 가이드 라인
검증 에러의 조작
검증 이벤트의 조작
표준 validator 의 사용


원본 : http://flexdocs.kr/docs/flex2/docs/00001054.html#792012

<mx:TextInput id="txtTo" width="300"/>
<mx:Button label="Send" toolTip="Send e-mail to {txtTo.text}"/>

원본 주소 :
http://flexdocs.kr/docs/flex2/docs/00000889.html

<!-- HTTP service call with an object as a send() method parameter that provides query parameters. -->

<!-- 1. 오브젝트 방식으로 넘기는 방법 -->
<mx:Button click="MyService.send({paramName1: 'val1'});"/>

<!-- HTTP service call with a send() method that takes a variable as its parameter. The value of the variable is an Object. -->
   <mx:Script>
       <![CDATA[
           public function myFunction():void {
               // Cancel all previous pending calls.
               MyService.cancel();

               // 2. 스크립트 상에서 오브젝트를 생성해서 넘기는 방법
               var params = new Object();
            params.paramName1 = 'val1';
               MyService.send(params);

           }
       ]]>
   </mx:Script>


<mx:Button click="myFunction();"/>

<mx:HTTPService id="MyService"
 showBusyCursor="true" useProxy="false"
>

<!-- 3. 내부 태그를 정의해서 넘기는 방법 -->
 <mx:request>
  <paramName1>val1</paramName1 >
 </mx:request>
</mx:HTTPService>

제가 아는 것은.. 이렇게 3가지네요.. 또 있으면 알려주세요.. 총총

+ 추가한 내용

4번째로

url 에 직접 입력해서 넘기는 방법이 있겠네요

<mx:HTTPService id="MyService"
 showBusyCursor="true" useProxy="false"

    url="http://server/foo.jsp?paramName1=val1"
/>

출처 : 네이버 카페 - Flex Component


5.


var params = new Object();
params["paramName1"] = 'val1';
MyService.send(params);

출처 : http://for100years.com/64

플랙스(FLEX)의 DataGridColumn 가로 폭(width)을 비율로 정하는 간단한 팁을 소개하고자 한다.

FLEX reference를 보면 알겠지만, DataGrid의 컬럼의 가로 폭은 픽셀 단위로만 설정을 하게되어 있어서, DataGrid의 길이가 변화될 때에 특정 비율을 유지하도록 하기에 어려운 점이 있다.

그렇지만 아래와 같은 방법을 사용하면 %로 폭을 설정하는 것과 같은 효과를 볼 수가 있다.

예를 들어, DataGrid에 컬럼을 5개를 다음과 같은 헤더와 비율로 만든다고 하자.
번호: 10%
제목: 50%
이름: 15%
날짜: 15%
열람 수: 10%

이제 실제 가로 폭보다 아주 큰 숫자를 정한 후, 각 컬럼의 비율을 곱한 값을 픽셀 폭으로 설정하면 원하는 비율로 DataGridColumn을 보여지도록 할 수 있다.

예를 들어, 10000을 각 비율로 곱한 컬럼의 픽셀 폭은 다음과 같다.

번호: 10000 * 0.1 = 1000
제목: 10000 * 0.5 = 5000
이름: 10000 * 0.15 = 1500
날짜: 10000 * 0.15 = 1500
열람 수: 10000 * 0.1 = 1000

위와 같이 계산된 컬럼 폭을 사용한 DataGrid를 그려보면 아래와 같이 원하는 비율로 컬럼 폭이 유지됨을 확인할 수 있다.

<mx:DataGrid width="100%" rowCount="3">
    <mx:columns>
        <mx:DataGridColumn headerText="번호" width="1000"/>
        <mx:DataGridColumn headerText="제목" width="5000"/>
        <mx:DataGridColumn headerText="이름" width="1500"/>
        <mx:DataGridColumn headerText="날짜" width="1500"/>
        <mx:DataGridColumn headerText="열람 수" width="1000"/>
    </mx:columns>
</mx:DataGrid>

출처 : 어디선가 봤는데 기억이 나지 않음.

TextInput과 TextArea의 속도 향상


한국 Adobe Flex 사이트의 블로그에 나와있는 힌트를 보고 실제로 한번 시도해 보았는데, 확실히 속도의 향상이 있네요.

"간단하게도 TextField의 alwaysShowSelection 이란 프로퍼티 값이 기본적으로는 false로 되어있는데 이것을 true로 바꿔주면 간단하게 해결됩니다."

지금까지 해결방법으로 제시되었던 것은 frame rate을 작게 바꾸는 것이었는데, 의외로 간단한 곳에 해결방법이 있었네요.

간단한 것이지만 샘플 코드를 원하시는 분들이 계시더군요.  몇몇 분들이 원하시는 것 같아서 이곳에 올려 봅니다. MXML 파일을 올립니다.


MyTextArea.mxml

<?xml version="1.0" encoding="utf-8"?>
<mx:TextArea xmlns:mx="http://www.adobe.com/2006/mxml"
    initialize="init()">
 <mx:Script>
  <![CDATA[
   private function init(): void {
    this.textField.alwaysShowSelection = true;
   }
  ]]>
 </mx:Script>
</mx:TextArea>

출처 : http://thefirstgood.com/?aid=6

AOL music의 AIR 위젯 : http://music.aol.com/help/syndication/desktop-widgets
Download 위젯을 클

'파란코드 > 참고정보' 카테고리의 다른 글

[Flex팁] TextInput과 TextArea의 속도 향상  (1) 2008.04.27
AIR 적용사이트  (0) 2008.02.19
Grails ?, Grails !  (0) 2007.06.19
Ruby on Rails 어디까지 왔나.?  (0) 2007.06.19
Toad 단축키  (0) 2007.05.30

'파란코드 > 참고정보' 카테고리의 다른 글

[Flex팁] TextInput과 TextArea의 속도 향상  (1) 2008.04.27
AIR 적용사이트  (0) 2008.02.19
적용할만한 CSS디자인 목록  (0) 2008.02.16
Ruby on Rails 어디까지 왔나.?  (0) 2007.06.19
Toad 단축키  (0) 2007.05.30

이글루스 Web2.0 플랫폼 개편완료

웹2.0을 이루는 10가지 기술 요소

1. 웹 표준(XHTML/CSS)

2 브라우저 지원(Firefox, Safari)

3 유니코드 (UTF-8)

4 논리적 주소체계 (Logical URI)

5 컨텐츠 신디케이션(RSS/Atom, RDF)

6 오픈 API (REST, SOAP, Web Services)

7 집단 지성(Folksnomy, Tag)

8 가벼운 서비스 프레임웍(Python, Ruby on Rails)

9 풍부한 사용자 경험(Ajax, Flex)

10 확장 기능 (Firefox Extensions, Widget)

http://www.joyent.com/

온라인 합작 소프트웨어 회사인 조이엔트(Joyent)가 신제품 슬링샷(Slingshot)을 자세히 소개하기도 했다. 이 소프트웨어는 웹 개발자들이 Ruby on Rails로 작성한 웹 응용 프로그램을 하이브리드 온-오프라인 응용 프로그램으로 전환해주는 프로그램이다.
Grails와 Ruby on Rails의 벤치마크

Grails는 DRY, Convention over Configyration등의 Ruby on Rails의 철학을 이어받아서 자바진영에서 만들고 있는 프레임워크입니다.

Groovy를 이용하고 있기는 하지만, 실제 수행시에는 바이트코드로 동작하기 때문에 ROR보다는 빠르다고 다들 예상하시고.실제 속도차이가 좀나기는 한답니다.

다만... 해당 글에서 이야기하는 Performance와 Scalability가 다르다는점...

Grails가 Scalability가 높다는 것인데... 원본

[웹 2.0의 도전자들] 검색의 새 장을 여는 Huckabuck
사이트에서는 현재 어떠한 기술을 사용하고 있는가?
Huckabuck은 루비 온 레일즈(Ruby on Rails) 아키텍처로 만들었다. 루비 온 레일즈는 단시간 개발이나 사이트의 모듈러 설계에 사용하는 높은 유연성을 가진 개발 플랫폼이다.

웹2.0의 도전자 : 14Dayz「업무 시간 관리를 엄격하고 즐겁게」

현재 어떠한 기술을 사용하고 있는가.

14Dayz는 다층 구조의 애플리케이션이다. 리눅스 서버상에서는 가상화 기술을 활용하고 있다. 데이터베이스 서버에는 MySQL를, 웹 서버에는 아파치를, 웹 애플리케이션을 신속히 구축하기 위해서는 OO-PHP 체제 ATB5를 사용하고 있다. 테스트에는 UT5를 사용하고 있다. 클라이언트단에서는 XHMTL/CSS와 prototype.js와 scriptaculous를 사용한 자바스크립트를 사용한다.

다른 프로젝트에서는 루비 온 레일스(Ruby on Rails)나 다른 자바스크립트 프레임워크도 사용하고 있다. 전통적인 '기술'도 많이 사용한다. 인덱스 카드도 좋아한다. 우리 회사의 벽은 카드로 가득하다. 페어 프로그래밍도 하고 페어 디자인도 한다.

클라이언트가 사용중인 소프트웨어 내에서 리포지터리로부터 직접 팀의 진척 정도를 추적할 수 있도록 하는 '오토빌드' 기능은 매우 자랑스럽다.

 

오라클, 오픈 소스 프로젝트「Grails」동참

Grails 프로젝트에서는 그루비를 이용해 웹 애플리케이션의 개발 속도를 높이는 개발 프레임워크를 구축하고 있다. Grails라는 이름은, 스크립팅 언어인 ‘루비(Ruby)’를 위한 생산성 프레임워크인 ‘Ruby on Rails’에서 따온 것이다.
그루비는 ‘동적’인 스크립팅 언어의 일종이다. 동적 언어는 일반적으로 고속성과 단순성을 위해 설계돼 있다. 파이썬이나 루비 같은 스크립팅 언어와는 달리 그루비를 사용해 작성된 코드로, 자바 가상 머신(JVM)과 연동이 가능하다

'파란코드 > 참고정보' 카테고리의 다른 글

[Flex팁] TextInput과 TextArea의 속도 향상  (1) 2008.04.27
AIR 적용사이트  (0) 2008.02.19
적용할만한 CSS디자인 목록  (0) 2008.02.16
Grails ?, Grails !  (0) 2007.06.19
Toad 단축키  (0) 2007.05.30

※ TOAD 단축키
- ESC : 열린 윈도우 닫기
- F1 : 모든 단축키를 보여준다
- F2 : FULL SCREEN
- F4 : Table, View, Proc, Funct, Package를 DESC(테이블명에 커서 둔 상태에서 해야함)
- F6 : SQL Editor와 결과창간의 전환
- F7 : 화면을 모두 CLEAR
- F8 : 실행했던 SQL들의 HISTORY
- F9 : 모든 쿼리 실행(Ctrl+Enter는 현재 쿼리만 실행)
- Ctrl+F9 : 실제 쿼리를 실행하지 않고 validate함
- Ctrl+T : Columns Dropdown(해당테이블의 컬럼목록 표시)
- Alt+Up : History Up(리눅스 bash의 UP키와 같다)
- Alt+Down : History Down(리눅스 bash의 DOWN키와 같다)
- Ctrl+Tab : MDI Chile 윈도우간 전환

 

* SQL문 실행시
- Ctrl+Enter
현재 커서의 SQL문 실행
여러개의 SQL문이 있을 경우 SQL문들을 개행문자로 분리해주면 된다
해당커서에서 개행문자가 있는 곳까지만 하나의 SQL문으로 간주한다
- F9
SQL Editor의 SQL문 실행하여 Grid에 출력
여러 SQL문들을 개행문자로 구분하지 않는다는 것을 제외하면 위의 Ctrl+Enter와 동일하다
에디터내의 모든 SQL문은 하나로 취급하므로 여러개의 SQL문이 있으면 실행할 SQL문만 Selection하여 실행(F9)해준다
- F5
SQL Editor내의 모든 SQL문 실행. 여러개의 SQL문들을 모두 실행하여 SQL*PLUS와 같이 출력해준다
이것은 출력이 Grid로 표시되지 않고 Editor윈도에 표시되므로 SQL*PLUS의 출력과 같이 다른 편집기로의 복사/붙여넣기 할때 사용하면 유용하다

'파란코드 > 참고정보' 카테고리의 다른 글

[Flex팁] TextInput과 TextArea의 속도 향상  (1) 2008.04.27
AIR 적용사이트  (0) 2008.02.19
적용할만한 CSS디자인 목록  (0) 2008.02.16
Grails ?, Grails !  (0) 2007.06.19
Ruby on Rails 어디까지 왔나.?  (0) 2007.06.19