5
2

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

[OutSystems]Associate Reactive Developerのサンプル問題について解説 3/4(#11-#15)

Last updated at Posted at 2021-06-13

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に値として設定するものを設定

image.png

設問は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の各分岐を見ると、

  1. N>0のとき、abs=N
  2. N<0のとき、abs=N*-1 (符号を逆転させている)
  3. それ以外(つまりN=0)のとき、abs=0

であるから、N=0のとき、abs=0であるから選択肢C(入力パラメータ(N)が0のとき。)が正しいですね。

#14 ロジックフローと例外処理処理(例外)
問題の条件に従って、フローを追ってみましょう。

  1. 「GetEmployeeById Aggregateがレコードを返さなかった場合」、GetEmployyById.EmptyはTrueになります(結果が空であることを判断するためのプロパティなので)。
  2. つまり、三角形のアイコン(Raise Exception)で「RecordNotFound」ExceptionをTrigger。
  3. 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つのみに制限される。)。

5
2
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
5
2

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?