Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
OutSystems愛知ユーザー会#3使用 回答例
Search
Sponsored
·
Your Podcast. Everywhere. Effortlessly.
Share. Educate. Inspire. Entertain. You do you. We'll handle the rest.
→
out-developers
January 29, 2020
Programming
250
0
Share
OutSystems愛知ユーザー会#3使用 回答例
out-developers
January 29, 2020
More Decks by out-developers
See All by out-developers
OutSystemsベストプラクティス紹介
outdevelopers
1
1.1k
Other Decks in Programming
See All in Programming
Exploring RuboCop with MCP
koic
0
690
Vibe NLP for Applied NLP
inesmontani
PRO
0
420
iOS機能開発のAI環境と起きた変化
ryunakayama
0
180
Oxlintとeslint-plugin-react-hooks 明日から始められそう?
t6adev
0
260
Vibe하게 만드는 Flutter GenUI App With ADK , 박제창, BWAI Incheon 2026
itsmedreamwalker
0
550
Coding as Prompting Since 2025
ragingwind
0
830
年間50登壇、単著出版、雑誌寄稿、Podcast出演、YouTube、CM、カンファレンス主催……全部やってみたので面白さ等を比較してみよう / I’ve tried them all, so let’s compare how interesting they are.
nrslib
4
780
Nuxt Server Components
wattanx
0
280
Offline should be the norm: building local-first apps with CRDTs & Kotlin Multiplatform
renaudmathieu
0
210
GNU Makeの使い方 / How to use GNU Make
kaityo256
PRO
16
5.6k
Swift Concurrency Type System
inamiy
0
520
Xdebug と IDE による デバッグ実行の仕組みを見る / Exploring-How-Debugging-Works-with-Xdebug-and-an-IDE
shin1x1
0
380
Featured
See All Featured
The innovator’s Mindset - Leading Through an Era of Exponential Change - McGill University 2025
jdejongh
PRO
1
160
Docker and Python
trallard
47
3.8k
VelocityConf: Rendering Performance Case Studies
addyosmani
333
25k
Leveraging Curiosity to Care for An Aging Population
cassininazir
1
220
Lessons Learnt from Crawling 1000+ Websites
charlesmeaden
PRO
1
1.2k
コードの90%をAIが書く世界で何が待っているのか / What awaits us in a world where 90% of the code is written by AI
rkaga
61
43k
How to Create Impact in a Changing Tech Landscape [PerfNow 2023]
tammyeverts
55
3.3k
実際に使うSQLの書き方 徹底解説 / pgcon21j-tutorial
soudai
PRO
199
73k
SEOcharity - Dark patterns in SEO and UX: How to avoid them and build a more ethical web
sarafernandez
0
170
New Earth Scene 8
popppiees
3
2.1k
Building Better People: How to give real-time feedback that sticks.
wjessup
370
20k
Visual Storytelling: How to be a Superhuman Communicator
reverentgeek
2
510
Transcript
回答例
使用していない変数、Entityは削除する • GroupEntity • TaskEntity: Attrebute GroupId • home :ローカル変数Count
• Tasks Preparation:GetGroupAggregate • ServerActions: GetTasksByStatus
命名規則に沿った内容にする • 意味が伝わりやすい名前にする – WebScreen : Detail→TaskDetail – InputParameter :
commentInsert Task → TaskId • パスカルケースを使用する – WebScreen : home → Home commentInsert → CommentInsert • 外部キーには「Id」というサフィックスを付ける – Entity : Comment User → UserId Task → TaskId Task Priority → PriorityId
ハードコーディングは避ける • home:Preparationでのデータ取得 GetTasksTodo
ハードコーディングは避ける • home:Preparationでのデータ取得 GetTasksdoing,GetTasksComplete
ハードコーディングは避ける • Tasks の優先度アイコンの表示設定
SQLよりはAggregateを使う • home:PreparationGetTasksdoing,GetTasksComplete GetTasksTodoと同じ方法で代替可能
クエリの数を最小限にする • home:ChartStatusCountはForEachを使わなくても取得可能
クエリの数を最小限にする • home:ChartStatusCountはForEachを使わなくても取得可能
再利用化する • タスク一覧にある優先度アイコンはhomeにもTasksにもあるの でWebBlockにまとめる – InputParameterによってアイコンを変えるWebBlockを作る – home、TasksにWebBlockを配置
再利用化する • タスク一覧にある優先度アイコンはhomeにもTasksにもあるの でWebBlockにまとめる – InputParameterによってアイコンを変えるWebBlockを作る – home、TasksにWebBlockを配置
再利用化する(ロジック)① • homePreparationの GetTask~はStatus毎の件数 を出してExpressionに表示して いる
再利用化する(ロジック)① • homePreparationの GetTask~はStatus毎の件数 を出してExpressionに表示して いる
再利用化する(ロジック)② • StatusId:InputParameter 件数:OutputParameterの ServerActionを作成 (FunctionはYesにする)
再利用化する(ロジック)③ • ExpressionValueにServerActionが 選択できるように
モジュールを分割する① モジュールをCloneする以外の手順 ①データを保持するモジュールを作成 ②分割前のモジュールのEntityを参照する ③参照元のEntityのコピーを作成する
モジュールを分割する② ③参照元のEntityのデータをコピーしたEntityに保存する アクションを作る ④③のアクションを実行する(タイマーなどで) ⑤コピーしたEntityを参照して動作確認できたら 分割前のモジュールのEntityを削除する
その他細かい箇所 • Is Mandatoryプロパティを忘れずに設定する – Entity:Task Titleや Comment:Text (Formも同様に設定する) •
サイトプロパティはロジック内で書き換えない – Tasks:PreparationのFileter(Site.Tasks_SearchStatusId) • 表示、非表示の定義の仕方は統一したほうがよい – Commentformの表示・非表示だけ プロパティ:Displayに設定している