본문 바로가기
반응형

Advanced8

로깅을 통한 애플리케이션 동작 추적 - 자체 앱 로깅 구현하기 시작하기Mendix에서 개발을 시작하기 전에 항상 사용자 스토리를 준비하는 것이 좋습니다. 이 경우 프로젝트 패키지와 사용자 스토리 모두 이 페이지 상단의 이 모듈의 리소스에서 찾을 수 있습니다. 둘 다 다운로드하세요. 이제 패키지를 가져와 보겠습니다!  1. 멘딕스 스튜디오 프로 버전 9.11.x를 열고 File > Import App Package…를 클릭한 다음 다운로드한 .mpk 파일을 선택합니다. 앱에 HolidayRequest와 같은 설명이 포함된 이름을 사용합니다.이제 애플리케이션을 만들었으니 로깅을 추가해 보겠습니다! 로깅 설정Mendix에서 로깅을 구현할 때는 모든 로그 메시지의 로그 노드 이름이 동일한지 확인해야 합니다. 이는 쉽게 확인할 수 있는 이름을 설정하면 가장 잘 수행할 수 있.. 2024. 8. 3.
로깅을 통한 애플리케이션 동작 추적 - 로그 메시지의 메시지 부분 읽기 로그 항목 찾기사용자가 예상치 못한 동작을 보고하는 경우, 문제를 해결할 수 있는 충분한 정보를 제공하지 않는 경우가 있습니다. 이럴 때 로그가 귀중한 리소스가 됩니다. 하지만 로그에는 모든 사용자에 대한 메시지가 포함되어 있어 관심 있는 로그 메시지를 찾기가 어렵습니다. 이때 타임스탬프가 도움이 될 수 있습니다. 로그는 위에서 아래로 시간순으로 작성되며 가장 최근 로그 메시지가 맨 아래에 표시됩니다.   이 시간 순서는 도움이 되지만, 오랜 기간의 메시지가 포함된 파일에서 로그 메시지를 찾기가 어려울 수 있습니다. 따라서 로그는 주기적으로 분류되어 Mendix Cloud에 날짜별로 저장됩니다. 이렇게 하면 로그 메시지를 빠르게 찾을 수 있습니다.  로그 파일을 분석할 때는 어떤 표준 시간대가 사용되고 .. 2024. 8. 2.
로깅을 통한 애플리케이션 동작 추적 - 로그 메시지 소개Mendix를 사용하면 멋진 앱을 쉽게 빠르게 만들 수 있습니다. 내부적으로 Mendix는 앱 제작에 필요한 모든 작업을 수행합니다. 이는 앱 빌드와 관련된 복잡성을 숨겨주기 때문에 매우 좋습니다. 하지만 문제가 발생하면 어떻게 해야 할까요? 앱이 제대로 작동하지 않는 문제를 해결하기 위해 Mendix가 실제로 무엇을 하고 있는지 "내부"를 확인해야 하는 순간이 바로 이때입니다. 이때 로깅이 필요합니다.  각 앱에는 앱을 실행하는 동안 Mendix의 다양한 컴포넌트가 수행하는 작업을 보고할 수 있는 로깅 기능이 탑재되어 있습니다. 이러한 로그 메시지를 효과적으로 사용하려면 로그 메시지가 어떻게 작성되고 어디에서 찾을 수 있는지 이해하는 것이 중요합니다. 이를 통해 오류를 분석하고 수정할 수 있습니다... 2024. 7. 31.
고급 XPath를 사용하여 데이터 제약 - 정규화 및 비정규화 최적화에 대한 일반 이론최적화의 또 다른 형태는 도메인 모델을 변경하는 것입니다. XPath 쿼리가 최대한 최적화되었지만 여전히 앱에서 필요한 성능을 얻지 못하는 경우 다음 단계는 데이터를 저장하는 방식을 변경하는 것입니다. 다음 중 하나를 선택할 수 있습니다: 정규화여러 곳에 저장되어 있는 고객 이름과 같은 중복 데이터를 제거하여 데이터의 오류 가능성을 줄이거나 비정규화예를 들어 주문에 고객 이름을 추가하여 주문을 확인할 때 고객 기록을 검색할 필요가 없도록 의도적으로 데이터를 복제하는 것입니다. 이 두 가지 솔루션은 서로 반대되는 개념이지만 인덱스와 마찬가지로 테스트 중에 특정 상황에서 어느 한 쪽을 사용하면 앱 속도가 빨라질 수 있습니다. 정규화앞서 설명한 대로 정규화는 중복 데이터를 제거하는 작업.. 2024. 7. 28.
고급 XPath를 사용하여 데이터 제약 - 최적화 XPath 쿼리를 최적화하는 다양한 방법XPath 쿼리를 작성할 때 주의해야 할 몇 가지 사항이 있습니다. 가장 쉽게 적용할 수 있는 최적화는 변수를 객체가 아닌 associations과 비교하는 것입니다. 예를 들어 AdventureWorks 직원들이 애플리케이션에 웹 상점을 추가해 달라고 요청한다고 가정해 보겠습니다. 이를 위해서는 계정 개요 페이지에 사용자 정보를 표시하기 위해 현재 사용자를 기준으로 고객 정보를 검색해야 합니다. 이를 위한 XPath는 다음과 같습니다:[Sales.Customer_Account/Administration.Account/id = $currentUser]이 XPath 표현식은 account 개체를 검색하기 때문에 최적이 아닙니다. account 개체를 검사할 필요 없이.. 2024. 7. 27.
고급 XPath를 사용하여 데이터 제약 - 논리 연산자 논리 연산자논리 연산자를 사용하면 XPath 쿼리를 작성할 때 조건을 결합할 수 있습니다. Mendix는 두 가지 연산자, and 와 or 를 지원합니다. 이 연산자들은 사용자가 기대하는 기능을 수행합니다. 대괄호 안에 사용할 수 있습니다. 대괄호 집합이 여러 개 있는 XPath 쿼리를 만들면 표현식은 자동으로 및 연산자를 사용하여 결합됩니다. 논리 연산자는 바깥 대괄호 밖에서는 사용할 수 없습니다. 예시가 있는 그림은 아래에서 볼 수 있습니다:[Available = true()andActive = false()]유효한 XPath 쿼리가 아닙니다:[Available = true()]and[Active = false()]위의 쿼리는 다음과 같이 작성해야 합니다:[Available = true()][Acti.. 2024. 7. 25.
고급 XPath를 사용하여 데이터 제약 - 제약 조건 함수 일반 함수Mendix는 XPath 쿼리를 작성할 때 사용할 수 있는 일련의 함수를 제공합니다. 이러한 함수는 주로 속성의 특성에 따라 데이터를 필터링하는 데 사용됩니다. 전체 목록은 문서에서 확인할 수 있습니다. 문자열, 숫자, 날짜/시간 값으로 작업할 수 있는 함수가 있습니다. 숫자를 사용할 때는 주로 산술 연산자와 비교 연산자를 사용하여 데이터를 필터링합니다. 문자열을 일치시킬 때는 문자열의 시작, 문자열의 끝 또는 특정 문자 시퀀스를 일치시킬 수 있는 함수를 사용할 수 있습니다. 이러한 함수를 사용할 때는 비교하려는 속성을 함수에 인수로 추가해야 한다는 점에 유의해야 합니다. 이 주제를 가장 잘 설명하는 예제가 있으니 몇 가지를 살펴보겠습니다. AdventureWorks 애플리케이션을 살펴보면 문자.. 2024. 7. 24.
고급 XPath를 사용하여 데이터 제약 - 데이터 쿼리 일반적인 데이터 선택데이터로 작업할 때는 데이터를 필터링하거나 변환할 수 있어야 합니다. Mendix에서는 XPath라는 쿼리 언어를 통해 앱의 여러 위치에서 이 작업을 수행할 수 있습니다. XPath 쿼리를 작성할 때 구문을 이해하는 것만으로는 항상 충분하지 않습니다. 쿼리를 실행하는 데 걸리는 시간도 고려해야 합니다. 이를 효과적으로 수행하려면 XPath 쿼리가 기본 데이터베이스가 이해하는 방식으로 어떻게 변환되는지 아는 것이 도움이 됩니다. 그러면 최상의 성능을 발휘하는 쿼리를 작성할 수 있습니다. XPath를 작동하게 하는 기반 기술을 살펴보겠습니다. 이를 위해서는 약간의 이론이 필요합니다. 이는 Mendix와 데이터베이스 전반의 데이터 검색을 더 잘 이해하는 데 도움이 될 것입니다.모든 Mend.. 2024. 7. 23.
반응형