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
Panty Patch WebApp
Search
Sponsored
·
Your Podcast. Everywhere. Effortlessly.
Share. Educate. Inspire. Entertain. You do you. We'll handle the rest.
→
joniburn
August 20, 2019
1.5k
1
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
Panty Patch WebApp
パンツAPIを叩くウェブアプリを作った話(LT用資料)
joniburn
August 20, 2019
More Decks by joniburn
See All by joniburn
Getting Started with VRChat Udon
joniburn
0
1.4k
VRChat World Optimization
joniburn
0
1.8k
Customize Avatar Textures using Clip Studio Paint
joniburn
0
1.6k
VRChat VRC_Panorama Slide System
joniburn
2
2.2k
VRChat Avatar Optimization
joniburn
1
3.3k
Featured
See All Featured
Balancing Empowerment & Direction
lara
6
1.2k
Navigating Algorithm Shifts & AI Overviews - #SMXNext
aleyda
1
1.3k
Utilizing Notion as your number one productivity tool
mfonobong
4
320
My Coaching Mixtape
mlcsv
0
140
How to train your dragon (web standard)
notwaldorf
97
6.7k
Let's Do A Bunch of Simple Stuff to Make Websites Faster
chriscoyier
508
140k
Mozcon NYC 2025: Stop Losing SEO Traffic
samtorres
1
250
Design in an AI World
tapps
1
240
Code Review Best Practice
trishagee
74
20k
Hiding What from Whom? A Critical Review of the History of Programming languages for Music
tomoyanonymous
2
850
A brief & incomplete history of UX Design for the World Wide Web: 1989–2019
jct
2
390
Jamie Indigo - Trashchat’s Guide to Black Boxes: Technical SEO Tactics for LLMs
techseoconnect
PRO
0
160
Transcript
パンツAPIを叩く ウェブアプリを作った話 @joniburn
キッシュちゃんパンツパッチ • TenteEEEE (@tenteeeee_vrc) さんが 開発しているアプリ • 日替わりパンツをCCライセンスで公開
夏のある日…
夏のある日…
パンツAPI • https://pantie-patch.herokuapp.com/ • GET /api/convert/<model>/<path> • 例:GET /api/convert/mishe/0255.png 0255.png
変換後
そこにAPIがあったので
そこにAPIがあったので
そこにAPIがあったので
使ったもの(1) • Angular • Angular Material Angularはいいぞ
使ったもの(2) • GitHub Pages ◦ gh-pagesブランチにindex.htmlとかを配置 ◦ https://github.com/joniburn/quiche-pantie-patch-gui ◦ https://joniburn.github.io/quiche-pantie-patch-gui/
• CircleCI ◦ ビルドとGitHub Pagesへのデプロイを 自動化
ソースコード(抜粋) /** * 変換後パンツのURLを返す。 * * @param model 変換対象モデル *
@param path パンツのファイル名 * @param options 変換オプション */ convertedPantyUrl(model: string, path: string, options: {[key: string]: string}): string { const url = new URL(`${BASE_URL}/api/convert/${model}/${path}`); const params = url.searchParams; Object.entries(options).forEach((e) => { params.append(e[0], e[1]); }); return url.toString(); }
ソースコード(抜粋) /** * 現在選択しているパンツが表示範囲内に入るようにスクロールする */ focusCurrentPanty() { // 選択中の要素を取得 const
current = this.pantycards.find(elm => elm.nativeElement.dataset.path === this.path); if (!current) { return; } // スクロール const listTop = this.pantyList.nativeElement.getBoundingClientRect().top; const targetTop = current.nativeElement.getBoundingClientRect().top; this.pantyList.nativeElement.scrollBy(0, targetTop - listTop - 81); }
ソースコード(抜粋) @Component({ selector: 'qpp-root', templateUrl: './app.component.html', styleUrls: ['./app.component.scss'] }) export
class AppComponent implements OnInit { panties$: Observable<string[]>; allPanties$: Observable<string[]>; convertersList: [string, Converter][]; convertersMap: {[key: string]: Converter}; pantySize: 'small' | 'medium' | 'large' | 'original' = 'medium';
おわり 2019 パンツプログラミングの夏