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
ANDPAD iOS開発における「マルチモジュール」化の課題と今後
Search
ANDPAD inc
January 12, 2022
Technology
1
1.4k
ANDPAD iOS開発における「マルチモジュール」化の課題と今後
iOS/Androidアプリ開発のマルチモジュール化
https://sansan.connpass.com/event/232503/
イベント登壇時の資料
ANDPAD inc
January 12, 2022
Tweet
Share
More Decks by ANDPAD inc
See All by ANDPAD inc
開発チームとともに進めるインフラセキュリティの継続的な改善
andpad
2
29
ANDPAD and Ruby
andpad
1
370
Modular semantic actions
andpad
0
60
about #67401 //go:linkname
andpad
2
20k
Map のパフォーマンス向上のために検討されている SwissTable を理解する
andpad
1
9.9k
Introduction of Cybersecurity with OSS
andpad
0
25
App Router に移行して良かったところを語る
andpad
2
560
現場訪問で変わる毎日の開発
andpad
1
290
Does Ruby Parser dream of highly expressive grammar?
andpad
0
170
Other Decks in Technology
See All in Technology
Flutter研修【MIXI 24新卒技術研修】
mixi_engineers
PRO
0
160
大規模ドラレコデータ収集・機械学習基盤を支える AWS CDK 〜導入・運用事例紹介〜
pemugi
0
110
What if...? 처음부터 다시 LLM 어플리케이션을 개발한다면
huffon
0
1k
累計ダウンロード数1億8000万を超えるアプリケーションプラットフォームのレガシーシステム脱却とモダン化への道
kmitsuhashi
0
120
AWSでRAGを作る法方
sonoda_mj
1
140
開発と事業を繋ぐ!SREのオブザーバビリティ戦略 ~ Developers Summit 2024 Summer ~
leveragestech
0
640
たくさん本を読んだけど 1年後には綺麗サッパリ!を乗り越えて 学習の鬼になるぞ👹
yum3
0
160
「単なる OAuth 2.0 を認証に使うと、車が通れるほどのどでかいセキュリティー・ホールができる」のか検証してみた
terara
0
380
【基調講演】変える、今ここから ― IoTとAIで紡ぐ未来
soracom
PRO
0
320
スレットハンティングについて知っておきたいこと
hacket
0
130
CTOから見た事業開発とプロダクト開発 / My Perspective on Business and Product Development as CTO
keisuke69
4
960
地理情報とAPIのトレンド
nagix
0
160
Featured
See All Featured
Design by the Numbers
sachag
277
18k
A Modern Web Designer's Workflow
chriscoyier
689
190k
Being A Developer After 40
akosma
72
580k
Into the Great Unknown - MozCon
thekraken
20
1.3k
[RailsConf 2023 Opening Keynote] The Magic of Rails
eileencodes
17
8.7k
The World Runs on Bad Software
bkeepers
PRO
63
11k
GraphQLとの向き合い方2022年版
quramy
36
13k
Writing Fast Ruby
sferik
623
60k
4 Signs Your Business is Dying
shpigford
178
21k
10 Git Anti Patterns You Should be Aware of
lemiorhan
652
58k
Side Projects
sachag
451
42k
Documentation Writing (for coders)
carmenintech
63
4.2k
Transcript
"/%1"%J04։ൃͰ࠷ۙऔΓΈ࢝Ίͨ ʮෳΞϓϦͰར༻͢ΔͨΊͷػೳϞδϡʔϧ։ൃʯ ʹ͍ͭͯ !J04"OESPJEΞϓϦ։ൃͷϚϧνϞδϡʔϧԽΞϯυύουʛΫοΫύουʛ4BOTBO
w ໊લࠤ౻ढ़ี w 5XJUUFS!VTIJTBOUPBTPCV w ձࣾגࣜձࣾΞϯυύουʢೖࣾʣ w ୲J04"OESPJE w झຯίʔώʔɺαοΧʔʢϑοταϧʣ
ࣗݾհ
w "/%1"%ʹ͓͚ΔJ04ΞϓϦ։ൃͷੜଶܥͱ՝ w ݱࡏऔΓΜͰ͍ΔʮෳΞϓϦͰར༻͢ΔͨΊͷػೳϞδϡʔϧ։ൃʯ ΞδΣϯμ
"/%1"%ʹ͓͚ΔJ04ΞϓϦ։ൃͷੜଶܥͱ՝
ʮݐங%9ʯͱ͍͏ෳࡶɾൣғʹΔ՝
ʮݐங%9ʯͱ͍͏ෳࡶɾൣғʹΔ՝ ϞόΠϧΞϓϦͷઓུ
ʮݐங%9ʯͱ͍͏ෳࡶɾൣғʹΔ՝ ϞόΠϧΞϓϦͷઓུ εʔύʔΞϓϦઓུ
ʮݐங%9ʯͱ͍͏ෳࡶɾൣғʹΔ՝ ϞόΠϧΞϓϦͷઓུ εʔύʔΞϓϦઓུ ϚϧνΞϓϦઓུ
ʮݐங%9ʯͱ͍͏ෳࡶɾൣғʹΔ՝ ϞόΠϧΞϓϦͷઓུ εʔύʔΞϓϦઓུ ϚϧνΞϓϦઓུ
ʮݐங%9ʯͱ͍͏ෳࡶɾൣғʹΔ՝ ϚϧνΞϓϦઓུͷϝϦοτ
ʮݐங%9ʯͱ͍͏ෳࡶɾൣғʹΔ՝ ϚϧνΞϓϦઓུͷϝϦοτ w ʢ෦࣭ʣΞϓϦ͝ͱʹٕज़తͳઓ͕Ͱ͖Δɻ'MVUUFSͳͲ w ʢ֎෦࣭ʣෆཁͳػೳΛؾʹ͢Δ͜ͱͳ͘ར༻Ͱ͖Δ ͳͲͳͲ
ʮݐங%9ʯͱ͍͏ෳࡶɾൣғʹΔ՝ ϚϧνΞϓϦઓུͷϝϦοτ ৄ͘͠IUUQTTQFBLFSEFDLDPNBOEQBEGVTIVGBMTFBQVSJXPUPOHTIJOJSJSJTVTJOBHBSBTBCJTVHVSPTVTBTFSVGBOHGB
ʮݐங%9ʯͱ͍͏ෳࡶɾൣғʹΔ՝ ϚϧνΞϓϦઓུͷσϝϦοτ
ʮݐங%9ʯͱ͍͏ෳࡶɾൣғʹΔ՝ ϚϧνΞϓϦઓུͷσϝϦοτ w ෳΞϓϦͰڞ௨Ͱར༻͍ͨ͠ͷ͕͋Δͱ͖ʹͲ͏͠Α͏🤔
"/%1"%ʹ͓͚ΔJ04ΞϓϦ։ൃͷੜଶܥ
ΞϓϦ "/%1"%ʹ͓͚ΔJ04ΞϓϦ։ൃͷੜଶܥ
ΞϓϦ ࣾϥΠϒϥϦ "/%1"%ʹ͓͚ΔJ04ΞϓϦ։ൃͷੜଶܥ
ΞϓϦ ʢ֤ΞϓϦ͕ඞཁͳϥΠϒϥϦΛ$PDPBQPETͰཧ͍ͯ͠Δʣ "/%1"%ʹ͓͚ΔJ04ΞϓϦ։ൃͷੜଶܥ ࣾϥΠϒϥϦ
w ݁ߏෳࡶͳੜଶܥΛ͍ͯ͠Δ w ಛʹӡ༻໘ʢ୭͕໘ΈΔͷʁߋ৽ͨ͠ͱ͖ͷଞ5ͷڞ༗ํ๏ʁʣ w ৭ʑ՝͋Δ͕ɺ·͋ͳΜͱ͔ͬͯ͜Ε͍ͯΔ "/%1"%ʹ͓͚ΔJ04ΞϓϦ։ൃͷੜଶܥ
ΞϓϦ ϥΠϒϥϦ ৽͍͠՝🔥 "/%1"%ʹ͓͚ΔJ04ΞϓϦ։ൃͷੜଶܥ
ΞϓϦ ϥΠϒϥϦ ৽͍͠՝🔥 "/%1"%ʹ͓͚ΔJ04ΞϓϦ։ൃͷੜଶܥ
ΞϓϦ ϥΠϒϥϦ ৽͍͠՝🔥 "/%1"%ʹ͓͚ΔJ04ΞϓϦ։ൃͷੜଶܥ w ͭͷΞϓϦͰಉ͡ػೳ͕ଘࡏ͢Δ͜ͱ ͕ݟ͔ͭͬͨ w ͜ͷػೳΛվम͢Δͷʹɺશ͘ಉ͡मਖ਼ ΛͭͷΞϓϦʹద༻͢Δͱ͍͏ࣄଶ͕
গ͠લʹൃੜͨ͠ w ͍ͦͯۙ͠কདྷɺͬͱେ͖ͳػೳվળ ͕͜ͷػೳʹ༧ఆ͞Ε͍ͯΔͱͷ͜ͱ Ͱɺɺɺ͜͜ڞ௨Խ͍ͨ͠
"/%1"%ʹ͓͚ΔJ04ΞϓϦ։ൃͷੜଶܥ ৽͍͠՝🔥 w ͨͩ͠ࠓճڞ௨Խ͍ͨ͠ͷɺ͜Ε·ͰͷࣾϥΠϒϥϦʮπʔϧతʯ ͳͷɺͱ͍͏ΑΓ͔ʮػೳతʯͳͷͰ͋Δ w ػೳత"1*ϦΫΤετ͕͋Δଞͷػೳͷը໘ʹ్தͰભҠ͢Δ w কདྷతʹ͜ͷΑ͏ͳʮػೳతʯͳͷΛෳΞϓϦͰڞ༗͢Δػձ͕૿ ͍͖͑ͯͦ͏ͩͱ͍͏͕ٞ͋ͬͨ
ݱࡏऔΓΜͰ͍Δ ʮෳΞϓϦͰར༻͢ΔͨΊͷػೳϞδϡʔϧ։ൃʯ
ݱࡏऔΓΜͰ͍ΔʮෳΞϓϦͰར༻͢ΔͨΊͷػೳϞδϡʔϧ։ൃʯ w શମͷߏʹ͍ͭͯ w ґଘੑͷѻ͍ʹ͍ͭͯ w ϞδϡʔϧͷϛχΞϓϧʹ͍ͭͯ w Ϟδϡʔϧͷཧʹ͍ͭͯ
શମͷߏʹ͍ͭͯ
શମͷߏʹ͍ͭͯ
"OEQBE4PNF'FBUVSF શମͷߏʹ͍ͭͯ "OEQBE4PNF'FBUVSF
"OEQBE4PNF'FBUVSF શମͷߏʹ͍ͭͯ "OEQBE4PNF'FBUVSF ͜ͷػೳΛϞδϡʔϧͱͯ͠ Γग़͍ͨ͠
"OEQBE4PNF'FBUVSF શମͷߏʹ͍ͭͯ
"OEQBE4PNF'FBUVSF શମͷߏʹ͍ͭͯ Ϟδϡʔϧͱͯ͠Γग़͢
'FBUVSF" શମͷߏʹ͍ͭͯ কདྷతʹෳͷػೳϞδϡʔ ϧΛ࡞͍ͬͯ͘͜ͱΛఆͯ͠ ͍ΔͷͰ 'FBUVSF# 'FBUVSF$ 'FBUVSF%
"OEQBE$PSF "OEQBE6*$PNQPOFOU "OEQBE4PNF'FBUVSF ڞ௨ϞδϡʔϧʢPSج൫Ϟδϡ ʔϧʣ༻ҙ શମͷߏʹ͍ͭͯ
"OEQBE$PSF "OEQBE6*$PNQPOFOU "OEQBE4PNF'FBUVSF શମͷߏʹ͍ͭͯ
"OEQBE$PSF "OEQBE6*$PNQPOFOU "OEQBE4PNF'FBUVSF શମͷߏʹ͍ͭͯ ʢҰ୴Θ͔Γ͍͢Α͏ʹɺยํͷΞϓϦলུʣ
ґଘؔ "OEQBE$PSF "OEQBE6*$PNQPOFOU "OEQBE4PNF'FBUVSF શମͷߏʹ͍ͭͯ
"OEQBE$PSF "OEQBE6*$PNQPOFOU "OEQBE4PNF'FBUVSF w ΤϯςΟςΟ w &OWJSPONFOUʢґଘੑΛఆ ٛɻৄ͘͠ޙड़ʣ w &YUFOTJPO
શମͷߏʹ͍ͭͯ
"OEQBE$PSF "OEQBE6*$PNQPOFOU "OEQBE4PNF'FBUVSF w 6*$PNQPOFOUΛू w ίʔυͷΈͰ6*Λߏங w 9DPEF1SFWJFXTΛར༻ w
େ͖ΊͷίϯϙʔωϯτͷΈ ఆٛʢ.PMFDVMFT ʣ શମͷߏʹ͍ͭͯ
"OEQBE$PSF "OEQBE6*$PNQPOFOU "OEQBE4PNF'FBUVSF w .77.ߏ w 7JFX$POUSPMMFSͱ7JFX.PEFM ͷΈͷബ͍ϨΠϠߏʢඞཁ ʹԠͯ͡վળͯ͘͠ʣ શମͷߏʹ͍ͭͯ
"OEQBE$PSF "OEQBE6*$PNQPOFOU "OEQBE4PNF'FBUVSF $PDPBQPETͰཧ શମͷߏʹ͍ͭͯ
"OEQBE$PSF "OEQBE6*$PNQPOFOU "OEQBE4PNF'FBUVSF શମͷߏʹ͍ͭͯ w ֤छϞδϡʔϧͷJNQPSU w $PSFͷґଘੑͷ࣮ମΛఆٛ ʢৄ͘͠ޙड़ʣ
ґଘੑͷѻ͍ʹ͍ͭͯ
"OEQBE$PSF ґଘੑͷѻ͍ʹ͍ͭͯ
Ϟδϡʔϧͷґଘੑʹ͍ͭͯ &OWJSPONFOUʹू͢Δ "OEQBE$PSF ґଘੑͷѻ͍ʹ͍ͭͯ
"1*$MJFOUநʹґଘ͢ΔΑ͏ ʹ࡞͍ͬͯΔʢৄ͘͠ޙड़ʣ "OEQBE$PSF ґଘੑͷѻ͍ʹ͍ͭͯ
"OEQBE$PSF ґଘੑͷѻ͍ʹ͍ͭͯ Ϟδϡʔϧ֎ͷը໘ભҠͷॲ ཧ3PVUFSͱ͍͏؆қͳͷͰ
"OEQBE4PNF'FBUVSF ґଘੑͷѻ͍ʹ͍ͭͯ
"OEQBE4PNF'FBUVSF ґଘੑͷѻ͍ʹ͍ͭͯ ػೳϞδϡʔϧ$PSFͰఆٛ͠ ͨ&OWJSPONFOUʹґଘ࣮ͯ͠ ͍ͯ͘͠
ΞϓϦʢ"QQMJDBUJPO5BSHFUʣ ґଘੑͷѻ͍ʹ͍ͭͯ
ΞϓϦʢ"QQMJDBUJPO5BSHFUʣ ґଘੑͷѻ͍ʹ͍ͭͯ &OWJSPONFOUͷ֤छ࣮ମΛ࣮ ͢Δ
ΞϓϦʢ"QQMJDBUJPO5BSHFUʣ ґଘੑͷѻ͍ʹ͍ͭͯ "1*$MJFOUͷ࣮ମͷ࣮
ΞϓϦʢ"QQMJDBUJPO5BSHFUʣ ґଘੑͷѻ͍ʹ͍ͭͯ طଘͷ"1*.BOBHFSΛݺͼग़ ͢ɻͦͷϨεϙϯεΛϞδϡʔϧ ͷΤϯςΟςΟʢ$PSFʹఆٛʣ ʹม͢Δ
ΞϓϦʢ"QQMJDBUJPO5BSHFUʣ ґଘੑͷѻ͍ʹ͍ͭͯ
ΞϓϦʢ"QQMJDBUJPO5BSHFUʣ ґଘੑͷѻ͍ʹ͍ͭͯ ػೳϞδϡʔϧʹ&OWJSPONFOU ΛΠϯδΣΫτ͢Δ
ʮෳΞϓϦͰར༻͢ΔతͷϞδϡʔϧͰ"1*$MJFOUͳͲΛநԽ͢Δඞཁ͋Δͷʁʁʯ🤔 ґଘੑͷѻ͍ʹ͍ͭͯ
ґଘੑͷѻ͍ʹ͍ͭͯ "OEQBE4PNF'FBUVSF "OEQBE4PNF'FBUVSF
ʢΤϯυϙΠϯτ͋͘·ͰΠϝʔδʣ https://chat.andpad.jp/chat/{chat_id}/somes ґଘੑͷѻ͍ʹ͍ͭͯ "OEQBE4PNF'FBUVSF "OEQBE4PNF'FBUVSF https://sekokanri.andpad.jp/anken/{anken_id}/somes ΞϓϦຖʹΤϯυϙΠϯτ͕ҟ ͳΔ
"OEQBE4PNF'FBUVSF 🙅 ґଘੑͷѻ͍ʹ͍ͭͯ https://chat.andpad.jp/chat/{chat_id}/somes https://sekokanri.andpad.jp/anken/{anken_id}/somes ػೳϞδϡʔϧଆ͕ͦΕͧΕͷ ΞϓϦͷΤϯυϙΠϯτͳͲΛ Γͨ͘ͳ͍ͱࢥͬͨ
"OEQBE$PSF "OEQBE4PNF'FBUVSF ʮ4PNFͷҰཡΛGFUDI͢ΔΑʯ ͱ͍͏݁ߏநͷߴ͍ͷʹ ػೳϞδϡʔϧґଘ͍ͯ͠Δ ґଘੑͷѻ͍ʹ͍ͭͯ
͜͜ΒΜ·ͩ·ͩࢼߦࡨޡதʢࣾͰٞͷ༨͋Γʣ😢 ґଘੑͷѻ͍ʹ͍ͭͯ
ґଘੑͷѻ͍ʹ͍ͭͯ
ґଘੑͷѻ͍ʹ͍ͭͯ &OWJSPONFOUʹ࣮ࡍʹͦΕ ͧΕͷΞϓϦͰඞཁͳใ͕ ͞Ε͍ͯΔ
ϞδϡʔϧͷϛχΞϓϦʹ͍ͭͯ
ϞδϡʔϧͷϛχΞϓϦʹ͍ͭͯ ϛχΞϓϦͷ࡞Γํ
ϞδϡʔϧͷϛχΞϓϦʹ͍ͭͯ ϛχΞϓϦͷ࡞Γํ
ϞδϡʔϧͷϛχΞϓϦʹ͍ͭͯ $PDPBQPETͰϞδϡʔϧΛ৽ن ࡞͍ͯ͠ΔͨΊɺϛχΞϓϦ ؆୯ʹͰ͖Δ ϛχΞϓϦͷ࡞Γํ
"OEQBE$PSF "OEQBE6*$PNQPOFOU "OEQBE4PNF'FBUVSF ϞδϡʔϧͷϛχΞϓϦʹ͍ͭͯ ϛχΞϓϦ
ϞδϡʔϧͷϛχΞϓϦʹ͍ͭͯ ελϒΛ༻͍ͨϛχΞϓϦ։ൃ
ϞδϡʔϧͷϛχΞϓϦʹ͍ͭͯ ελϒΛ༻͍ͨϛχΞϓϦ։ൃ ϛχΞϓϦ༻ͷ&OWJSPONFOUΛ ࣮͢Δ
ϞδϡʔϧͷϛχΞϓϦʹ͍ͭͯ ελϒΛ༻͍ͨϛχΞϓϦ։ൃ "1*$MJFOUελϒΛฦ͢Α͏ʹ ΰϦΰϦॻ͘
ϞδϡʔϧͷϛχΞϓϦʹ͍ͭͯ ελϒΛ༻͍ͨϛχΞϓϦ։ൃͰͰ͖͍ͯΔ͜ͱ
ϞδϡʔϧͷϛχΞϓϦʹ͍ͭͯ ελϒΛ༻͍ͨϛχΞϓϦ։ൃͰͰ͖͍ͯΔ͜ͱ ྫ ϖʔδϯά͋ΓͷҰཡը໘ʹ ͯɺ֤छελϒΛFOVNͰఆٛ͢ Δ
ϞδϡʔϧͷϛχΞϓϦʹ͍ͭͯ ελϒΛมߋ͢Δ͜ͱͰɺ৭ʑͳڍಈΛ֬ ೝ͢Δ͜ͱ͕Ͱ͖Δɻ ελϒมߋ࠶Ϗϧυ͕ඞཁ͕ͩϛχΞϓ ϦܰྔͳͷͰؾʹ͠ͳ͍͍ͯ͘ ελϒΛ༻͍ͨϛχΞϓϦ։ൃͰͰ͖͍ͯΔ͜ͱ
ϞδϡʔϧͷϛχΞϓϦʹ͍ͭͯ ଞɺ"1*ॲཧʹ͕͔͔͍࣌ؒͬͯ ΔΑ͏ʹγϛϡϨʔτͤͨ͞Γ ελϒΛ༻͍ͨϛχΞϓϦ։ൃͰͰ͖͍ͯΔ͜ͱ
ϞδϡʔϧͷϛχΞϓϦʹ͍ͭͯ ελϒΛ༻͍ͨϛχΞϓϦ։ൃ ͜͜Βล·Ͱؾ࣋ͪΑ͘ελϒͰϛχΞϓϦ։ൃͰ͖͍ͯΔͱࢥ͍͕ͬͯͨɺɺɺ
ϞδϡʔϧͷϛχΞϓϦʹ͍ͭͯ ελϒΛ༻͍ͨϛχΞϓϦ։ൃͰ͏·͍͍ͬͯ͘ͳ͍͜ͱ
ϞδϡʔϧͷϛχΞϓϦʹ͍ͭͯ ελϒΛ༻͍ͨϛχΞϓϦ։ൃͰ͏·͍͍ͬͯ͘ͳ͍͜ͱ w ը໘Λ·͍ͨͩͱ͖ʹσʔλͷ߹ੑΛͲ͜·ͰͱΔʁ
ϞδϡʔϧͷϛχΞϓϦʹ͍ͭͯ ελϒΛ༻͍ͨϛχΞϓϦ։ൃͰ͏·͍͍ͬͯ͘ͳ͍͜ͱ w ը໘Λ·͍ͨͩͱ͖ʹσʔλͷ߹ੑΛͲ͜·ͰͱΔʁ w όοΫΤϯυͷ߹ʢʮ͜͏͍ͬͨ݅ͷͱ͖ʹ͜͏͍ͬͨϨεϙϯ ε͕ฦͬͯ͘ΔʯͳͲʣΛελϒͰ୲อ͢Δ͜ͱͰ͖ͳ͍
ϞδϡʔϧͷϛχΞϓϦʹ͍ͭͯ ελϒΛ༻͍ͨϛχΞϓϦ։ൃͰ͏·͍͍ͬͯ͘ͳ͍͜ͱ w ը໘Λ·͍ͨͩͱ͖ʹσʔλͷ߹ੑΛͲ͜·ͰͱΔʁ w όοΫΤϯυͷ߹ʢʮ͜͏͍ͬͨ݅ͷͱ͖ʹ͜͏͍ͬͨϨεϙϯ ε͕ฦͬͯ͘ΔʯͳͲʣΛελϒͰ୲อ͢Δ͜ͱͰ͖ͳ͍ w ϞοΫͮ͠Β͍ͷΛͲ͏͢Δ͔ʢ1)"TTFUͳͲʣ
Ϟδϡʔϧཧʹ͍ͭͯ
Ϟδϡʔϧཧʹ͍ͭͯ w $PDPBQPETͰཧ͍ͯ͠Δ͚ͩ w ʢҰൠతʹݴΘΕΔϚϧνϞδϡʔϧ։ൃͰ9DPEFHFO41.Λ༻͍ Δ͜ͱ͕ଟ͍ೝࣝʣ
Ϟδϡʔϧཧʹ͍ͭͯ ʮ$PDPBQPETͰཧ͍ͯ͠Δ͚ͩʯͱݴͬͯ w ʮผϨϙδτϦʯʮUBHӡ༻ʯ݁ߏίετ͕͔͔Δ w ʢݱଘͷࣾϥΠϒϥϦͷӡ༻ͰೝࣝࡁΈʣ
͝੩ௌ͋Γ͕ͱ͏͍͟͝·ͨ͠🙇