Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Web Developer Specialist (ODC)

Junji Watanabe
February 26, 2025
53

Web Developer Specialist (ODC)

Junji Watanabe

February 26, 2025
Tweet

Transcript

  1. Web Developer Specialist (ODC) OutSystems東京開発者コミュニティ 2025/02/26 OutSystems MVP 渡部 潤司

    : https://qiita.com/jyunji_watanabe : https://twitter.com/JyunjiW : https://www.linkedin.com/in/watanabejyunji/ Qiita X LinkedIn
  2. 概要 • Specializationの試験 • Web Developer Specialist、Architecture Specialist、2025/02では未発表のもう1 つのSpecializationを取ると、Professionalレベルの認定を受けることができる •

    O11の同名試験の認定を受けていて、対応するコースを修了すると自動認定されるらしい (私はされなかったが) • 対策用のオンラインコースとしてGet Ready for the Web Developer Specialist Exam がある
  3. 必要な対策 • (当然の内容ばかりだが)以下三点の対策 1. ドキュメント・公式動画を、学生時代の試験勉強くらいの熱意で読み込んで記憶しておく 2. 試験範囲については、実際のソフトウェア上で操作しておく、一部の問題は実務で触ぅておくことも必要なレベルの 出題がある 3. 一般のシステム開発者としての知識・判断力

    • 公式のサンプル問題(上で紹介したコース内にある)を解き、出題される問題のレベルと細か さを把握する • ここでは、問題は、(時間の都合で)以下の基準で1問ずつ抜粋してみていく 1. 知識があれば解ける問題 2. 知識に加えて操作・実務経験が問われる問題 3. 設計的な判断が必要とされる問題
  4. 知識問題の例:3 Asynchronous Processes ②Publicにすれば、他のAppからもサブスクライブできる →正しい。右のEventの定義例参照。Publicプロパティがある ③Eventを公開しているAppは他のAppのEventをサブスクライブできない →特にこういう決まりはない。他の要素と同じく、Eventを公開しているから と言って他のAppのEventを参照できないということはない。Server Actionを公開するLibrary が他のLibraryが公開するServer

    Actionを利用できるのと同じ。 ドキュメントにははっきり書いていないと思うが、ODC Studioの開発をしていて、参照関係を操作 する経験があれば判断はできるはず。 ④Eventはリトライの仕組みを持たない →ある。同じドキュメントに記載あり。「ODC retries up to 10 times in case the delivery of a back-end event fails.」
  5. 操作経験問題の例:4 Work in Teams Q 二人の開発者が同じAppを開発している。二人が同じRevisionを開いていた。一人 (Aとす る) がButtonの幅を変更してPublishし、もう一人 (B)

    が同じ箇所を変更してPublishしたら何 が起きるか。 選択肢の検討:知識でも解けることが多いが、操作経験があった方が理解しやすい ①BのODC StudioにTrue Changeエラーが出る ②Bはconflict (競合、OutSystemsのドキュメントでは衝突と書かれているかもしれない) の解 決を行わなければならない ③Aの変更分を除いて、BのバージョンがPublishされる ④Bのバージョンは捨てられ、BのODC StudioにはAがPublishしたバージョンが表示される
  6. 設計問題の例:9 Best Practices - Queries Q 以下の条件でCarの情報を抽出しExcelファイルを出力したい。提示された設計案に対し改 善案を検討する問題。 - Excelに出力する列:Maker

    name, VIN, Mileage, Year - Makerでソートする - Carの情報は全てCar Entityに含まれる - ただし、Makerについては別途マスタが存在する。CarにはMakerを参照するMakerIdがある ↑は問題文を整理したもの。この時点で、「CarとMakerをMakerIdで結合し、MakerのName でソートしたものをAggregateで取得。結果をRecordListToExcelでExcelファイルに変換すれ ばよさそう」と考えられると良い。ドキュメントを読み、幾らかの実践経験があれば恐らく可能
  7. 設計問題の例:9 Best Practices - Queries 以上見てきたように、設計問題では、以下全てが必要 - ドキュメントに書かれている知識の把握 - 実践経験に基づく判断

    - 設計情報を読み解き判断する 選択肢を検討すると ①×:ベストプラクティスに則っている。可能な場所では自動で最適化されるAggregateを使っている → ここまで見てきたようにベストプラクティスに則っていない ②×:2番目のAggregateをServer Actionに分離し、必要な属性だけをOutputに出す → 別の ベストプラクティスで「Aggregate1つだけのServer Action、EntityをOutput Parameterに出す」の を避けると言うものがあるが、それと混同させようとしている? ③◦:2つのAggregateを、1つのAggregateにまとめる(CarとMakerをジョインする) ④×:AggregateをそれぞれSQLに置き換える → ループ内でクエリをかける問題が治っていない
  8. まとめ(と注意) 1. Web Developer Specialist (ODC)はAssociateの次におすすめの認定試験 2. Associateでは対象にならなかった、少し高度な話題や、周辺的な開発知識が出題 3. 対策は他の試験と同じく

    o ドキュメントを読む o 操作・実務経験を積む o 設計スキルを磨く 補足:個人的な見解として、サンプル問題は本番の問題より文章や設定が明確で、問題文や 設定に十分な回答根拠を見つけられることが多い。つまり本番では、十分な根拠がなく明確な回 答ができない問題が結構ある → 必要な正答率(70%)に余裕を持てるように準備したほうが 良い