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
Azure Logic Appsにおける リファクタリング
Search
Sponsored
·
Ship Features Fearlessly
Turn features on and off without deploys. Used by thousands of Ruby developers.
→
Recruit Technologies
March 29, 2019
Technology
750
0
Share
Azure Logic Appsにおける リファクタリング
2019/3/29 Azure DevOps Tokyo, Japan 3rd strikeでの、瀧田の講演資料になります
Recruit Technologies
March 29, 2019
More Decks by Recruit Technologies
See All by Recruit Technologies
障害はチャンスだ! 障害を前向きに捉える
rtechkouhou
1
770
Flutter移行の苦労と、乗り越えた先に得られたもの
rtechkouhou
3
12k
ここ数年間のタウンワークiOSアプリのエンジニアのチャレンジ
rtechkouhou
1
1.6k
大規模環境をAWS Transit Gatewayで設計/移行する前に考える3つのポイントと移行への挑戦
rtechkouhou
1
2k
【61期 新人BootCamp】TOC入門
rtechkouhou
3
42k
【RTC新人研修 】 TPS
rtechkouhou
1
42k
Android Boot Camp 2020
rtechkouhou
0
42k
HTML/CSS
rtechkouhou
10
52k
TypeScript Bootcamp 2020
rtechkouhou
9
46k
Other Decks in Technology
See All in Technology
AIエージェントの支払い基盤 AgentCore Payments概要
kmiya84377
2
200
クラウドからエッジまで ~ 1,700台を支える監視設計~
optfit
0
110
エンタープライズの厳格な制約を開発者に意識させない:クラウドネイティブ開発基盤設計/cloudnative-kaigi-golden-path
mhrtech
0
440
セキュリティ対策、何からはじめる? CloudNative環境の脅威モデリングと リスク評価実践入門 #cloudnativekaigi
varu3
5
980
既存プロダクトQAから新規プロダクトQAへ
ryotakahashi
0
150
Purview Endpoint DLP 動かしてみた
kozakigh
0
440
サンプリングは「作る」のか「使う」のか? 分散トレースのコストと運用を両立する実践的戦略 / Why you need the tail sampling and why you don't want it
ymotongpoo
4
190
Oracle AI Database@Azure:サービス概要のご紹介
oracle4engineer
PRO
6
1.7k
R&D 祭 2024 UE5で絵コンテ・作画の制作支援ツールをつくる話
olmdrd
PRO
0
180
2026-05-14 要件定義からソース管理まで!IBM Bob基礎ハンズオン
yutanonaka
0
160
AI全盛の今だからこそ、あえてもう一度振り返るAPIの基礎
smt7174
3
110
AWSアップデートから考える継続的な運用改善
toru_kubota
2
290
Featured
See All Featured
Git: the NoSQL Database
bkeepers
PRO
432
67k
Become a Pro
speakerdeck
PRO
31
5.9k
Prompt Engineering for Job Search
mfonobong
0
300
世界の人気アプリ100個を分析して見えたペイウォール設計の心得
akihiro_kokubo
PRO
70
39k
Designing Experiences People Love
moore
143
24k
The Psychology of Web Performance [Beyond Tellerrand 2023]
tammyeverts
49
3.4k
Data-driven link building: lessons from a $708K investment (BrightonSEO talk)
szymonslowik
1
1.1k
Hiding What from Whom? A Critical Review of the History of Programming languages for Music
tomoyanonymous
2
810
The Pragmatic Product Professional
lauravandoore
37
7.3k
職位にかかわらず全員がリーダーシップを発揮するチーム作り / Building a team where everyone can demonstrate leadership regardless of position
madoxten
62
54k
Bridging the Design Gap: How Collaborative Modelling removes blockers to flow between stakeholders and teams @FastFlow conf
baasie
0
550
Building the Perfect Custom Keyboard
takai
2
760
Transcript
Azure Logic Appsにおける リファクタリング 株式会社リクルートテクノロジーズ 瀧田直斗 2019年3月29日 Azure DevOps Tokyo
Japan 3rd strike
目次 • 自己紹介 • Azure Logic Appsとは • カオスになっていくLogicApps •
リファクタリング方法 • リファクタリング後とテスト方法 2 (C) Recruit Technologies Co., Ltd. All rights reserved.
自己紹介 瀧田 直斗 株式会社リクルートテクノロジーズ ITソリューション本部 インフラソリューション部 経歴 2011〜2016 製薬業界様向けのIT会社 -
営業支援システムのインフラ全般構築担当 2016/9〜 リクルートテクノロジーズ入社 - 商用インフラと社内インフラを担当 最近の技術興味 ・Linuxカーネル、Docker、Kubernetes、GoLang ・データ操作,ログまわりが好き ELS、fluentd/embulk、SQL、・・・ 3 (C) Recruit Technologies Co., Ltd. All rights reserved.
Azure Logic Appsとは Azure Logic Appsとは システムやサービス、アプリケーション間をつなぐAzure上のサービス。 GUIで設定可能で、ノンプログラミングでアプリケーションを構築できる。 サーバレスなのでサーバメンテナンスなどの運用は発生しない。 4
(C) Recruit Technologies Co., Ltd. All rights reserved. + Office365やSalesforceなどの200を超 えるコネクタがあり、それぞれイベント をトリガーとして実行できる。 またスケジュール実行やHTTPで受信し たら実行することもできる。 Azure Functionを実行、SQL Serverか らレコードを取得するといったアクショ ンの他、条件文やswitch文、ループなど のフォロー制御もできる。 処理結果をSlackへ通知したり、メール を送信したり、DBへレコードを追加した りなどを行う。
カオスになっていくLogicApps 便利だけど・・・ GUIで簡単に構築できるため、 調子に乗って作っていくとカオスになってくる・・・。 5 (C) Recruit Technologies Co., Ltd.
All rights reserved.
カオスになっていくLogicApps カオスになると・・・ 追加や変更、テストが大変・・・! 例えば、途中のロジックをテストしたくても頭から実行しないとテスト できない。 6 (C) Recruit Technologies Co.,
Ltd. All rights reserved. 毎回トリガーを起動し いと 途中のロジックがテス トできない! テストしたいロジック トリガー
リファクタリング方法 単体機能で分割を考える 単体機能ごとに分割してリファクタリング! それぞれのロジックが依存しないで呼び出せるように変更する。 7 (C) Recruit Technologies Co., Ltd.
All rights reserved. それぞれ別のLogicAppsに 切り出す! 処理1 処理2 処理3
リファクタリング方法 HTTP要求/応答を利用して機能単位に分割しよう! 例えば以下の様にHTTPでパラメータを受信して、処理結果をレスポンス として応答する。 8 (C) Recruit Technologies Co., Ltd.
All rights reserved. 受信するパラメータを要求本文 (Body)にJSON型で設定!
リファクタリング後とテスト方法 リファクタリング後! とってもシンプルに! 9 (C) Recruit Technologies Co., Ltd. All
rights reserved.
リファクタリング後とテスト方法 単体テスト方法 それぞれのLogicAppsにPOSTでパラメータを送信すればOK! 10 (C) Recruit Technologies Co., Ltd. All
rights reserved. パラメータ ※Postmanを利用
おしまい ご清聴ありがとうございました! 11 (C) Recruit Technologies Co., Ltd. All rights
reserved.