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
DMM.swift#1 Mergeable Libraryを試した
Search
yuki tamazawa
January 29, 2024
Technology
3
750
DMM.swift#1 Mergeable Libraryを試した
yuki tamazawa
January 29, 2024
Tweet
Share
More Decks by yuki tamazawa
See All by yuki tamazawa
DMMプラットフォームの AI推進を支える情報アーキテクチャ - DMMポイントクラブでのAIリーダブル化の取り組み事例
srea
0
1.4k
アラートなどの割り込み表示を制御する
srea
2
600
DMM 次世代SDK開発チーム
srea
0
480
mablりましょう。
srea
0
1.1k
OSSと私
srea
1
570
ソフトウェア品質を支える E2Eテストのパイプライン作り
srea
3
3.4k
Other Decks in Technology
See All in Technology
生成AI活用によるPRレビュー改善の歩み
lycorptech_jp
PRO
4
1.6k
パネルディスカッション資料 (at Tableau Now! - 2026-02-26)
yoshitakaarakawa
0
670
2026年のAIエージェント構築はどうなる?
minorun365
11
2.5k
Eight Engineering Unit 紹介資料
sansan33
PRO
1
6.8k
LINEアプリ開発のための Claude Code活用基盤の構築
lycorptech_jp
PRO
1
1k
[続・営業向け 誰でも話せるOCI セールストーク] AWSよりOCIの優位性が分からない編(2026年2月20日開催)
oracle4engineer
PRO
0
130
Introduction to Sansan, inc / Sansan Global Development Center, Inc.
sansan33
PRO
0
3k
研究開発部メンバーの働き⽅ / Sansan R&D Profile
sansan33
PRO
4
22k
Introduction to Bill One Development Engineer
sansan33
PRO
0
370
「データとの対話」の現在地と未来
kobakou
0
870
Agentic Codingの実践とチームで導入するための工夫
lycorptech_jp
PRO
0
190
AI時代のAPIファースト開発
nagix
2
660
Featured
See All Featured
実際に使うSQLの書き方 徹底解説 / pgcon21j-tutorial
soudai
PRO
199
72k
The Language of Interfaces
destraynor
162
26k
JavaScript: Past, Present, and Future - NDC Porto 2020
reverentgeek
52
5.9k
How to train your dragon (web standard)
notwaldorf
97
6.5k
Music & Morning Musume
bryan
47
7.1k
Thoughts on Productivity
jonyablonski
75
5.1k
The Hidden Cost of Media on the Web [PixelPalooza 2025]
tammyeverts
2
230
Noah Learner - AI + Me: how we built a GSC Bulk Export data pipeline
techseoconnect
PRO
0
120
Deep Space Network (abreviated)
tonyrice
0
79
Bridging the Design Gap: How Collaborative Modelling removes blockers to flow between stakeholders and teams @FastFlow conf
baasie
0
470
Evolution of real-time – Irina Nazarova, EuRuKo, 2024
irinanazarova
9
1.2k
HU Berlin: Industrial-Strength Natural Language Processing with spaCy and Prodigy
inesmontani
PRO
0
250
Transcript
%..TXJGU .FSHFBCMF-JCSBSZΛࢼͨ͠
w ۄᖒ༟و w ϓϥοτϑΥʔϜࣄۀຊ෦ w %..ϙΠϯτΫϥϒͷ։ൃ w ೝূ4%,ͷ։ൃ w (JU)VCTSFB
ൃදऀ
w .FSHFBCMF-JCSBSZͱ w Ϛʔδͨ͠ΞϓϦ͕ಈ͘·Ͱ w ֤छσʔλൺֱ w ·ͱΊ
.FSHFBCMF-JCSBSZͱ
.FSHFBCMF-JCSBSZͱ w 88%$Ͱൃද͞Εɺ9DPEF͔Βར༻Մೳ w ։ൃ࣌ͷϏϧυͱΞϓϦىಈΛߴԽΛཱ྆͢Δػೳ w ༻ʹ.FSHFBCMFͳ9$'SBNFXPSL࡞Մೳ
ϦϯΫͷछྨ ੩తϦϯΫ ಈతϦϯΫ ΞϓϦىಈ Ϗϧυ࣌ؒ ͍ ͍ ͍ ͍
Feature B App UI Feature A App .FSHFE 'FBUVSF" 'FBUVSF#
6* App Merged Feature A Feature B σόοάϏϧυ ϦϦʔεϏϧυ ϑΝΠϧαΠζ͔ᷮʹେ͖͘ͳΔΒ͍͠
.FSHFBCMF-JCSBSZͷར༻ํ๏ 9DPEFͰઃఆ͢Δ߹
.FSHFBCMF-JCSBSZͷར༻ํ๏ 9DPEF(FOͷ߹ w 4FUUJOHTͰԼهը૾ͷΑ͏ʹهࡌ͢Δ
ɹɹϚʔδͨ͠ΞϓϦ͕ಈ͘·Ͱ
%..ϙΠϯτΫϥϒͷϓϩδΣΫτߏ w ɹ9DPEF(FO w .VMUJ.PEVMF ׂػೳͰׂ͠ݸ΄Ͳ w 4XJGU1. 'JSFCBTFͳͲʜ w
$PDPB1PET 4XJGU1.ʹରԠ͍ͯ͠ͳ͍ϥΠϒϥϦ
͍͔͕ͭ͘ൃੜ
Feature B App Common Feature A ̍Ұ෦ΛϚʔδ͢Δέʔε &NCFE4JHO %P/PU&NCFE
Feature B App Library missing. Feature A Common 😱
None
Feature B App Common Feature A Merged Framework ղܾํ๏
Feature B App Feature A Merged Framework Common
Feature B App Common Feature A Merged Framework API UI
Domain
Feature B App Feature A Merged Framework Domain UI API
Common
̎MJOLFSΤϥʔ 9DPEFdͰൃੜɻ9DPEFͰൃੜͤͣɻ
̏#VOEMF͕ਖ਼͘͠ಡΈࠐΊͳ͍ #VOEMF GPS"OZ$MBTT Ͱ.BJO#VOEMFʹ͍ͯ͠·͏ɻ
̏#VOEMF͕ਖ਼͘͠ಡΈࠐΊͳ͍ Ϟδϡʔϧ໊Λͱʹ1BUIΛߏஙͯ͠ɺ#VOEMFΛੜ͢Δ͜ͱͰରԠ
̐9DPEF(FOͰͷࢦఆϛε QSPKFDUZNMʹl.BOVBMzͰͳ͘lNBOVBMzͱهࡌ͢Δ
̑(FOFSJDT %FCVHϏϧυʹݶΓɺ(FOFSJDTΛͬͨΫϥεͷ4ZNCPMղܾ͕Ͱ͖ͳ͍
̑(FOFSJDT &OBCMF5FTUBCJMJUZΛ/Pʹ͢Δ͜ͱͰճආՄೳ !UFTUBCMFJNQPSU999͕ར༻Ͱ͖ͳ͘ͳΔ
None
֤छσʔλൺֱ
σʔλൺֱʹ͍ͭͯ w શʹಉҰͷڥͰࢼ͍ͤͯ·ͤΜɻ w ϏϧυͰ͖ͳ͍ͳͲͷରॲʹΑΔӨڹؚ͕·Ε·͢ɻ
Ϗϧυͷൺֱ w Ϗϧυ࣌ؒͷࠩ w Ωϟογϡߏͷࠩ
Ϗϧυͷൺֱ %FCVH 0'' .BOVBM $MFBO#VJME *ODSFNFOUBM#VJME EJ ff T
T T T ܭଌϚγϯɿ.BD#PPL1SP()[ίΞ*OUFM$PSFJ(#4POPNB9DPEF Ϛʔδ͢ΔϑϨʔϜϫʔΫͷ $PEF4JHO$PQZॲཧ͕૿Ճ $SFBUF.FSHFE#JOBSZ
Ϗϧυͷൺֱ 3FMFBTF 0'' .BOVBM $MFBO#VJME T T ܭଌϚγϯɿ.BD#PPL1SP()[ίΞ*OUFM$PSFJ(#4POPNB9DPEF $SFBUF.FSHFE#JOBSZ
Mergeable OFF Mergeable ON
Ϗϧυͷൺֱ .FSHFE'SBNFXPSLͷߏࠩ σόοά ϦϦʔε
ΞϓϦىಈͷൺֱ *OTUSVNFOUTBQQ"QQ-BVODI ܭଌɿJ1IPOFNJOJJ04
ΞϓϦىಈͷൺֱ *OTUSVNFOUTBQQ"QQ-BVODI
ΞϓϦىಈͷൺֱ *OTUSVNFOUTBQQ"QQ-BVODI"QQ-JGFDZDMF w *OJUJBMJ[JOH w 1SPDFTT$SFBUJPO w 4ZTUFN*OUFSGBDF*OJUJBMJ[BUJPO w -BVODIJOH
w 6*,JU*OJUJBMJ[BUJPO w EJE'JOJTI-BVODIJOH8JUI0QUJPOT w 6*,JU4DFOF$SFBUJPO w TDFOF8JMM$POOFDU5P w 'PSFHSPVOE w "DUJWF
ΞϓϦىಈͷൺֱ 🥶$PME-BVODI ☺8BSN-BVODI ϝϞϦ্ ϓϩηε ଘࡏ͠ͳ͍ ଘࡏ͠ͳ͍ γεςϜαʔϏεͷ Ұ෦͕ଘࡏ ଘࡏ͠ͳ͍
ॳճىಈ εϚϗ࠶ىಈޙ ̍ىಈ͞Εͯ ͦͷޙڧ੍ऴྃ ঢ়ଶ
ΞϓϦىಈͷൺֱ .FSHFBCMF-JCSBSZ0'' NT 🥶$PME-BVODI ☺8BSN-BVODI T
ΞϓϦىಈͷൺֱ .FSHFBCMF-JCSBSZ0/ NT NT 🥶$PME-BVODI ☺8BSN-BVODI
ΞϓϦىಈͷൺֱ 🥶$PME-BVODI.FSHF0/ 🥶$PME-BVODI.FSHF0'' T Կ͔͕͋Δ NT ࠩNT
ΞϓϦىಈͷൺֱ .FSHFBCMF-JCSBSZ0'' ֤ϞδϡʔϧͷಈతϦϯΫॲཧ
ΞϓϦىಈͷൺֱ .FSHFBCMF-JCSBSZ0/ "VUPNBUJD ಈతϦϯΫॲཧ͕ແ͘ͳΔ
όΠφϦʔͷൺֱ w ϑΝΠϧαΠζͷҧ͍ w γϯϘϧͷҧ͍ w ϥΠϒϥϦࢀরͷҧ͍
ϑΝΠϧαΠζͷൺֱ 0'' "VUPNBUJD "QQ#JOBSZ 'SBNFXPSLT .# .# $SFBUF.FSHFE#JOBSZ .# .#
.# .# OTHER_LDFLAGS = -Wl,-no_exported_symbols .# .BOVBM .# .# .# .# .#
γϯϘϧͷൺֱ ONίϚϯυ 0'' "VUPNBUJD "QQ#JOBSZ 4ZNCPM $SFBUF.FSHFE#JOBSZ
.BOVBM
ϥΠϒϥϦࢀরͷൺֱ PUPPM-BQQ#JOBSZ 0'' 0/ 🈳
·ͱΊ w ։ൃମݧΛଛͳΘͣϢʔβʔମݧΛվળͰ͖ΔՄೳੑ͋Γ w ϦιʔεपΓͷѻ͏ํ๏ʹ՝ײ͋Γ w *OTUSVNFOUTͷ"QQ-BVODIͰɺݱঢ়ͷѲ͔Β࢝ΊΔͱྑ͍
ͦͷଞ ࠓճऔΓ্͛ΒΕͳ͔ͬͨͷ w J04͚ͷ#VOEMFݕࡧαϙʔτΛແޮԽ OTHER_LDFLAGS = -Wl,-no_merged_libraries_hook
ࢀߟࢿྉ w .FSHFBCMF-JCSBSZ w 88%$.FFUNFSHFBCMFMJCSBSJFT w $POGJHVSJOHZPVSQSPKFDUUPVTFNFSHFBCMFMJCSBSJFT w *OTUSVNFOUT"QQ-BVODI w
88%$0QUJNJ[JOH"QQ-BVODI w 3FEVDJOHZPVSBQQ`TMBVODIUJNF
͋Γ͕ͱ͏͍͟͝·ͨ͠ɻ