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
Sponsored
·
Ship Features Fearlessly
Turn features on and off without deploys. Used by thousands of Ruby developers.
→
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
No Install CMS戦略 〜 5年先を見据えたフロントエンド開発を考える / no_install_cms
rdlabo
0
660
本当に欲しかったのはモノレポツールではなく、tsconfigの設定だった / monorepo-tsconfig
rdlabo
1
370
Reactフレームワークプロダクトを モバイルアプリにして、もっと便利に。 ユーザに価値を届けよう。/React Framework with Capacitor
rdlabo
0
490
GitHubをCMSとして使う話/ using_github_as_CMS
rdlabo
0
650
JavaScriptから デバイスの力を100%引き出すための Web APIとCapacitor入門 / power_from_javascript
rdlabo
0
630
Capacitor4_release
rdlabo
0
700
Web技術で稼ぐため選択肢を俯瞰しよう/options_to_earn_web_technology
rdlabo
0
170
Ionicモバイルアプリ制作入門/get_started_with_ionic
rdlabo
0
170
JavaScript から デバイスの力を 100%引き出すための Capacitor と Angular でのはじめかた。
rdlabo
2
2k
Other Decks in Technology
See All in Technology
ぼっちではじめた登壇が「51名」「241件」の発信に化けた
subroh0508
0
230
就職⽀援サービスにおけるキャリアアドバイザーのシフトスケジューリング
recruitengineers
PRO
1
150
Chainlitで作るお手軽チャットUI
ynt0485
0
280
AIチャット検索改善の3週間
kworkdev
PRO
2
140
Lightning近況報告
kozy4324
0
180
2026年6月23日 Syncable Tech + Start Python Club にて
hamukazu
0
140
あなたの知らないPDFのアクセシビリティ
lycorptech_jp
PRO
0
220
10年間のブログ発信を振り返って見えたWebアプリケーションエンジニアとしての軌跡
stefafafan
0
160
2026TECHFRESH畢業分享會 - 葬送的通靈師:化系統與用戶雜訊成行動訊號
line_developers_tw
PRO
0
1.3k
When Platform Engineering Meets GenAI
sucitw
0
130
Agent Skills設計で柔軟性と硬さのバランスが難しい話
nassy20
0
140
白金鉱業Meetup_Vol.24_「AIエージェントは分けるほど良い」は本当か? / Is it true that “the more you divide AI agents, the better”?
brainpadpr
1
410
Featured
See All Featured
brightonSEO & MeasureFest 2025 - Christian Goodrich - Winning strategies for Black Friday CRO & PPC
cargoodrich
3
730
What does AI have to do with Human Rights?
axbom
PRO
1
2.2k
A brief & incomplete history of UX Design for the World Wide Web: 1989–2019
jct
2
400
CSS Pre-Processors: Stylus, Less & Sass
bermonpainter
360
30k
Design in an AI World
tapps
1
250
HTML-Aware ERB: The Path to Reactive Rendering @ RubyCon 2026, Rimini, Italy
marcoroth
1
200
First, design no harm
axbom
PRO
2
1.2k
Code Review Best Practice
trishagee
74
20k
30 Presentation Tips
portentint
PRO
1
330
Digital Ethics as a Driver of Design Innovation
axbom
PRO
1
320
Building Adaptive Systems
keathley
44
3.1k
Optimizing for Happiness
mojombo
378
71k
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" /> ετϨʔδ ϑΝΠϧγεςϜ ϓογϡ௨ Ґஔใ