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
写真と動画の部分的なアクセス権について
Search
カーキ
August 11, 2023
Technology
0
250
写真と動画の部分的なアクセス権について
カーキ
August 11, 2023
Tweet
Share
More Decks by カーキ
See All by カーキ
好きから始まるローカルキャリア
takarkiz
0
4
Composeで敷き詰めるUIを どうやって作るか
takarkiz
0
78
TaskStackBuilderの紹介
takarkiz
0
29
Gemini API でアプリをつくりたい!
takarkiz
0
190
名古屋で勉強会を主催する3つの理由
takarkiz
0
200
GitHub Issue を利用したチケット管理
takarkiz
0
100
Gitの仕組みを理解しよう
takarkiz
0
110
Jetpack Compose でやってイイこと・ダメなこと
takarkiz
2
580
もっとJetpackComposeと仲良くなる
takarkiz
0
320
Other Decks in Technology
See All in Technology
Rubyで作る論理回路シミュレータの設計の話 - Kashiwa.rb #12
kozy4324
1
320
堅牢な認証基盤の実現 TypeScriptで代数的データ型を活用する
kakehashi
PRO
2
240
Workflows から Agents へ ~ 生成 AI アプリの成長過程とアプローチ~
belongadmin
3
170
ObsidianをMCP連携させてみる
ttnyt8701
2
130
Devin(Deep) Wiki/Searchの活用で変わる開発の世界観/devin-wiki-search-impact
tomoki10
0
680
宇宙パトロール ルル子から考える LT設計のコツ
masakiokuda
2
110
生成AIをテストプロセスに活用し"よう"としている話 #jasstnano
makky_tyuyan
0
230
Amazon Q Developer for GitHubとAmplify Hosting でサクッとデジタル名刺を作ってみた
kmiya84377
0
3.5k
エンジニア採用から始まる技術広報と組織づくり/202506lt
nishiuma
8
1.7k
RubyOnRailsOnDevin+α / DevinMeetupJapan#2
ginkouno
0
770
工具人的一生: 開發很多 AI 工具讓我 慵懶過一生
line_developers_tw
PRO
0
260
「伝える」を加速させるCursor術
naomix
0
640
Featured
See All Featured
The Language of Interfaces
destraynor
158
25k
XXLCSS - How to scale CSS and keep your sanity
sugarenia
248
1.3M
Sharpening the Axe: The Primacy of Toolmaking
bcantrill
43
2.4k
Git: the NoSQL Database
bkeepers
PRO
430
65k
Measuring & Analyzing Core Web Vitals
bluesmoon
7
480
Stop Working from a Prison Cell
hatefulcrawdad
269
20k
Facilitating Awesome Meetings
lara
54
6.4k
Navigating Team Friction
lara
186
15k
Optimizing for Happiness
mojombo
379
70k
The Art of Programming - Codeland 2020
erikaheidi
54
13k
Unsuck your backbone
ammeep
671
58k
Dealing with People You Can't Stand - Big Design 2015
cassininazir
367
26k
Transcript
"OESPJE.FFUVQ/BHPZB!Ϡϑʔ໊ݹ5FDI.FFUVQίϥϘ "OESPJE͕དྷΔͧ ४උ͍͍͔ʁ ʮϝσΟΞͷ෦తͳΞΫηεݖʯʹؙ͍ͭͯͬͱཧղͯ͠උ͑ΔՆ
ࣗݾհ w ΧʔΩʢ9!LIBLJ@OHZʣ w גࣜձࣾελϝϯ w ϓϩμΫτ։ൃ෦ϞόΠϧΞϓϦ(ॴଐ w -JWFOVQ/BHPZBӡӦ w
ᰤࢠѪՈ🥟 w ՆΞϩϋͰग़ࣾ
قઅɺՆ
"OESPJE͕དྷΔʜʂ
ͦΖͦΖඋ͍͑ͯ͜͏
"OESPJE.FFUVQ/BHPZB!Ϡϑʔ໊ݹ5FDI.FFUVQίϥϘ ʮࣸਅͱಈըͷ෦తͳΞΫηεݖʯ ʹؙ͍ͭͯͬͱཧղ͢Δ
ʮ෦తͳΞΫηεݖʯͱ
ΞϓϦ͕ͷࣸਅಈը ΞΫηε͢Δͷʹඞཁͳݖݶ ࣸਅಈըͷΞΫηεݖ
ΞϓϦ͕ͷࣸਅಈը ΞΫηε͢Δͷʹඞཁͳݖݶ ࣸਅಈըͷΞΫηεݖ "OESPJEҎલ 3&"%@&95&3/"-@4503"(& "OESPJEΑΓ 3&"%@.&%*"@*."(&4 3&"%@.&%*"@7*%&0
෦తͳΞΫηεݖʹ͍ͭͯ ैདྷͷΞΫηεݖ ڐՄ σόΠε্ͷશͯͷࣸਅͱಈըͷϥΠϒϥϦͷશͳΞΫηεΛڐՄ ڐՄ͠ͳ͍ ͯ͢ͷΞΫηεΛڋ൱ ڐՄɾڋ൱ͷ͔̎͠ͳ͍
෦తͳΞΫηεݖʹ͍ͭͯ ৽͍͠Φϓγϣϯ͕Ճ /&8 ΞϓϦͰͷ༻ΛڐՄ͢ΔಛఆͷࣸਅͱಈըΛબ ࣸਅͱಈըΛબ ͯ͢ڐՄ σόΠε্ͷશͯͷࣸਅͱಈըͷϥΠϒϥϦͷશͳΞΫηεΛڐՄ ڐՄ͠ͳ͍ ͯ͢ͷΞΫηεΛڋ൱ Ϣʔβʔ͕બͨࣸ͠ਅͱಈըͷΈΞΫηεՄೳʹͳΔ
"OESPJE "OESPJE
"OESPJE Ϣʔβʔଆ͔ΒΞϓϦ͕ ΞΫηεՄೳͳϝσΟΞ ϑΝΠϧΛબͰ͖ΔΑ ͏ʹͳͬͨ
ͳͥʮ෦తͳΞΫηεʯ͕ඞཁ͔ (PPHMF*0ͷ֘ηογϣϯΑΓ ϢʔβʔͷϓϥΠόγʔΛकΔͨΊͷݖݶ 1SJWBDZ4FDVSJUZ ݩʑͷ"OESPJEͷݖݶͰɺڐՄ͞Εͨ߹ͯ͢ͷϝσΟΞϑΝΠϧ ͷΞΫηε͕ڐՄ͞Εͯ͠·͏ ηογϣϯಈըˠ
ͳͥʮ෦తͳΞΫηεʯ͕ඞཁ͔ ࣸਅબπʔϧΛ͏͜ͱΛڧ͓͘קΊ͠·͢ɻ wɺొ wબͨࣸ͠ਅಈըͷΈͷΞΫηεΛڐՄ͢Δπʔϧ wϢʔβʔͷݖݶ֬ೝෆཁ wϢʔβʔʹͱͬͯͷࣸਅબͷମݧมΘΒͳ͍ ࣸਅબπʔϧͱɺ
ͳͥʮ෦తͳΞΫηεʯ͕ඞཁ͔ ࣸਅબπʔϧΛ͏͜ͱΛڧ͓͘קΊ͠·͢ɻ wબͨࣸ͠ਅಈըͷΈͷΞΫηεΛڐՄ͢Δπʔϧ wϢʔβʔͷݖݶ֬ೝෆཁ wϢʔβʔʹͱͬͯͷࣸਅબͷମݧมΘΒͳ͍ ࣸਅબπʔϧͱɺ ࣸਅબπʔϧ ΞϓϦͷΞΫηεΛڐ͢ϝσΟΞϑΝΠϧબ
ͳͥʮ෦తͳΞΫηεʯ͕ඞཁ͔ ࣸਅબπʔϧΛ͏͜ͱΛڧ͓͘קΊ͠·͢ɻ ࣸਅબπʔϧΛ͓͏ʂ wબͨࣸ͠ਅಈըͷΈͷΞΫηεΛڐՄ͢Δπʔϧ wϢʔβʔͷݖݶ֬ೝෆཁ wϢʔβʔʹͱͬͯͷࣸਅબͷମݧมΘΒͳ͍ ࣸਅબπʔϧͱɺ
ɹΞϓϦͰαϙʔτͰ͖ΔΑ͏ ৽͍͠ݖݶ͕ొ 3&"%@.&%*"@7*46"-@64&3@4&-&$5&% GPS"OESPJE
͜ͷݖݶΛ͏ͱ Կ͕ҧ͏ͷ͔ʁ
৽͍͠ݖݶΛར༻ͨ͠߹ 3&"%@.&%*"@7*46"-@64&3@4&-&$5&% ʮࣸਅͱಈըΛબʯΛબͿ ͭ·ΓͲ͏͍͏͜ͱʁ ʮ3&"%@.&%*"@*."(&4ʯͱʮ3&"%@.&%*"@7*%&0ʯݖݶڋ൱͞ΕΔ ʮ3&"%@.&%*"@7*46"-@64&3@4&-&$5&%ʯݖݶ͕༩͞ΕɺϢʔβʔͷࣸਅͱ ಈըʹҰ࣌తʹΞΫηεͰ͖Δ ΞϓϦ͕ଞͷࣸਅಈըʹΞΫηε͢Δඞཁ͕͋Δ߹ɺʮ3&"%@.&%*"@*."(&4ʯ ͔ʮ3&"%@.&%*"@7*%&0ʯݖݶΛखಈͰ࠶ϦΫΤετ͢Δඞཁ͕͋Δ
ϢʔβʔʹͱͬͯඞཁͳϝσΟΞͷΈެ։Ͱ͖Δ ʮ3&"%@.&%*"@*."(&4ʯͱʮ3&"%@.&%*"@7*%&0ʯݖݶڋ൱͞ΕΔ ʮ3&"%@.&%*"@7*46"-@64&3@4&-&$5&%ʯݖݶ͕༩͞ΕɺϢʔβʔͷࣸਅͱ ಈըʹҰ࣌తʹΞΫηεͰ͖Δ ΞϓϦ͕ଞͷࣸਅಈըʹΞΫηε͢Δඞཁ͕͋Δ߹ɺʮ3&"%@.&%*"@*."(&4ʯ ͔ʮ3&"%@.&%*"@7*%&0ʯݖݶΛखಈͰ࠶ϦΫΤετ͢Δඞཁ͕͋Δ ΞϓϦͷݖݶͷঢ়ଶͱͯ͠ຖճ֬ೝ͢ΔʹͳΔ ৽͍͠ݖݶΛར༻ͨ͠߹ɺͭ·Γ͜͏ ͋͘·ͰϢʔβʔ͕બͨ͠ϝσΟΞϑΝΠϧʹରͯ͠ͷݖݶ શϝσΟΞϑΝΠϧͷݖݶ͕ඞཁͳ߹ɺ࠶ϦΫΤετ͕ඞཁ
ਖ਼֬ʹڐՄ͞Ε͍ͯΔΘ͚Ͱͳ͍
ϢʔβʔʹͱͬͯඞཁͳϝσΟΞͷΈެ։Ͱ͖Δ ʮ3&"%@.&%*"@*."(&4ʯͱʮ3&"%@.&%*"@7*%&0ʯݖݶڋ൱͞ΕΔ ʮ3&"%@.&%*"@7*46"-@64&3@4&-&$5&%ʯݖݶ͕༩͞ΕɺϢʔβʔͷࣸਅͱ ಈըʹҰ࣌తʹΞΫηεͰ͖Δ ΞϓϦ͕ଞͷࣸਅಈըʹΞΫηε͢Δඞཁ͕͋Δ߹ɺʮ3&"%@.&%*"@*."(&4ʯ ͔ʮ3&"%@.&%*"@7*%&0ʯݖݶΛखಈͰ࠶ϦΫΤετ͢Δඞཁ͕͋Δ ͋͘·ͰϢʔβʔ͕બͨ͠ϝσΟΞϑΝΠϧʹରͯ͠ͷݖݶ શϝσΟΞϑΝΠϧͷݖݶ͕ඞཁͳ߹ɺ࠶ϦΫΤετ͕ඞཁ ৽͍͠ݖݶΛར༻ͨ͠߹ɺͭ·Γ͜͏ ΞϓϦͷݖݶͷঢ়ଶͱͯ͠ຖճ֬ೝ͢ΔʹͳΔ
ਖ਼֬ʹڐՄ͞Ε͍ͯΔΘ͚Ͱͳ͍
ʮ3&"%@.&%*"@*."(&4ʯͱʮ3&"%@.&%*"@7*%&0ʯݖݶڋ൱͞ΕΔ ʮ3&"%@.&%*"@7*46"-@64&3@4&-&$5&%ʯݖݶ͕༩͞ΕɺϢʔβʔͷࣸਅͱ ಈըʹҰ࣌తʹΞΫηεͰ͖Δ ΞϓϦ͕ଞͷࣸਅಈըʹΞΫηε͢Δඞཁ͕͋Δ߹ɺʮ3&"%@.&%*"@*."(&4ʯ ͔ʮ3&"%@.&%*"@7*%&0ʯݖݶΛखಈͰ࠶ϦΫΤετ͢Δඞཁ͕͋Δ ৽͍͠ݖݶΛར༻ͨ͠߹ɺͭ·Γ͜͏ ΞϓϦͷݖݶͷঢ়ଶͱͯ͠ຖճ֬ೝ͢ΔʹͳΔ ਖ਼֬ʹڐՄ͞Ε͍ͯΔΘ͚Ͱͳ͍ ͋͘·ͰϢʔβʔ͕બͨ͠ϝσΟΞϑΝΠϧʹରͯ͠ͷݖݶ શϝσΟΞϑΝΠϧͷݖݶ͕ඞཁͳ߹ɺ࠶ϦΫΤετ͕ඞཁ
ϢʔβʔʹͱͬͯඞཁͳϝσΟΞͷΈެ։Ͱ͖Δ
ରԠ͠ͳ͔ͬͨ߹ ৽͍͠ݖݶΛར༻͠ͳ͍߹
৽͍͠ݖݶΛར༻͠ͳ͍߹ 3&"%@.&%*"@7*46"-@64&3@4&-&$5&% ʮࣸਅͱಈըΛબʯΛબͿ Ұ࣌తͳݖݶ͔͠༩͑ΒΕͣɺຖճڐՄΛଅ͢͜ͱʹͳΔ ʮ3&"%@.&%*"@*."(&4ʯͱʮ3&"%@.&%*"@7*%&0ʯݖݶҰ࣌తʹ༩͞Ε ΔɻͨͩΞϓϦ͕όοΫάϥϯυʹҠͬͨࡍͳͲʹݖݶڋ൱͞ΕΔɻ ΞϓϦ͕࠶ɺࣸਅಈըʹΞΫηε͢Δඞཁ͕͋Δ߹ɺʮ3&"%@.&%*"@*."(&4ʯ ͔ʮ3&"%@.&%*"@7*%&0ʯݖݶΛϦΫΤετ͢Δඞཁ͕͋Δ
৽͍͠ݖݶΛར༻͠ͳ͍߹ 3&"%@.&%*"@7*46"-@64&3@4&-&$5&% Ұ࣌తͳݖݶ͔͠༩͑ΒΕͣɺຖճڐՄΛଅ͢͜ͱʹͳΔ ʮ3&"%@.&%*"@*."(&4ʯͱʮ3&"%@.&%*"@7*%&0ʯݖݶҰ࣌తʹ༩͞Ε ΔɻͨͩΞϓϦ͕όοΫάϥϯυʹҠͬͨࡍͳͲʹݖݶڋ൱͞ΕΔɻ ΞϓϦ͕࠶ɺࣸਅಈըʹΞΫηε͢Δඞཁ͕͋Δ߹ɺʮ3&"%@.&%*"@*."(&4ʯ ͔ʮ3&"%@.&%*"@7*%&0ʯݖݶΛϦΫΤετ͢Δඞཁ͕͋Δ όοΫάϥϯυͰը૾ΛऔಘͰ͖ͳ͘ͳΔ Ұ࣌తͳڐՄͱ͍͏ݖݶͰͳ͍ͷͰ࠶ϦΫΤετ͕ඞཁ
গͳ͘ͱରԠͨ͠ํ͕ྑ͍
৽͍͠ݖݶΛͲ͏͏͔ 3&"%@.&%*"@7*46"-@64&3@4&-&$5&%
৽͍͠ݖݶͷѻ͍ํ RequestMultiplePermissionsͰʮ3&"%@.&%*"@*."(&4ʯͱ ʮ3&"%@.&%*"@7*46"-@64&3@4&-&$5&%ʯΛ·ͱΊͯϦΫΤετ͢Ε0,👌
ΞϓϦͷΞοϓσʔτ࣌ͷಈ࡞ "OESPJEUP"OESPJE
"OESPJEUP"OESPJE ҎԼͷέʔεͰߟ͑Δ 04ΞοϓσʔτΛҙࣝͨ͠ରԠෆཁ ΞϓϦ"OESPJEࡌͷσόΠεʹΠϯετʔϧࡁΈ Ҿ͖ଓ͖ϢʔβʔͷࣸਅͱಈըͷશΞΫηεݖΛ࣋ͭɻ طଘͷʮ3&"%@.&%*"@*."(&4ʯͱʮ3&"%@.&%*"@7*%&0ʯͷݖݶอ࣋͞ΕΔ ʮ3&"%@.&%*"@*."(&4ʯͱʮ3&"%@.&%*"@7*%&0ʯͷݖݶ༩ࡁΈ σόΠεΛ"OESPJEʹΞοϓσʔτ͢Δ
"OESPJEҎԼˠ"OESPJEͷ߹ಉ༷
܅ͨͪͲ͏ੜ͖Δ͔ʁ
બࢶೋͭ
બࢶೋͭ ࣸਅબπʔϧΛར༻͢Δ ৽͍͠ݖݶΛར༻͢Δ PS
બࢶೋͭ ৽͍͠ݖݶΛར༻͢Δ PS ࣸਅબπʔϧΛར༻͢Δ Φεεϝ ݅ w Ϣʔβʔ͕બΜͩը૾ͱಈըͷΈ͕ඞཁ
બࢶೋͭ ࣸਅબπʔϧΛར༻͢Δ ৽͍͠ݖݶΛར༻͢Δ PS ͲͪΒΛબΜͰରԠඞཁ ࣸਅબπʔϧΛͬͯͳ͚Ε
৽͍͠ݖݶͷ ϕετϓϥΫςΟε
৽͍͠ݖݶͷϕετϓϥΫςΟε ݖݶͷঢ়ଶΛӬଓతʹอ࣋͠ͳ͍ ࣸਅಈըͷϑϧΞΫηεΛఆ͠ͳ͍ 63*ΞΫηεΛҰ࣌తͳͷͱͯ͠ѻ͏
ݖݶͷঢ়ଶΛӬଓతʹอ࣋͠ͳ͍ ࠓճͷݖݶʹݶͬͨͰͳ͍͕ ΞϓϦ͕ٳࢭঢ়ଶʹͳͬͨΓɺϢʔβʔʹΑΔΞϓϦͷઃఆมߋʹΑͬͯɺ ݖݶมߋ͞ΕΔՄೳੑ͕͋Δ $POUFYU$PNQBUDIFDL4FMG1FSNJTTJPO Ͱ ݖݶͷঢ়ଶΛ֬ೝ͢Δ 4IBSFE1SFGFSFODFT%BUB4UPSFͳͲʹݖݶͷঢ়ଶΛอଘ͠ͳ͍
$POUFOU3FTPMWFSΛ༻ͯ͠ΫΤϦΛ࣮ߦ͢Δͱ͖ʹΞϓϦ͕.FEJB4UPSFσʔ λΛΩϟογϡ͍ͯ͠Δ߹ɺΩϟογϡ࠷৽Ͱͳ͍Մೳੑ͕͋Δ อଘ͞ΕͨΩϟογϡʹґଘ͢ΔͷͰͳ͘ɺ ৗʹ$POUFOU3FTPMWFSΛ༻ͯ͠.FEJB4UPSFΛΫΤϦ͢Δ ࣸਅಈըͷϑϧΞΫηεΛఆ͠ͳ͍
63*ΞΫηεΛҰ࣌తͳͷͱͯ͠ѻ͏ Ϣʔβʔ͕γεςϜμΠΞϩάͰʮࣸਅͱಈըͷબʯΛબΜͩ߹ɺ બͨࣸ͠ਅͱಈըͷΞΫηε࠷ऴతʹظݶΕʹͳΔ ΞϓϦɺݖݶͷঢ়ଶʹؔͳ͘ɺ 6SJʹΞΫηεͰ͖ͳ͍߹Λߟྀ࣮ͯ͢͠Δඞཁ͕͋Δ
ࣸਅબπʔϧΛར༻͢Δ ৽͍͠ݖݶΛར༻͢Δ PS
ͲͪΒͷํ๏ΛબͿ͔ Ϣʔεέʔε࣍ୈ
݈ಆΛفΔ
ͲΜͱ͍͜"OESPJE