전체 글 39

Normalization and Denormalization

학습 목표이 모듈을 마치면 다음을 수행 할 수 있습니다.데이터를 정규화하거나 비정규화하여 앱의 성능을 향상시킵니다.최적화에 관한 일반 이론최적화의 또 다른 형태는 도메인 모델을 변경하는 것입니다. XPath 쿼리가 가능한 한 최적화되었지만 여전히 앱에서 필요한 성능을 얻지 못하는 경우 다음 단계는 데이터 저장 방법을 변경하는 것입니다. 표준화데이터의 오류 가능성을 줄이기 위해 여러 위치에 저장된 고객 이름과 같은 중복 데이터를 제거합니다.비정규화(Denormalization)예를 들어 주문에 고객 이름을 추가하여 데이터를 의도적으로 복제하여 주문을 확인할 때 고객 레코드를 검색할 필요가 없도록 합니다.이 두 가지 솔루션은 실제로 반대이지만 인덱스와 마찬가지로 테스트 중에 드러난 특정 상황에서 둘 중 어느..

Optimization

학습 목표이 모듈을 마치면 다음을 수행 할 수 있습니다.Xpath 쿼리 최적화Xpath 최적화를 위한 전략 개발OQL을 Xpath의 대안으로 사용XPath 쿼리를 최적화하는 다양한 방법아래 두 쿼리문은 같은 동작을 합니다. 또한 이렇게 하면 응용 프로그램이 더 효율적이고 빨라집니다.[Sales.Customer_Account/Administration.Account/id = $currentUser][Sales.Customer_Account = $currentUser]  Mendix가 생성하는 기본 쿼리는 관련 엔터티에 대한 하위 쿼리의 모든 데이터를 검색하지만 "equals" 및 "not equals"와 같은 비교 연산자는 검색하지 않습니다. 따라서 가능하면 microflow를 위해 not() 함수의 사용..

Constraint Functions & Logical Operators

학습 목표이 모듈을 마치면 다음을 수행할 수 있습니다.문자열과 DateTimes를 조작하여 Xpath 함수를 적용하여 데이터를 검색합니다."and", "or" 및 "not"을 포함한 논리 연산자 사용최상의 성능을 위해 논리 연산자를 사용할 때 최상의 방법을 적절하게 구현합니다. 일반 기능Mendix는 XPath 쿼리를 작성할 때 사용할 수 있는 일련의 함수를 제공합니다. 이러한 함수는 주로 속성의 특성에 따라 데이터를 필터링하는 데 사용됩니다. 전체 목록은 documentation에서 찾을 수 있습니다. 예시) contains [contains(Name, 'an')]     ( ※ unlimited 로 설정된 속성을 쓰지 않도록 유의 )  분기당 판매량[quarter-from-dateTime( DateA..

Data Querying

학습 목표이 모듈을 마치면 다음을 수행할 수 있습니다.Xpath에서 OQL로, SQL로의 쿼리 경로를 설명합니다.모든 제품, 위치별 제품, 리뷰가 있는 모든 제품과 같이 특정 데이터를 얻으려면 데이터 선택을 적용하세요. XPath에서 OQL로XPath 쿼리가 런타임에 전송되면 SQL로 직접 변환하지 않고 먼저 OQL(Object Query Language)이라는 중간 언어를 거칩니다. 이 언어는 SQL(Structured Query Language)에 더 가깝기 때문에 OQL에서 Microsoft SQL의 SQL로 변환하는 것을 더 쉽게 작성할 수 있습니다.아래와 같이 XPath 쿼리를 작성하면HumanResources.Employee[JobTitle = 'Sales Representative'] Men..

Account Access for Security

학습 목표이 모듈을 마치면 다음을 수행할 수 있습니다.앱에서 다른 사용자를 관리하기 위한 관리자 역할 허용익명의 사용자가 앱에 액세스하도록 허용사용자 역할에 고급 보안 모범 사례 적용계정 사용자 역할 관리 System.User Entity의 Access rules에는 XPath 제약 조건으로 [id = '[%CurrentUser%]'] 라고 명시되어있다.이런상태라면 Admin이나 User둘다 자기 자신만 수정이 가능함.Admin역할은 User들을 관리해야 하는 경우가 많은데 이를 해결하기 위해서는 App > User Role을 수정해줘야 한다. User Management칸에서 원하는 역할을 선택을 하게 되면현재 선택한 Administrator역할이 선택한 역할들을 관리할 수 있는 권한을 주겠다. 라는 ..

Entity Access for Security

학습 목표이 모듈을 마치면 다음을 수행 할 수 있습니다.Best Practices에 따라 마이크로플로우에 개체 접근 적용엔터티 액세스Mendix에서 마이크로플로우가 외부에 노출될 때(예: 딥링크 사용), 플랫폼은 데이터를 읽거나 쓸 때 사용자의 엔터티 액세스를 기본적으로 확인하지 않습니다. 이를 확인하려면 마이크로플로우 속성에서 "Apply entity access(엔터티 액세스 적용)" 설정을 활성화해야 합니다.적용된 효과: 사용자의 권한에 따라 엔터티에 대한 작업(생성, 삭제 등)이 제한됩니다. 예를 들어, 사용자가 엔터티를 만들거나 삭제할 권한이 없으면 이 설정을 활성화하면 해당 작업이 차단됩니다.제약 조건: 엔터티 액세스가 비적용된 마이크로플로우는 동일하게 엔터티 액세스가 비적용된 마이크로플로우만..

Build and Share your Widget

학습 목표이 모듈을 마치면 다음을 수행 할 수 있습니다.위젯 구축위젯을 다른 앱 또는 Marketplace에 공유Mendix 프로젝트 간 위젯 공유위젯을 Mendix 프로젝트에서 별도의 폴더로 이동합니다.projects│└───My_First_Widget 프로젝트의 위치와 위젯의 위치는 이제 다음과 같습니다.이제 projectPath를 알맞게 변경해주면 됩니다.   package.json ( 기존 ) "config": { "projectPath": "../../", }, package.json ( 변경 후 ) "config": { "projectPath": "../../My_First_Widget", }, package.json ( 다른 프로젝트 생성 시 ) "config": { ..

Connecting Mendix Data and Our Widget

학습 목표이 모듈을 마치면 다음을 수행 할 수 있습니다.위젯의 수명 주기 설명위젯 개선위젯의 수명 주기한 걸음 물러서서 Mendix에서 데이터를 가져와 위젯에 표시하는 방법을 살펴보겠습니다.Mendix는 위젯이 Mendix의 데이터를 사용하고 상호 작용할 수 있도록 많은 유용한 API를 노출합니다.Micro 및 Nanoflows와 같은 작업을 트리거하는 API도 있습니다.위젯을 Mendix에 "연결"하는 방법은 단순히 다음 항목에 속성을 추가하는 것입니다.src/CharacterCounter.xml 바로 아래 예시는 따라 할 필요X  /  흐름만 파악하기예시)다음에서 정의합니다. CharacterCounter.xml Add String  Mendix에서 실행하고 동..