본문 바로가기
반응형

분류 전체보기710

로깅을 통한 애플리케이션 동작 추적 - 로그 메시지의 구성 요소 설명 Mendix 로그 소스로그 메시지의 소스 필드는 클라우드에서 생성된 로그에만 존재합니다. 이 필드의 정확한 내용은 사용하는 클라우드에 따라 달라질 수 있습니다. 이 필드에는 로그 메시지를 생성한 Mendix 런타임의 특정 인스턴스가 표시됩니다. 이는 다중 서버 환경에서 오류를 분석할 때 유용할 수 있습니다. 앱의 단일 인스턴스를 실행하는 경우에는 이 필드를 무시해도 됩니다. Mendix 로그 레벨로그를 만들 때는 가능한 한 많은 세부 정보를 캡처하고 싶지만, 로그의 크기는 관리하기 쉬운 수준이어야 합니다. 또한 로그 메시지 작성은 성능에 영향을 미친다는 점을 기억하는 것도 중요합니다. 하나의 메시지에 대한 이러한 영향은 무시할 수 있지만, 앱이 메시지를 자주 로깅하는 경우 그 영향이 빠르게 누적될 수 있.. 2024. 8. 1.
로깅을 통한 애플리케이션 동작 추적 - 로그 메시지 소개Mendix를 사용하면 멋진 앱을 쉽게 빠르게 만들 수 있습니다. 내부적으로 Mendix는 앱 제작에 필요한 모든 작업을 수행합니다. 이는 앱 빌드와 관련된 복잡성을 숨겨주기 때문에 매우 좋습니다. 하지만 문제가 발생하면 어떻게 해야 할까요? 앱이 제대로 작동하지 않는 문제를 해결하기 위해 Mendix가 실제로 무엇을 하고 있는지 "내부"를 확인해야 하는 순간이 바로 이때입니다. 이때 로깅이 필요합니다.  각 앱에는 앱을 실행하는 동안 Mendix의 다양한 컴포넌트가 수행하는 작업을 보고할 수 있는 로깅 기능이 탑재되어 있습니다. 이러한 로그 메시지를 효과적으로 사용하려면 로그 메시지가 어떻게 작성되고 어디에서 찾을 수 있는지 이해하는 것이 중요합니다. 이를 통해 오류를 분석하고 수정할 수 있습니다... 2024. 7. 31.
쿠버네티스 환경에서 Mendix app 적용하기 ( 성공!!!) 2024-08-01드디어 성공했습니다!!!오류는 모두 멘딕스 설정관련이었네요.1. MendixAdmin 암호가 base64 인코딩이 안되었었다.2. MendixAdmin 암호에 대문자가 안들어갔다!좀 허무하지만 이런것들 이었습니다. 정상으로 설정된걸 확인하고, 접속하기 위해 서비스 노드포트를 추가로 선언했습니다.kubectl expose deployment mendixkoreancommunity-master --type=NodePort --name=mendixkoreancommunity-nodeport -n bsa-dev 그리고 접속할 수 있는 주소를 확인하는 미니쿠베 명령어 입니다. ( localhost로 접속이 되는게 아니더군요... ㅡㅜ )minikube service mendixkoreancomm.. 2024. 7. 29.
고급 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.
tkinter 를 이용한 게임 만들기 ( feat. 파이썬 으로 배우는 게임 개발 실전편 ) !실행방법!python 을 설치하고, 첨부된 메이플스토리 폰트를 설치한다음,게임압축해제후 python main.py 로 실행!python 은 3.10.6 에서 개발했지만, 특별한 디펜던시도 없고 특징이 없으니 3.x 이면 모두 실행 가능할 것이라 생각! !주요 소스 분석!## 전역변수를 쓸때 함수내에서는 global 키워드 를 이용한다. def set_chara_pos(): global pen_x, pen_y, pen_d, pen_a ## tkinter 에서 폰트이용 방법 및 그림자효과를 위해서 2개를 겹쳐서 출력하는 테크닉def draw_txt(txt, x, y , siz, col): fnt = ("메이플스토리 Bold", siz) #그림자같이 표기 canvas.create_.. 2024. 7. 21.
반응형