본문 바로가기
반응형

Advanced13

REST API 디자인 및 게시 2 - 보안 앱 개발의 모든 것과 마찬가지로 보안은 매우 중요합니다. URL을 아는 사람에게 API 접근 권한을 부여하고 싶지는 않을 것입니다. 어느 날 아침 출근길에 누군가 당신의 API를 사용하여 특정 유형의 모든 객체를 삭제했다는 사실을 알게 되었다고 상상해 보세요. 이러한 상황을 방지하려면 API를 철저히 보호하는 것이 필수적입니다.REST 서비스에 사용할 수 있는 다양한 인증 방법이 있습니다.사용자 이름과 비밀번호(앱 내 계정의 사용자 이름과 비밀번호).액티브 세션(현재 애플리케이션 내부에서 JavaScript의 액세스를 허용합니다).커스텀표준 인증기본적으로 새 애플리케이션에서는 사용자 이름과 비밀번호 , 액티브 세션이 활성화됩니다.허용된 역할서비스에 허용되는 역할을 선택해야 합니다. 서비스에만 접근 권한이.. 2025. 7. 16.
REST API 디자인 및 게시 1 REST API란 무엇인가요?애플리케이션 개발 분야에서 일하는 사람들은 REST API 에 대해서 많이 말을 합니다. REST/RESTful API란 무엇일까요?이 질문에 답하기 위해서는 두 가지 하위 질문으로 나누어 보는 것이 가장 좋습니다.API란 무엇인가요?REST란 무엇인가요?API(Application Programming Interface)는 두 애플리케이션이나 소프트웨어 시스템이 일련의 정의와 프로토콜을 사용하여 서로 통신할 수 있도록 하는 메커니즘입니다. 예를 들어, 휴대폰의 날씨 앱은 API를 통해 기상청 소프트웨어 시스템과 통신하여 휴대폰에 날씨 정보를 표시할 수 있습니다.API에는 여러 "유형"이 있으며, 스타일이나 프로토콜도 다양합니다. 아마도 가장 잘 알려진 API는 다음과 같습니.. 2025. 7. 15.
고급 도메인 모델 7 - 날짜 시간 처리 소개Adrian의 앱에 있는 경기정보에는 각 경기정보의 시작 날짜 및 시간에 대한 datetime 구성 요소가 있습니다.경기 시간을 지키는 것은 매우 중요합니다. 따라서 이 데이터를 올바르게 표시하는 것이 매우 중요합니다.DateTime 특성DateTime 특성은 Mendix 플랫폼 내에서 날짜 및 시간 값을 저장하는 데 사용됩니다. 날짜와 시간 또는 두 구성 요소는 입력 위젯 구성 및 마이크로플로우의 변경 사항에 따라 설정됩니다. DateTime 값은 항상 Unix epoch라고도 하는 1970년 1월 1일 00:00:00 UTC 이후의 초 수로 데이터베이스에 저장됩니다. 이는 데이터베이스와 응용 프로그램에서 날짜 및 시간 값을 계산하고 저장하기 위한 일반적인 표준입니다. 지역화DateTime 특성에는.. 2025. 7. 7.
고급 도메인 모델 6 - Self Reference를 사용한 고급 연결 소개Adrian은 동료와 버디 시스템을 만들고 싶어합니다. 이 버디 시스템은 더 많은 경험을 가진 플레이어가 축구장 안팎에서 새로운 팀원을 지도할 수 있도록 설계되었습니다. 이는 Player 개체에서 Player 개체로의 자체 참조를 사용하여 구성할 수 있습니다.자체 참조는 쿼리에서 사용하기 어려울 수 있습니다. 다음 강의에서는 자기 참조를 쿼리하는 가장 좋은 방법에 대해 논의할 것입니다. 이 예에서는 Player_NewEdit 페이지를 사용하여 플레이어/견습생의 버디를 선택하고 플레이어/버디의 견습생 목록을 표시합니다.Self-reference 구현하기앞서 말씀드린 바와 같이, Adrian은 플레이어들을 서로 버디로 지정하려고 합니다. 이는 Player 개체의 자체 참조를 Player 개체로 다시 추가.. 2025. 7. 7.
고급 도메인 모델 4 - Index와 Reference Sets 을 이용한 퍼포먼스 향상 소유권의 영향현재 이 앱을 사용하면 직원이 단일 팀의 일원이 될 수 있습니다. 하지만, Adrian은 한 명의 직원을 여러 팀에 소속될 수 있기를 원합니다. 물리 치료사가 전문 지식을 가지고 여러 팀에 서비스를 제공할 수도 있기 때문이죠.이제 도메인 모델은 다음과 같습니다.Staff 개체가 여러 Team 개체를 참조하도록 허용하려면 연결을 참조 집합/다대다 연결로 변경하도록 선택할 수 있습니다. 이 경우 참조는 연결의 소유자이므로 Staff 엔터티에 저장됩니다.이 시나리오에서는 마이크로플로우에서 팀의 직원을 검색할 때 개체 캐시에 다음 개체가 포함됩니다.보시다시피 Staff 개체에는 소유하는 속성과 연결이 포함되어 있습니다. 여기에는 연결된 팀을 참조하는 연결 Staff_Team 포함됩니다. Team 개.. 2025. 7. 4.
로깅을 통한 애플리케이션 동작 추적 - 자체 앱 로깅 구현하기 시작하기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.
반응형