본문 바로가기

728x90

REA

(17)
엑스플랫폼 V9.2 Multi Layout Manager 기능 미리 보기 오늘부터 투비소프트 그랜드세미나 2011 티처 영상이 공개되었습니다. http://goo.gl/zRn0t 티처 영상에는 9.2 버전에 포함될 MLM 기능이 살짝 공개되었습니다. 동영상을 통해 간단하게 살펴보도록 하겠습니다. 엑스플랫폼이 처음 선보인것은 2009년입니다. 2년 사이에 많은 변화가 있었고 이에 대응하기 위해 투비소프트 내부에서 다양한 시도를 했었습니다. 그리고 2011년 다양한 요구사항을 반영한 새로운 버전을 선보이게 되었다고 합니다. http://tobesoft.co.kr/company/history.jsp 화면에서 잘 보이지는 않지만 프로젝트를 생성하고 폼을 디자인 하는 과정에서 레이아웃을 설정할 수 있는 단계가 추가되었습니다. 기존에는 프로젝트 단위로 하나의 레이아웃만을 가지고 있었는데..
이벤트 기초 - EDA (이벤트 기반 아키텍처) 이벤트에 대한 내용은 기초가 부족하면 어느 단계에 가서 한계에 도달하게 됩니다. 일반적인 웹 프로그래밍 모델에 익숙해져 버리면 이벤트를 적절히 사용하기 보다는 기존에 익숙한 방법을 사용하게 됩니다. 하지만 이렇게 되는 경우 최적의 성능을 담보할 수 없으며 심지어는 잘못된 시점에 이벤트를 처리해서 돌이킬 수 없는 문제를 양산하곤 합니다. (특히 이런 문제는 테스트 중에는 발견되지 않습니다. 이런 시나리오를 고민하지 않고 테스트 케이스를 만들거든요). 엑스플랫폼 애플리케이션은 EDA를 기본으로 하고 있다고 합니다. 이벤트 기반 아키텍처(Event Driven Architecture)의 약자로 프로그래밍에 한정되는 개념은 아니고 좀 더 범용적인 개념입니다. 위키피디아의 정의를 보면 자동차에 대한 예를 들고 있..
그림을 그려보자 - GraphicPath (하) 이제 마지막 단계입니다. GraphicPath 을 사용하면 벡터그래픽의 장점인 확대와 축소를 가능하게 합니다. 기업용 애플리케이션을 만들면서 그림 그리는 툴이 뭐가 필요할까 싶지만 의외로 많은 부분에서 이를 필요로 합니다. 조직도나 다이어그램을 그린다고 할때 드로잉 도구가 없이 그리려고 한다면 정말 난감할 겁니다. 커브는 Cubic Bezier Curve 형식을 따릅니다. 베지어 곡선 Bezier curve 은 불규칙한 곡선을 표현하기 위해 프랑스의 수학자 베지어(Bezier P.)가 수학적으로 만든 선이라고 합니다. 이럴때는 수학공부를 학교다닐때 열심히 할걸이라는 생각이 듭니다. 커스텀 컴포넌트 개발로 깊이 들어갈때에도 수학적인 지식이 필요하기때문에 여유가 있을때 기본을 다시 잡아주는 것도 좋습니다. ..
그림을 그려보자 - GraphicPath (중) 이번 시간에는 타원,호를 살펴보겠습니다. 사실 타원과 호라고 했지만 원을 그릴때도 마찬가지로 적용합니다. 엄격하게 말하면 원은 완전한 원은 아닙니다. 하지만 일반적인 모니터로 보았을때 거의 구분이 안되기 때문에 그냥 원이라고 합시다. ㅠㅠ 앞에서 살펴본 GraphicPath 의 속성은 사실 어디서 뚝 떨어진것은 아니고 SVG 스펙에 근거해서 만들어졌습니다. http://www.w3.org/TR/SVG/paths.html 내용을 보면 거의 유사하다고 보시면 됩니다. SVG 소스를 그대로 가져다 놓으면 동일하게 구현되지만 약간의 차이가 있긴 합니다. elliptical arc 는 A 로 구분하고 다음과 같은 속성을 가집니다. nRx nRy nAngle bLargearcflag bSweepflag nX nY ..
콤보 컴포넌트 콤보는 여러 종류의 음식이 섞여 나오는 것을 의미한다고 합니다. 극장에 가서 팝콘이랑 콜라랑 같이 주문을 할때 콤보세트로 주문을 하게 되면 좀 더 가격이 저렴해지거나 합니다. 또는 게임을 할때 몇가지 명령을 조합해서 내리는 경우 새로운 공격을 할 수 있는 명령이 만들어지는데 이것도 콤보라고 표현합니다. 그냥 콤보라고만 하면 좀 혼란스러워 콤보박스라고 이야기합니다. 엑스플랫폼에서는 컴포넌트명이 Combo 입니다. 그리고 일반적으로 콤보박스와 드롭다운을 구별하여 텍스트 영역을 편집 가능하다면 콤보박스 그렇지 않다면 드롭다운이라고 구분하기도 합니다. 엑스플랫폼에서는 type 으로 이를 구분할 수 있게 지원합니다. UX 스튜디오에서 Combo의 모습은 달력 컴포넌트의 기본 모습과 동일합니다. 내부적으로 들어가면..
디버깅 조금 해보기 그럼 간단한 애플리케이션을 만들면서 디버깅에 대해 살펴보겠습니다. 만들어볼 애플리케이션은 간단한 그리드에 간단한 데이터가 들어가고 각 셀을 클릭하면 이벤트를 발생시키도록 했습니다. 새로운 프로젝트를 만들고 (File > New > Project) 새로운 폼을 만듭니다 (File > New > Item > Form) 툴바에서 그리드를 선택하고 폼에 배치합니다. 크기는 상관없습니다. 그리고 DataSet도 하나 만들어줍니다. DataSet 은 실체는 있지만 눈에 보이지 않는 객체로 폼에서 그려도 상관없지만 폼에 표현되지 않고 Invisible Objects 영역에 표시됩니다. 데이터도 설정해놓고 DataSet을 그리드로 드래그앤드롭해서 연결하면 셋팅이 완료됩니다. 그리드 이벤트에서 oncellclick 를 ..
레이아웃 구성하기 (Div, Panel) Div 라고 하면 HTML 태그에서 나오는 div 와 혼란스러운 부분이 있는데 일단 정의부터 확인해보겠습니다. 메뉴얼을 보면 Div를 다음과 같이 정의하고 있습니다. 하나의 화면에 여러개의 부분화면을 구성할 때 사용하는 컴포넌트로 주 화면과 독립되거나 연계된 화면을 구성할 수 있으며 다른 폼(Form)과 연결해서 사용할 수 있고 border 나 scrollbar를 사용해 영역을 분할할 수 있다. 프레임과의 차이점은 프레임은 각 프레임이 별개의 윈도우처럼 동작하는데 반해 Div는 화면을 분할해서 폼을 용이하게 사용하려는 목적이라고 볼 수 있습니다. UX 스튜디오에서 작업은 Div 를 배치하고 해당 영역 위에 컴포넌트를 추가하면 됩니다. 코드에서 보면 다음과 같이 구성이 됩니다. 각 컴포넌트의 위치를 좌표값..
MDI에 대해 번역된 용어로 다중문서인터페이스라고 하며 Multiple Document Interface 의 약자입니다. 말 그대로 동시에 여러 개의 문서로 작업을 할 수 있는 어플리케이션을 제공해주는 인터페이스라고 할 수 있습니다. 각 문서(또는 어플리케이션)은 별개의 공간을 가지며 각각 작업이 가능합니다. 일반적으로 접하는 PC의 바탕화면과 동일한 인터페이스로 생각할 수 있지만 MDI라는 것은 특정 어플리케이션이나 클라이언트라는 제한된 공간이라는 차이가 있습니다. 요즘은 대부분 브라우저에서 사용하고 있는 탭 브라우저도 MDI라고 할 수 있습니다. 예전처럼 새로운 페이지를 열고 다른 것을 보기 위해서는 다음 페이지로 가거나 새로운 브라우저를 띄울 필요 없이 탭을 사용해서 사용자가 좀 더 빠르고 편하게 정보에 접근할 ..

반응형