일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |
- 집합
- Mendix
- 자료구조
- 트리
- lcap
- domain model
- Bruteforce
- 멘딕스
- 프로그래머스
- 그래프
- 완전탐색
- 정렬
- SQL
- Sort
- algorithm
- 해시맵
- microflow
- 스택
- Recursion
- 백트래킹
- 반효경교수님
- MySQL
- 자바
- 재귀
- git
- 알고리즘
- 이분탐색
- 매개변수 탐색
- 가중치없는그래프
- dfs
- Today
- Total
목록Mendix (18)
mondegreen
1. 기존 기능인 create를 확장하는 마이크로플로우교육 시스템 관리자가 특정 Course에 대해 훈련 과정을 추가하려고 한다. 여러 Course를 list 뷰에 담았고 각 course마다 schedule 버튼을 클릭하면 바로 훈련 과정을 추가하는 로직을 만들고자 한다. 여기서 중요한 부분은 "특정 Course에 속하는" 훈련 과정을 만든다는 것이다. 즉, 버튼을 클릭하면 훈련과정이라는 엔티티의 형태를 띈 객체를 매번 생성하는 기능이 필요한데 추가적으로 선택된 Course 정보를 같이 넘겨주는 것이다. 이는 자바에서 메서드를 작성할 때 매개변수를 넘겨주는 것과 유사하다.해당 버튼을 클릭하면, 내가 생성한 ACT_Course_ScheduleTrainingEvent 라는 마이크로플로우를 호출하도록 설정한다..
멘딕스는 기본적인 CRUD와 같은 로직을 내장하고 있다. 하지만 우리 고객들은 그러한 단순한 것을 넘어 보다 복잡하고 여러 논리 판단을 거친 작동을 요구한다. 이를 구현하기 위해 개발자는 여러 데이터를 확인하고 논리 판단을 통해 어떠한 결과를 내는 코드를 작성하는 것이다. 혼자 개발한다면 코드가 복잡하든, 로직이 조금 꼬여있든, 나만 이해할 수 있는 애매한 명명의 변수를 사용하든 전혀 상관없다. 하지만 한 조직에 속해 개발하는 경우 우리는 팀으로 일하게 되며 내가 해당 업무를 떠나 다른 동료에게 넘겨주는 것이 일반적이다. 따라서 다른 사람이 이해하기 쉬운 코드를 명료하게 작성하는 것이 매우 중요한데 멘딕스는 이러한 부분을 시각화된 마이크로플로우로 해결하고 있는 것이다. 비단 개발자 뿐만 아니라 비즈니스 ..
페이지에 객체로 전달되거나 리스트 뷰에 데이터를 띄우기 위해서 도메인 모델로 엔티티를 작성하고 연결하는 방식은 이전 Beginner 과정에서 활용해봤다. 하지만 여기서 더 나아가 중첩된 데이터(Nested data)를 사용해보자.중첩된 데이터라고 축약해 표현되어 있는데 어떠한 상황에서 사용되는지 아래 멘딕스 개발 화면과 함께 설명하고자 한다. 먼저 강의 관련 서비스를 제공하는 어플리케이션을 개발하며 과정과 강의장소, 강사, 교육생 엔티티가 존재하고 과정, 장소, 강사 엔티티와 연결된 훈련 이벤트가 존재한다. 이 때 한 교육생이 특정 교육 훈련과정에 등록한다고 가정해보자. 그럼 이 등록과 관련된 속성은 훈련 과정이나 교육생 엔티티에 포함되어야 할까?아니다 위의 registration 엔티티와 같이 정보 객..
멘딕스로 개발하기 적합한 프로젝트 대표 유형1. 요구사항이 명확하지 않으며 개발 프로세스 중에 유연하게 비즈니스 사항이 적용되어야 하는 프로젝트2. 데스크탑, 모바일, 태블릿의 멀티 채널이 필요한 애플리케이션3. 작게 시작하지만 확장이 반드시 필요한 어플리테이션(변동 가능성 높은 경우) 참고. 적합하지 않은 개발 프로젝트 유형- 게임, 수학적 계산이 많은 경우, 동시 사용자가 10,000 이상인 웹, 동시 사용자가 100,000인 모바일, 주요 목표가 데이터 시각화인 경우, 주요 목적이 비즈니스 가치 및 로직 추가가 아닌 애플리케이션 간 연결인 경우 등
멘딕스에서는 List Views, Data View, Data Grid를 활용한다면 데이터 필터링하거나 정렬하는 기능을 사용할 수 있다. 데이터를 필터링하는 방법으로 탭을 구분하는 방식으로 구현했다. 리스트 뷰 상단에 Tool box로부터 가져온 탭 컨테이너를 위치시킨다.하나는 SLA Competion Date가 Due Date보다 늦어서 Missed로 등록된 Task들을 볼 탭이고 다른 하나는 모든 Task를 확인할 탭이다.리스트 뷰를 끌어다 All Tab에 속하도록 위치시키고 해당 리스트 뷰를 복사해서 Missed 탭에도 위치시킨다. 그리고 이 Missed 탭에 속한 리스트 뷰에 필터를 적용하는 것이다. Data source에서 Constraint에 Add 버튼을 클릭해서 SLADashBoardSta..
Microflows consist of a green start event icon, which is where the process of the microflow starts and a red end event icon, where the flow ends. When the flow ends, control returns back to the application.멘딕스 설명 영상들을 보면서 마이크로 플로우가 뭔지 항상 궁금했었다. 간단히 말하면 로직을 만드는 것이고 자바의 클래스라고 생각했을 때 메서드라고 보면 좋을 것 같다. 초록 원이 마이크로 플로우의 시작점이고 빨간 원이 끝나는 지점이다. 그리고 중간에 파란 박스나 노란 마름모꼴이 나올 수 있는데 이는 1) 사용자에게 메세지를 보여주거나 2) 객..
How to define domain model페이지와 데이터를 연결하기 전에 우리는 데이터 모델을 먼저 만들어야 한다. 멘딕스에서는 RDBMS에서의 Table과 같은 맥락으로 Domain Model을 정의해준다. 형성된 모델은 entity이며 맨 윗줄은 엔티티명, 아래 항목들은 엔티티가 가지는 속성들이며 괄호 안의 값은 그 속성의 타입을 말한다.이 엔티티 간에도 화살표로 이어서 관계를 정의한다. 우리가 이미 알고 있는 것처럼 일대일, 일대다, 다대다의 관계를 가질 수 있다. 아래 이미지를 통해 어떻게 속성과 엔티티를 추가할 수 있는지 확인해보자. 먼저 위의 엔티티 중 변경하고자 하는 엔티티를 두번 클릭하면 아래와 같은 창을 확인할 수 있다. 여기서 Attribute의 new를 클릭하면 새로운 속성을 추..
Page는 사용자가 데이터를 확인하고 상호작용할 수 있게 하는 것으로서, Navigation에서 new page를 만들 수 있다.on click 항목에서 해당 페이지가 클릭되었을 때 어떤 동작이 이루어질지 선택 가능한데 만약 'Show a page'를 선택한다면 기존의 페이지 또는 새로운 페이지를 생성할 수 있다. 새로운 페이지를 생성할 때 페이지 이름, 해당 페이지의 위치, 해당 페이지에서 보여줄 내용을 선택할 수 있는데 왼쪽의 목록이 사용자에게 보여줄 템플릿이다. 대시보드는 시각화 자료, 리스트는 목록, Forms는 사용자의 입력을 받을 수 있는 템플릿이다. 리스트를 선택하고 나면 아래와 같이 경고가 뜬다.연결된 데이터가 없다는 뜻인데 이는 정상이다. 다음 게시글에서 멘딕스에서의 데이터 모델을 뜻하는..