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
Build a PWA with Azure ML built-in
Search
Sponsored
·
Your Podcast. Everywhere. Effortlessly.
Share. Educate. Inspire. Entertain. You do you. We'll handle the rest.
→
Michelle Sandford
January 15, 2022
Programming
0
160
Build a PWA with Azure ML built-in
This is just the code editing of the template PWA scaffolded with VUE
Michelle Sandford
January 15, 2022
Tweet
Share
More Decks by Michelle Sandford
See All by Michelle Sandford
Keynote for Programmable.Tech 2024
msandfor
0
63
Amplifying Your Tech Career: Showcasing Your Work and Building Your Brand
msandfor
0
53
Build a Static Web App (PWA) with Custom Vision
msandfor
1
270
LiveOps_Best_Practices.pdf
msandfor
0
83
Techorama - Rise of the Tech Influencer
msandfor
0
170
Has your puppy joined the dark side?
msandfor
0
260
¿Tu cachorro se ha unido al lado oscuro?
msandfor
0
100
Well Connected
msandfor
0
83
Show Your Work - Using Data Science to Peek inside the Black Box
msandfor
0
75
Other Decks in Programming
See All in Programming
CopilotKit + AG-UIを学ぶ
nearme_tech
PRO
1
110
LangChain4jとは一味違うLangChain4j-CDI
kazumura
1
120
AIコーディングの理想と現実 2026 | AI Coding: Expectations vs. Reality 2026
tomohisa
0
770
AI巻き込み型コードレビューのススメ
nealle
2
2.4k
CSC307 Lecture 13
javiergs
PRO
0
310
AI主導でFastAPIのWebサービスを作るときに 人間が構造化すべき境界線
okajun35
0
400
PostgreSQL を使った快適な go test 環境を求めて
otakakot
0
370
今、アーキテクトとして 品質保証にどう関わるか
nealle
0
190
Head of Engineeringが現場で回した生産性向上施策 2025→2026
gessy0129
0
200
AI活用のコスパを最大化する方法
ochtum
0
110
AWS Infrastructure as Code の新機能 2025 総まとめ 〜SA 4人による怒涛のデモ祭り〜
konokenj
10
2.8k
Railsの気持ちを考えながらコントローラとビューを整頓する/tidying-rails-controllers-and-views-as-rails-think
moro
4
350
Featured
See All Featured
Primal Persuasion: How to Engage the Brain for Learning That Lasts
tmiket
0
270
Efficient Content Optimization with Google Search Console & Apps Script
katarinadahlin
PRO
1
350
SEO Brein meetup: CTRL+C is not how to scale international SEO
lindahogenes
0
2.4k
Redefining SEO in the New Era of Traffic Generation
szymonslowik
1
230
So, you think you're a good person
axbom
PRO
2
1.9k
Darren the Foodie - Storyboard
khoart
PRO
3
2.6k
Rails Girls Zürich Keynote
gr2m
96
14k
The State of eCommerce SEO: How to Win in Today's Products SERPs - #SEOweek
aleyda
2
9.7k
Thoughts on Productivity
jonyablonski
75
5.1k
Tell your own story through comics
letsgokoyo
1
830
The B2B funnel & how to create a winning content strategy
katarinadahlin
PRO
1
290
The Web Performance Landscape in 2024 [PerfNow 2024]
tammyeverts
12
1k
Transcript
Has Your Puppy Joined The Dark Side?
Side-by-side deck – How to Build a PWA with Azure
ML Built-in
Scaffold the App
Has Your Puppy Joined the Dark Side?
App.vue
Display an image and a button to switch it
Create a Placeholder for the data <script> export default {
name: "DetectImage", props: { msg: String }, data() { return { image: 0, numImages: 21 }; }, </script>
Return the index of an image <script> export default {
name: "DetectImage", props: { msg: String }, data() { return { image: 0, numImages: 21 }; }, computed: { getImgIndex() { return this.image.toString(); }, disable() { if (this.image == this.numImages) { return true; } else return false; } }, </script>
Capture user interaction computed: { getImgIndex() { return this.image.toString(); },
disable() { if (this.image == this.numImages) { return true; } else return false; } }, methods: { next() { this.image++; this.predictions = []; setTimeout(this.predict, 500); } } </script>
Bling bling baby <style scoped> h3 { margin: 40px 0
0; } .image { min-height: 500px; max-height: 500px; max-width: 100%; } .button { width: 200px; height: 50px; border-radius: 5px; background-color: blueviolet; color: white; font-size: 20pt; margin: 10px; } .button:disabled, .button[disabled] { border: 1px solid #999999; background-color: #cccccc; color: #666666; } </style>
json "dependencies": { "core-js": "^3.6.5", "register-service-worker": "^1.7.1", "customvision-tfjs": "^1.0.1", "vue":
"^3.0.0" }, "devDependencies": { "@vue/cli-plugin-babel": "~4.5.0", "@vue/cli-plugin-eslint": "~4.5.0", "@vue/cli-plugin-pwa": "~4.5.0", "@vue/cli-service": "~4.5.0", "@vue/compiler-sfc": "^3.0.0", "@vue/eslint-config-standard": "^5.1.2", "babel-eslint": "^10.1.0", "eslint": "^6.7.2", "eslint-plugin-import": "^2.20.2", "eslint-plugin-node": "^11.1.0", "eslint-plugin-promise": "^4.2.1", "eslint-plugin-standard": "^4.0.0", "raw-loader": "^4.0.0", "webpack-cli": "^3.3.10" "eslint-plugin-vue": "^7.0.0" },
customvision-tfjs
Web.config.js
Data elements
Async mounted
Async predict
Async predict
Web.config
Has Your Puppy Joined The Dark Side?