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
62
Amplifying Your Tech Career: Showcasing Your Work and Building Your Brand
msandfor
0
51
Build a Static Web App (PWA) with Custom Vision
msandfor
1
260
LiveOps_Best_Practices.pdf
msandfor
0
81
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
99
Well Connected
msandfor
0
80
Show Your Work - Using Data Science to Peek inside the Black Box
msandfor
0
73
Other Decks in Programming
See All in Programming
CSC307 Lecture 06
javiergs
PRO
0
680
余白を設計しフロントエンド開発を 加速させる
tsukuha
7
2.1k
AIエージェントのキホンから学ぶ「エージェンティックコーディング」実践入門
masahiro_nishimi
5
400
なるべく楽してバックエンドに型をつけたい!(楽とは言ってない)
hibiki_cube
0
140
CSC307 Lecture 02
javiergs
PRO
1
770
Smart Handoff/Pickup ガイド - Claude Code セッション管理
yukiigarashi
0
130
CSC307 Lecture 09
javiergs
PRO
1
830
AWS re:Invent 2025参加 直前 Seattle-Tacoma Airport(SEA)におけるハードウェア紛失インシデントLT
tetutetu214
2
110
Architectural Extensions
denyspoltorak
0
280
コマンドとリード間の連携に対する脅威分析フレームワーク
pandayumi
1
450
それ、本当に安全? ファイルアップロードで見落としがちなセキュリティリスクと対策
penpeen
7
3.8k
AIフル活用時代だからこそ学んでおきたい働き方の心得
shinoyu
0
130
Featured
See All Featured
"I'm Feeling Lucky" - Building Great Search Experiences for Today's Users (#IAC19)
danielanewman
231
22k
Everyday Curiosity
cassininazir
0
130
B2B Lead Gen: Tactics, Traps & Triumph
marketingsoph
0
53
Lessons Learnt from Crawling 1000+ Websites
charlesmeaden
PRO
1
1.1k
Optimising Largest Contentful Paint
csswizardry
37
3.6k
Avoiding the “Bad Training, Faster” Trap in the Age of AI
tmiket
0
75
The SEO Collaboration Effect
kristinabergwall1
0
350
Distributed Sagas: A Protocol for Coordinating Microservices
caitiem20
333
22k
Stewardship and Sustainability of Urban and Community Forests
pwiseman
0
110
Why Our Code Smells
bkeepers
PRO
340
58k
Impact Scores and Hybrid Strategies: The future of link building
tamaranovitovic
0
200
A Tale of Four Properties
chriscoyier
162
24k
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?