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
プライベートプロダクト戦略 - フロントエンドカンファレンス沖縄 / private_prod...
Search
Masahiko Sakakibara
November 17, 2023
Technology
4.8k
3
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
プライベートプロダクト戦略 - フロントエンドカンファレンス沖縄 / private_product_frontend
Masahiko Sakakibara
November 17, 2023
More Decks by Masahiko Sakakibara
See All by Masahiko Sakakibara
決済端末ビジネスを、決済会社だけのものにしない/stripe_terminal_business
rdlabo
0
33
JavaScriptで始める店舗インフラ決済構築/stripe_terminal_workshop
rdlabo
0
31
No Install CMS戦略 〜 5年先を見据えたフロントエンド開発を考える / no_install_cms
rdlabo
0
690
本当に欲しかったのはモノレポツールではなく、tsconfigの設定だった / monorepo-tsconfig
rdlabo
1
380
Reactフレームワークプロダクトを モバイルアプリにして、もっと便利に。 ユーザに価値を届けよう。/React Framework with Capacitor
rdlabo
0
520
GitHubをCMSとして使う話/ using_github_as_CMS
rdlabo
0
670
JavaScriptから デバイスの力を100%引き出すための Web APIとCapacitor入門 / power_from_javascript
rdlabo
0
630
Capacitor4_release
rdlabo
0
720
Web技術で稼ぐため選択肢を俯瞰しよう/options_to_earn_web_technology
rdlabo
0
170
Other Decks in Technology
See All in Technology
Eight Engineering Unit 紹介資料
sansan33
PRO
3
8.1k
QAエンジニア起点で進める、SmartHRにおける信頼性向上について
kaomi_wombat
1
120
生成 AI の基礎 〜 サンプル実装で学ぶ基本原理
enakai00
7
4.4k
侵入は突然に 〜 IoTマルウェアと悪用される家庭の機器 ~ / When Intrusion Strikes: IoT Malware and the Abuse of Home Devices
nttcom
0
1.5k
SmartHR Engineering Team Deck
smarthr
1
990
サイバー捜査員研修(前半)
nomizone
1
1.9k
組織にどうSREを根付かせるか?〜IVRyの場合〜
abnoumaru
0
330
第3回しろおびセキュリティスポンサーセッション
log0417
0
160
【CEDEC2026】専門性の高いデフォルメチームが挑んだ人材育成戦略 〜Cygames Academiaの企画から実施まで〜
cygames
PRO
0
530
Data Hubグループ 紹介資料
sansan33
PRO
0
3.1k
Issue設計から始める仕様駆動開発 / 20260731 Mizuki Hirata
shift_evolve
PRO
1
150
Goでデータパイプラインを作ろう
sansantech
PRO
0
350
Featured
See All Featured
The Curse of the Amulet
leimatthew05
2
14k
Making the Leap to Tech Lead
cromwellryan
135
10k
How Software Deployment tools have changed in the past 20 years
geshan
1
34k
DevOps and Value Stream Thinking: Enabling flow, efficiency and business value
helenjbeal
1
310
Building a Scalable Design System with Sketch
lauravandoore
463
34k
Stop Working from a Prison Cell
hatefulcrawdad
274
21k
Documentation Writing (for coders)
carmenintech
77
5.4k
Practical Tips for Bootstrapping Information Extraction Pipelines
honnibal
25
2k
A designer walks into a library…
pauljervisheath
211
24k
Testing 201, or: Great Expectations
jmmastey
46
8.2k
Accessibility Awareness
sabderemane
1
170
The Director’s Chair: Orchestrating AI for Truly Effective Learning
tmiket
1
260
Transcript
ϓϥΠϕʔτϓϩμΫτઓུ
*OUSPEVDF .BTBIJLP4BLBLJCBSB Ұൠࣾஂ๏ਓϦϨʔγϣϯσβΠϯ ݚڀॴɹදཧࣄ Ұൠࣾஂ๏ਓΤϦΞɾΠϊϕʔγϣϯ ΞϥΠΞϯεɹ$50 *POJD+BQBO6TFS(SPVQ ද
4QPOTPSFECZTUSJQF
*POJDEFWFMPQFS&YQFSUT
<1SPEVDU>UJQTZT
<1SPEVDU>৯දࣔҹ εϚϗͱϓϦϯλ͚ͩͰ৯දࣔϥϕϧΛ ͭ͘ΕΔຊ།Ұͷઐ༻ΞϓϦ
<1SPEVDU>XJOFDPEF ଟछྨଟྔͷϫΠϯΛෳڌͰཧͰ ͖Δຊ།ҰͷΞϓϦɻ
8FC੍࡞Ͱ͖Δͷ͍ͭ·ͰՁ͋Δ͜ͱͩΖ͏
8FC੍࡞ΛৼΓฦΔ w 8FCͷ͓ࣄ͕ʮՔ͛ΔΑ͏ʹʯͳ͔ͬͯΒఔ w ͦΕͲ͔͜ʮϦϞʔτϫʔΫͰ݄ສԁʯΛເΈΕΔ͓ࣄʹʁʂ
8FC੍࡞ΛৼΓฦΔ ࢲ͕தֶੜ͙Β͍ͷ͔࣌ΒҎ্લͰ͢Ͷɻຊʹύιίϯ͞ΘΕͯɺϗʔϜϖʔδͭ ͘ΕΔਓύιίϯΦλΫΈ͍ͨͳ෩ை͋ͬͨͷͰ͢ɻࣆࠢͱ͔ྲྀߦͬͯͨͱ͖ɻ աڈͷʮϗʔϜϖʔδ͕࡞ΕΔ͚ͩͰΦλΫݺΘΓʯԿॲ
8FC੍࡞ΛৼΓฦΔ ͜ͷʮ8FC੍࡞Ͱ͖Δ͜ͱʯʹՁ͕͋ͬͨɻ ͚ͲɺޙͦͷՁ͋ΔͩΖ͏͔ɻ ϗʔϜϖʔδ ᴈ໌ظ ߴߍͷใͷतۀͰ 8FC੍࡞ɾϓϩάϥϛϯά ϝϞாͰϗʔϜϖʔδ ͭ͘ΕΔͷʁΦλΫͩʂ 8FCαΠτΛ࣋ͨͳ͍ͷ
͓ళ͕൘Λग़͍ͯ͠ͳ͍Α͏ͳͷ 8FC੍࡞Ͱ ݄ສʂ ϓϩάϥϛϯά Ͱ͖Δͷʁ͔͍͍ͬ͜ʂʂ 8PSE1SFTT ͛͢ʔɻ
࣍ͷͷՁΛݟਾ͑ͯಈ͜͏ ܠؾͱधཁͷ֦େͰݟམͱ͞Ε͕͚ͪͩͲɺ͢ͰʹϨουΦʔγϟϯɻͦͷதͰ ͱΕΔઓུେ͖͘Θ͚ΔͱͭʹߜΒΕΔɻ w 8FC੍࡞ͷεϖγϟϦετʹ w ଞͷਓ͕༰қʹਵͰ͖ͳ ͍ՃՁ w Θ͔Γ͍͢ࢦඪٕज़ྗ
w 8FC੍࡞ͷٕज़Λ࡞ͬͯՁ͋ ΔϓϩμΫτΛͭ͘Δ w ϓϩμΫτΛ࣮ݱ͢ΔͨΊ ͷπʔϧ͏࣋ͬͯΔʂ w ࠓͬͪ͜ͷΛ͠·͢ ৬ਓܕ πʔϧͱͯ͠׆༻
ϓϩμΫτͰՁΛͭ͘Δ
ϓϩμΫτΛͭ͘Δ࣌ͷམͱ݀͠ ɾΞΠσΟΞউෛ w ੈքॳͷΞΠσΞ·ͣͳ͍ɻগͳͯ͘ࢲͷΞΠσΞ୭͔͕ࢥ͍͍ͭͯΒ ͳ͍ཧ༝͕͋ͬͨͷɻ w ʮ·ͩͳ͍͚Ͳ͔Γͦ͏ʯࢿຊྗউෛʹͳΔ w 1BZ1BZѹతͳࢿۚྗͰɺ23ίʔυܾࡁϓϥοτϑΥʔϜͷ/PγΣΞʹ w
ΞΠσΞউෛͰͳ͘ɺࣗͷखࡳͰউͯΔউෛΛ͠Α͏ αϧͰඳ͚Δ·Μ͕ڭࣨ ʮ୭ʹࢥ͍͔ͭͳ͍৽ͳετʔϦʔ ɺ͋ͳͨࢥ͍͔ͭͳ͍ʯ
εϞʔϧϓϩμΫτʹͰ͖ͯɺେاۀʹͰ͖ͳ͍͜ͱʁ ຊͷγΣΞ/Pʹͳͬͯɺ ݄ສԁఔ͔͔͠Βͳ͍ϓϩμΫτɻ
͍͍ɺຊͷͳΜͰ͢ɻ w େاۀ͕ਓΛΞαΠϯܾͯ͠ࡁঝೝόοΫΦϑΟεͰԿ͔͠ΒؔΘΔਓͷਓ݅අ ͕ඞཁ w େاۀͱεϞʔϧϏδωεͩͱଛӹذͷߏ͕શ͘ҧ͏ w ࠇࣈ͚ͩͲͲΕ্͚ͩख͍ͬͯ͘εέʔϧ͠ͳ͍ϓϩμΫτΛࢦͦ͏ ੜגࣜձࣾɹIUUQTXXXZBZPJLLDPKQLBJLFJPZBLVEBDIJCSFBLFWFOQPJOU
εέʔϧ͠ͳ͍ϓϩμΫτ߹ཧతͳઓུ w λʔήοτͱϖϧιφͷҧ͍ w ϖϧιφϚʔέςΟϯάຬΛࢦ͢ϑϧΦʔμʔαʔϏε w ͚ͲࣅͨΑ͏ͳଐੑΛ࣋ͭϢʔβ͍Δ͔Βߴຬάϧʔϓੜ·ΕΔΑͶʣ w ΑΓઑͬͯɺΑΓখ͞ͳͱ͜ΖΛૂ͍ʹ͍͚Δ PR
TIMESɹhttps://prtimes.jp/magazine/persona/
ࣄྫɹUJQTZT w ఏڙ։࢝ͷʮঁ༑ͩͪΛͭ͘ΔͨΊͷঁੑઐ༻ιʔγϟϧαʔϏεʯ w 4/4͍Ζ͍Ζ͚͋ͬͨͲɺϢʔβͷΛࣺͯΔʮঁੑઐ༻ʯຊॳ w ͬͱͬͨɻʮब৬Λػʹ্ژͯ͠·ΘΓʹ༑ਓ͕͍ͳ͍͚Ͳɺ৬உੑ͔Γ Ͱ༑ୡͮ͘Γͷػձ͕ͳ͍ɻಌΕͷ౦ژʹ͍ΔͷʹɺͻͱΓͰͲ͜ʹߦ͖ʹ͘ ͍ʯʢϖϧιφͱ͍͏ΑΓϢʔβετʔϦʔͰߜΓࠐΈ·ͨ͠ʣ
w ྦྷܭϢʔβສਓɺτʔΫάϧʔϓສɺച্݄ʙສԁఔ w ͦΖͦΖ࣍ͷεςʔδΛࢦ͞ͳ͍ͱɻ
ࣄྫɹXJOFDPEF w ఏڙ։࢝ͷʮଟछྨଟྔΛෳڌͰཧͯ͠Δҿ৯ళ͚ͷϫΠϯཧ ΞϓϦʯ w ʮଟछྨଟྔΛෳڌͰཧͯ͠Δҿ৯ళʯɺຊͰ݅ͳ͍ͷͰʁελʔ τɻ w ྦྷܭϢʔβɾཧάϧʔϓఔɺྦྷܭཧϫΠϯສछྨɻϛγϡϥϯΨΠ υܝࡌళҰྲྀϗςϧͷϨετϥϯͰ࠾༻ɻ
w ҿ৯ళ%9ͱͯ͠Πϯϙʔλʔɺখച͔ΒɻΦϯϥΠϯൢചػೳΛ࣍ͰϦϦʔε༧ ఆ͕ͩɺ͢Ͱʹܖ͍ͨ͠ͱͷɻ
ϓϩμΫτΛࢧ͑Δٕज़બఆ
ٕज़બఆͷίϯηϓτ w গਓɺ͘͠ਓͰ։ൃӡӦͰ͖Δܹݮٕज़ΛΘͳ͍ͱແཧ w େاۀ͕νʔϜͰ࡞Δͱಉ͡ͷΛ͏ͷෆՄೳͰ͠ΐʁ w ଥڠ͍͍ͯ͠ͱ͜Ζɺଥڠͨ͠Βμϝͳͱ͜ΖΛ໌֬ʹ͢Δ ଥڠ͍͍ͯ͠ͱ͜Ζ ଥڠͯ͠μϝ w
ΧελϚΠζՄೳΛࢦ͞ ͳ͍ɻ w ྫ͑"VUIFOUJDBUJPOͷϝʔϧ ຊจɻςϯϓϨʔτ͕͋ΔͳΒ Ζ͏ɻ w ͯ͢ͷࡉ෦ʹਆΛ॓͞ͳ͍ɻ w ৴ϓϥοτϑΥʔϜɻ߹ཧతཧ ༝͕ͳ͍ݶΓɺ8FC J04 "OESPJEͷͯ͢ɻ w ηΩϡϦςΟɻ͕ແཧͳ ͷͰɺ୲อ͠ͳ͍ΈΛͭ͘ Δɻ
αʔό w &MBTUJD#FBOTUBML-BNCEB w ٛͷαʔόʔϨεඞਢɻࣗͰTTIͰೖΔͷపఈతʹഉআɻ IUUQT[FOOEFWSEMBCPBSUJDMFTBBEB
σʔλϕʔε w "843%4'JSFTUPSF4VQBCBTF 4BB4൛ w ͍͔҆ΒͱϨϯλϧαʔόʔͰ%#Λ্ཱͪ͛Δͱࢮ͵ w Ͱ͖Δ͜ͱͷ੍͕ଟ͍ɻεέʔϦϯάͰ͖ͳ͍ɻ w
͍͔҆Βͱ714ʢԾઐ༻αʔόʣͰ%#Λ্ཱͪ͛Δͱࢮ͵ w ఆظόοΫΞοϓͪΌΜͱಈ͔͘ຖݕূʁ
ೝূ w 'JSFCBTF"VUIFOUJDBUJPO"VUI4VQBCBTF 4BB4൛ w ͭ͘Δ͜ͱҎ্ʹݸਓใΛʮ࣋ͭʯ͜ͱͷίετΛҙࣝ͠Α͏ w %#ʹݸਓใΛอ࣋͠ͳ͍ڧ͍ҙࢤɻ
ܾࡁ w 4USJQF w ܾࡁʹଟ͘ͷ๏͕བྷΉɻࣗͷαʔόʹಁա͠ͳ͍ͨΊʹαʔϏεར༻ඞਢ w ܾࡁͷ࠷ऴը໘֬ೝɻఆظ՝ۚͷΩϟϯηϧը໘ɻશ෦ͤͪΌ͓͏ɻ
ΫϩεϓϥοτϑΥʔϜ w $BQBDJUPS w 8FCΞϓϦΛϥοϓ͢Δ͜ͱʹΑΓɺωΠςΟϒػೳ͑ΔΑ͏ʹ֦ுͰ͖ɺJ04Ξ ϓϦͱͯ͠"QQ4UPSF"OESPJEΞϓϦͱͯ͠(PPHMF1MBZͰ৴Ͱ͖ΔϥΠϒϥϦ w (PPHMFݕࡧ͢ΔΑ͏ʹΞϓϦετΞͰΞϓϦΛ୳͢ਓଟ͍Ͱ͢Α w ϞόΠϧΞϓϦ͚ͩͩͱ͡ΊͯΒ͏ͷʹϋʔυϧ͕
w 18"͚ͩͩͱϒϥβͷػೳ੍ʹറΒΕΔ
+BWB4DSJQUϑϨʔϜϫʔΫ w "OHVMBS w 8FCͷਐԽΛΩϟονΞοϓͯ͘͠ΕΔ w OHVQEBUFͰγʔϜϨεͳόʔδϣϯΞοϓΛαϙʔτ w ϓϩμΫτΛͰΈΔͱબࢶଟ͍͕ɺظͰ࠷৽൛Λ͍ଓ͚ΔαϙʔτਵҰ
σβΠϯϑϨʔϜϫʔΫ w *POJD'SBNFXPSL w ΞϝϦΧ࿈ʮछྨͷ੨৭͕ඞཁʁʯʮຊʹछྨͷϘλϯ͕ඞཁͰ͢ ͔ʁʯ w ͷഒσβΠϯΛߟ͑ͳ͍͜ͱͷॏཁੑ w 4IBEPX%0.σβΠϯγεςϜʹ༗༻Ͱ͋Δ͜ͱͱಉ͡
·ͱΊ
ٕज़બఆͷ؊ w ࣗͰΒͳ͍͜ͱΛ૿͢ w બఆٕज़ʹΑͬͯকདྷͷ੍Λ࡞Βͳ͍ w ۀքతͳʮఆ൪αʔϏεʯʮఆ൪ϥΠϒϥϦʯΛΩϟονΞοϓ w ը૾ฤूϥΠϒϥϦʮUVJJNBHFFEJUPSʯ w
௨ϥΠϒϥϦʮ+JUTJʯ w ϚοϓදࣔϥΠϒϥϦʮMFB fl FUʯ w ΔڊਓͷݞΛ୳͠ଓ͚Α͏ w ֶशίετͱ͍͏ݴ͍༁Λ͠ͳ͍
ٕज़બఆͷ؊ w ࣗͰΒͳ͍͜ͱΛ૿͢ w બఆٕज़ʹΑͬͯকདྷͷ੍Λ࡞Βͳ͍ w ۀքతͳʮఆ൪αʔϏεʯʮఆ൪ϥΠϒϥϦʯΛΩϟονΞοϓ w ը૾ฤूϥΠϒϥϦʮUVJJNBHFFEJUPSʯ w
௨ϥΠϒϥϦʮ+JUTJʯ w ϚοϓදࣔϥΠϒϥϦʮMFB fl FUʯ
UVJJNBHFFEJUPS await defaultInstance.applyFilter(filter.type, filter.option);
·ͱΊ w ޙʹ௨༻͢ΔͨΊʹɺʮ8FC੍࡞͕Ͱ͖ΔՁʯ͚ͩͰͳ͘ɺͦͷٕज़Ͱ࡞ͬ ͨʮϓϩμΫτͷՁʯ࣋ͱ͏ w ϓϩμΫτͷͨΊʹֶशίετͱ͍͏ݴ͍༁ΛͤͣʹΨϯΨϯ৽͍͜͠ͱʹखΛग़͠ ଓ͚Δͱɺ8FC੍࡞͕Ͱ͖ΔՁͷؐݩ w ٕज़ྗͷؐݩ͚ͩͰͳ͘ɺϓϩμΫτΛ࡞ΔͨΊʹ৽͍ٕ͠ज़ΛֶͼɺࣗͷͨΊ ʹ·ͱΊɺϓϩμΫτʹඞཁͳϓϥάΠϯΛΦʔϓϯʹͯͨ͠Βɺ*POJD%FWFMPQFS
&YQFSU ຊͰਓʣͱɺ4USJQF$PNNVOJUZ&YQFSU ຊͰਓʣͷެೝΛΒ͍· ͨ͠ɻࠃͪΖΜͷ͜ͱɺւ֎͔Β໊ࢦ͠Ͱ૬ஊґཔΛΒ͑ΔΑ͏ʹɻ w ՁΛ྆ྠͰ·Θͦ͏
͕࣌ؒ͋ΔͷͰͪΐͬͱ$BQBDJUPSΛৄ͘͠
8FCΞϓϦΛΫϩεϓϥοτϑΥʔϜʹϒϦοδͤ͞Δ 888 8FCΞϓϦ $BQBDJUPS
͜Ε͚ͩͰɺͯࣗ͢ಈߏஙɻ
ʮ·ͣ͞ΘΔʯʹ͓͍ͯ8FC࠷ڧ ΞϓϦΛར༻͢ΔͷʹɺϢʔβ ̍ɽΞϓϦετΞʹભҠͯ͠ ̎ɽΞϓϦΛΠϯετʔϧͯ͠ ̏ɽΞϓϦΛىಈ͠ͳ͍ͱ͍͚ͳ͍
18"͡ΌͩΊͳͷʁ ϞόΠϧσόΠεɺΞϓϦͰར༻Ͱ͖Δແͷ"1*Λఏڙɻ ྫʣ9DPEFͰ໌ࣔతʹڐՄ͕ඞཁͳ$BQBCJMJUJJFT
ΞϓϦ͕ར༻Ͱ͖Δ"1* NSCameraUsageDescription NSPhotoLibraryAddUsageDescription NSPhotoLibraryUsageDescription <uses-permission android:name="android.permissi on.READ_EXTERNAL_STORAGE"/> <uses-permission android:name="android.permissi on.WRITE_EXTERNAL_STORAGE"
/> Χϝϥ ৼಈ NSLocationAlwaysUsageDescription NSLocationWhenInUseUsageDescription <uses-permission android:name="android.permission .ACCESS_COARSE_LOCATION" /> <uses-permission android:name="android.permission .ACCESS_FINE_LOCATION" /> <uses-feature android:name="android.hardware.l ocation.gps" /> ετϨʔδ ϑΝΠϧγεςϜ ϓογϡ௨ Ґஔใ