Associateは入門レベルの試験で、この試験の合格が他の試験の受験資格にもなっています。
Reactiveとついている通り、Reactive Web App開発の基礎的な知識を問われる試験。
試験問題は、
https://www.outsystems.com/learn/certifications/
の、「Associate Reactive Developer (OutSystems 11)」項目のリンク「Exam Details」でダウンロードできる資料から。解凍したら、Japaneseフォルダにあるファイル「Associate Reactive Developer Sample Exam - JP.pdf」を開いてください。
Associate Reactive Developerのサンプル問題について解説 1/4(#1-#5)
Associate Reactive Developerのサンプル問題について解説 2/4(#6-#10)
Associate Reactive Developerのサンプル問題について解説 3/4(#11-#15)
Associate Reactive Developerのサンプル問題について解説 4/4(#16-#20)
#11 画面のウィジェット(Dropdown)
Dropdown Widgetの基本的な使い方は、
- Listプロパティ:選択肢を持つList型の変数を設定。一般的にはAggregateやData Actionの戻り値
- Options Textプロパティ:List変数の各レコードの属性から、実行時にUIに表示するものを設定
- Options Valueプロパティ:List変数の各レコードの属性から、UI上でその選択肢が選ばれたときに、Variableに値として設定するものを設定
設問はOptions Textの設定を聞いていて、UI上では色の名前を出したい。
紐付けているListがStatic Entityで、しかも属性がデフォルトのまま。この場合、Label属性に表示するべきテキストが入っているはず。
よって選択肢D(Color.Label)が正解。
#12 画面のウィジェット(Button)
ButtonのOn Clickプロパティに設定できるのは、
画面(選択肢A)、Client Action(選択肢B。ただし設定できるのはScreen Action)、外部サイト(選択肢D。UI Flow内に作るExternal Siteを設定する。ビルトインのテンプレートから作ったアプリケーションにはRedirectToURLというのが最初からある)
が該当します。
設問は設定できないものを聞いているので選択肢C(ブロック)が正解。
#13 ロジックフローと例外処理処理(Switch)
Action FlowにおけるSwitchの使い方についての問題。
SwitchはIfに似ていますが、分岐が2つではなく、可変の複数個になります。
Switchから出ている線についているテキストが「1(N>0)」となっていますが、これは、この分岐は「N>0」の結果がTrueであるときに選択されるものであることを示している。
先頭の数字(この場合は1)は、分岐判定の優先順位を示している。この数字が若い順に条件をチェックして、最初にTrue出会った分岐へ進みます。
ではどの条件にも合致しなかった場合は、というと、「Otherwise」の分岐へ進む。
Switchの各分岐を見ると、
- N>0のとき、abs=N
- N<0のとき、abs=N*-1 (符号を逆転させている)
- それ以外(つまりN=0)のとき、abs=0
であるから、N=0のとき、abs=0であるから選択肢C(入力パラメータ(N)が0のとき。)が正しいですね。
#14 ロジックフローと例外処理処理(例外)
問題の条件に従って、フローを追ってみましょう。
- 「GetEmployeeById Aggregateがレコードを返さなかった場合」、GetEmployyById.EmptyはTrueになります(結果が空であることを判断するためのプロパティなので)。
- つまり、三角形のアイコン(Raise Exception)で「RecordNotFound」ExceptionをTrigger。
- Exception Handlerは2つ置いてありますが、より具体的なハンドラが優先して機能します。この場合は、RecordNotFoundのHandlerに到達
選択肢B(RecordNotFoundフローが実行される。)が正解ですね。
#15 クライアントアクションとサーバーアクション(クライアントアクション)
Functionプロパティは、Actionを式の中で呼び出せるようにするというプロパティです。
このプロパティをYesに設定したActionはUI上のExpressionや、Action Flow中の式などで以下のように書くことができます。
AddDays(CurrDateTime(), 1)
Output Parameterは1つでないといけません。
各選択肢を見ていきます。
A:○。上の説明の通り、出力パラメータは1つに限定される
B:×。Noにすると他のモジュールで使えなくなるのは、Publicプロパティです
C:×。Publicかどうかと、Functionかどうかは独立の設定
D:×。特にそういう成約はなく、Action Flowの中で普通のAction呼び出しとして、あるいは式の中で使えます
よって正解は選択肢A(FunctionプロパティをYesにすると、アクションの出力パラメータが1つのみに制限される。)。