일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- Sort
- 매개변수 탐색
- git
- 알고리즘
- 자바
- Recursion
- 프로그래머스
- 멘딕스
- 트리
- algorithm
- 그래프
- 재귀
- 완전탐색
- microflow
- domain model
- 반효경교수님
- 집합
- Mendix
- 자료구조
- 스택
- SQL
- MySQL
- Bruteforce
- 정렬
- 가중치없는그래프
- dfs
- 백트래킹
- 해시맵
- lcap
- 이분탐색
- Today
- Total
목록분류 전체보기 (144)
mondegreen
1. 기존 기능인 create를 확장하는 마이크로플로우교육 시스템 관리자가 특정 Course에 대해 훈련 과정을 추가하려고 한다. 여러 Course를 list 뷰에 담았고 각 course마다 schedule 버튼을 클릭하면 바로 훈련 과정을 추가하는 로직을 만들고자 한다. 여기서 중요한 부분은 "특정 Course에 속하는" 훈련 과정을 만든다는 것이다. 즉, 버튼을 클릭하면 훈련과정이라는 엔티티의 형태를 띈 객체를 매번 생성하는 기능이 필요한데 추가적으로 선택된 Course 정보를 같이 넘겨주는 것이다. 이는 자바에서 메서드를 작성할 때 매개변수를 넘겨주는 것과 유사하다.해당 버튼을 클릭하면, 내가 생성한 ACT_Course_ScheduleTrainingEvent 라는 마이크로플로우를 호출하도록 설정한다..
멘딕스는 기본적인 CRUD와 같은 로직을 내장하고 있다. 하지만 우리 고객들은 그러한 단순한 것을 넘어 보다 복잡하고 여러 논리 판단을 거친 작동을 요구한다. 이를 구현하기 위해 개발자는 여러 데이터를 확인하고 논리 판단을 통해 어떠한 결과를 내는 코드를 작성하는 것이다. 혼자 개발한다면 코드가 복잡하든, 로직이 조금 꼬여있든, 나만 이해할 수 있는 애매한 명명의 변수를 사용하든 전혀 상관없다. 하지만 한 조직에 속해 개발하는 경우 우리는 팀으로 일하게 되며 내가 해당 업무를 떠나 다른 동료에게 넘겨주는 것이 일반적이다. 따라서 다른 사람이 이해하기 쉬운 코드를 명료하게 작성하는 것이 매우 중요한데 멘딕스는 이러한 부분을 시각화된 마이크로플로우로 해결하고 있는 것이다. 비단 개발자 뿐만 아니라 비즈니스 ..
처음 상태에서 모두 동일한 색인지를 확인한 후 그렇지 않다면 1~4사분면으로 시작점을 달리하여 재귀를 진행하도록 구현했다. 해당 범위 내에서 첫 수를 저장하고 달라진다면 다시 길이를 반으로 줄이고 다시 재귀를 돌도록 진행해서 같은 수로 작성된 정사각형인 경우에만 정답 배열에 더해주었다. 처음에는 1~4사분면 순회를 각각 작성했는데 가만히 보니 그냥 재귀의 시작점인 행렬 값을 바꿔주면 되는 것이라서 간단히 작성할 수 있었다. 재귀에 더더더 익숙해지면 좋겠다! import java.io.BufferedReader;import java.io.IOException;import java.io.InputStreamReader;import java.util.Arrays;import java.util.StringTok..
1. 카테고리별 상품 개수 구하기1) SUBSTRING을 활용하면 (컬럼, 시작인덱스, 끝인덱스)의 형식으로 작성하여 문자열을 일부 추출할 수 있다. SELECT SUBSTRING(PRODUCT_CODE, 1 ,2) AS CATEGORY, COUNT(PRODUCT_ID) AS PRODUCTS FROM PRODUCTGROUP BY SUBSTRING(PRODUCT_CODE, 1 ,2)ORDER BY CATEGORY
페이지에 객체로 전달되거나 리스트 뷰에 데이터를 띄우기 위해서 도메인 모델로 엔티티를 작성하고 연결하는 방식은 이전 Beginner 과정에서 활용해봤다. 하지만 여기서 더 나아가 중첩된 데이터(Nested data)를 사용해보자.중첩된 데이터라고 축약해 표현되어 있는데 어떠한 상황에서 사용되는지 아래 멘딕스 개발 화면과 함께 설명하고자 한다. 먼저 강의 관련 서비스를 제공하는 어플리케이션을 개발하며 과정과 강의장소, 강사, 교육생 엔티티가 존재하고 과정, 장소, 강사 엔티티와 연결된 훈련 이벤트가 존재한다. 이 때 한 교육생이 특정 교육 훈련과정에 등록한다고 가정해보자. 그럼 이 등록과 관련된 속성은 훈련 과정이나 교육생 엔티티에 포함되어야 할까?아니다 위의 registration 엔티티와 같이 정보 객..
멘딕스로 개발하기 적합한 프로젝트 대표 유형1. 요구사항이 명확하지 않으며 개발 프로세스 중에 유연하게 비즈니스 사항이 적용되어야 하는 프로젝트2. 데스크탑, 모바일, 태블릿의 멀티 채널이 필요한 애플리케이션3. 작게 시작하지만 확장이 반드시 필요한 어플리테이션(변동 가능성 높은 경우) 참고. 적합하지 않은 개발 프로젝트 유형- 게임, 수학적 계산이 많은 경우, 동시 사용자가 10,000 이상인 웹, 동시 사용자가 100,000인 모바일, 주요 목표가 데이터 시각화인 경우, 주요 목적이 비즈니스 가치 및 로직 추가가 아닌 애플리케이션 간 연결인 경우 등
처음에는 문제 그대로 숫자를 배열 만든 후, 재귀를 통해 수를 만들어내고 (1의 자리 수부터 최대 길이 수까지) 해당 수가 소수인지를 판별하려 했다. 하지만 그 대신 소수일 가능성이 있는 2~9999999까지 수를 순회하며 소수 여부를 판별하고 해당 수를 내가 가진 숫자 풀에서 만들 수 있는지 판별하는 방식으로 구현했다. 여기서 소수 여부를 판별할 때 2부터 타겟 숫자의 제곱근까지의 수로 나누어 떨어지는지 확인하는데 타겟 수 자체가 아닌 그 수의 제곱근까지만 보는 이유는 target이 될 수 있는 가능한 수는 target의 제곱근 * target의 제곱근이기 때문에 이보다 커지면 해당 수를 넘는 값이 나오게 된다. 둘 중 한 수가 target의 제곱근보다 크다면 나머지 한 수는 반드시 target의 제곱..
멘딕스에서는 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를 클릭하면 새로운 속성을 추..