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
Sponsored
·
Ship Features Fearlessly
Turn features on and off without deploys. Used by thousands of Ruby developers.
→
Keigo Ebihara
August 25, 2019
Programming
1
1.8k
しんどくならないモジュール分割
Elmアプリケーションの規模が大きくなってきたときのモジュールを分割する方法について考えてみました
Keigo Ebihara
August 25, 2019
Tweet
Share
More Decks by Keigo Ebihara
See All by Keigo Ebihara
tRPCを実務に導入して分かった旨味と苦味
misoton665
5
2.3k
バリデーションライブラリをフォームバリデーション以外で活用する
misoton665
0
1k
Animated APIを使ってスクロールで隠れる“あのバー”を作る
misoton665
0
390
Other Decks in Programming
See All in Programming
メルカリのリーダビリティチームが取り組む、AI時代のスケーラブルな品質文化
cloverrose
2
510
Fluid Templating in TYPO3 14
s2b
0
130
疑似コードによるプロンプト記述、どのくらい正確に実行される?
kokuyouwind
0
380
Automatic Grammar Agreementと Markdown Extended Attributes について
kishikawakatsumi
0
180
Implementation Patterns
denyspoltorak
0
280
2026年 エンジニアリング自己学習法
yumechi
0
130
LLM Observabilityによる 対話型音声AIアプリケーションの安定運用
gekko0114
2
430
AI によるインシデント初動調査の自動化を行う AI インシデントコマンダーを作った話
azukiazusa1
1
710
Rust 製のコードエディタ “Zed” を使ってみた
nearme_tech
PRO
0
160
AI Agent の開発と運用を支える Durable Execution #AgentsInProd
izumin5210
7
2.3k
それ、本当に安全? ファイルアップロードで見落としがちなセキュリティリスクと対策
penpeen
7
3.8k
CSC307 Lecture 05
javiergs
PRO
0
500
Featured
See All Featured
Stop Working from a Prison Cell
hatefulcrawdad
273
21k
Darren the Foodie - Storyboard
khoart
PRO
2
2.4k
Scaling GitHub
holman
464
140k
Money Talks: Using Revenue to Get Sh*t Done
nikkihalliwell
0
150
Let's Do A Bunch of Simple Stuff to Make Websites Faster
chriscoyier
508
140k
Connecting the Dots Between Site Speed, User Experience & Your Business [WebExpo 2025]
tammyeverts
11
820
Discover your Explorer Soul
emna__ayadi
2
1.1k
Are puppies a ranking factor?
jonoalderson
1
2.7k
The Language of Interfaces
destraynor
162
26k
Helping Users Find Their Own Way: Creating Modern Search Experiences
danielanewman
31
3.1k
Public Speaking Without Barfing On Your Shoes - THAT 2023
reverentgeek
1
300
Navigating the Design Leadership Dip - Product Design Week Design Leaders+ Conference 2024
apolaine
0
170
Transcript
͠ΜͲ͘ͳΒͳ͍ Ϟδϡʔϧׂ "VH &MNNFFUVQJO4VNNFS !NJTPUPO
ࣗݾհ ւݪܓޗ!NJTPUPO 'SJOHFגࣜձࣾ 6OJQPTϑϩϯτΤϯυΤϯδχΞ &MN 3FBDU/BUJWF 4DBMB ઌ݄ͷ8&# %#13&44Ͱ &MNͷҰൠهࣄΛॻ͔ͤͯ
͍͖ͨͩ·ͨ͠ɻ
͜ͷΞϓϦͲ͏࡞Γ·͔͢ʁ
&MNΛॻ͍ͨ͜ͱ͕͋ΔਓͳΒ ؆୯ͳͣ
͝ͱʹNPEVMFΛׂ͢Δ ͱͨ͠ΒͲ͏࡞Γ·͔͢ʁ
IUUQTHVJEFFMNMBOHKQXFCBQQTTUSVDUVSFIUNMl"O*OUSPEVDUJPOUP&MNzΑΓ
IUUQTHVJEFFMNMBOHKQXFCBQQTTUSVDUVSFIUNMl"O*OUSPEVDUJPOUP&MNzΑΓ ཁ ॳΊ͔ΒϑΝΠϧΛࡉ͔͚ͯ͘ॻ͘ͷΦεεϝ͠·ͤΜɻ ͨͱ͑ߦʹͳͬͨͱͯ͠େৎɻ ͦ͏ɺ&MNͳΒͶɻ
ׂ͍͚ͯ͠ͳ͍ ແҋ୫ͱׂ͍͚ͯ͠ͳ͍
ͬͺΓ͍͔ͭ ׂ͠ͳ͚ΕͳΒͳ͍
ϞδϡʔϧΛׂ͢Δ࣌ͷ͜ͱΛ ߟ͑ͯΈ·͢
ׂ͢Δ࣌ʹߟ͑Δ͜ͱ w ׂ͢Δ୯Ґ w σΟϨΫτϦߏ w ϞδϡʔϧͷΠϯλʔϑΣΠε w ଞʹ৭ʑ
ׂ͢Δ࣌ʹߟ͑Δ͜ͱ w ׂ͢Δ୯Ґ w σΟϨΫτϦߏ w ϞδϡʔϧͷΠϯλʔϑΣΠεˡ͜͜ͷΛ͠·͢ w ଞʹ৭ʑ
ׂ͠ͳ͍࣌ͱͷҧ͍ .PEVMF $IJME" $IJME# 1BSUT" 1BSUT# 1BSFOU ׂ͠ͳ͍߹ ׂ͢Δ߹ ׂΛ͢Δ߹ϞδϡʔϧͱࢠϞδϡʔϧͷ
ίϛϡχέʔγϣϯ͕ඞཁʹͳΔ
ͱࢠͷίϛϡχέʔγϣϯ w ࢠ͔ΒʹɺࢠͷλΠϛϯάͰ࡞༻͢Δ w ͔ΒࢠʹɺͷλΠϛϯάͰ࡞༻͢Δ $IJME" $IJME# 1BSFOU
಄ͷྫͰݴ͏ͱ ࢠ"ͷϘλϯΛԡͨ͜͠ͱΛʹ͑ ࢠ͔Β ͕ࢠ#ͷΧϯτΛ ͢Δ ͔Βࢠ
ࢠ͔Β w ࢠͲΜͳʹΘΕͯΔͷ͔Βͳ͍ͨΊɺͷ.THΛ ͏͜ͱͰ͖ͳ͍ɻ w ࢠͷϘλϯ͕ԡ͞Εͨ࣌ͷίʔϧόοΫͷΑ͏ͳͷ͕͋Ε ࣮ݱͰ͖ͦ͏ɻ 1BSFOU $IJME
ίʔϧόοΫͷΘΓʹ $NEΛ༻͢Δ w ҙͷ.THΛൃߦ͢Δ$NEΛ࡞Δؔ w ͷ.THΛൃߦ͢Δ$NEΛࢠͷVQEBUFؔʹ͢ɻ w ࢠ͕ͦͷ$NEΛฦ٫͢ΕίʔϧόοΫ͕ى͖Δɻ
w $NEOPOFΛฦͤίʔϧόοΫى͖ͳ͍ɻ w ͭ·Γɺࢠ͕ͷ.THΛൃߦ͢Δ͔બͰ͖Δɻ
$NEΛίʔϧόοΫʹ͏ VQEBUFؔ ͍ͭͷVQEBUFؔ ίʔϧόοΫΛઃఆͰ͖ΔVQEBUFؔ
ࢠ͔Βͷ.THΛୟ͘ϑϩʔ 1BSFOU $IJME &MN3VOUJNF ࢠͷVQEBUFؔʹίʔϧόοΫ༻ͷ$NEΛ͢ɻ ࢠίʔϧόοΫ༻ͷ$NEΛฦ٫͢Δɻ ͦͷ$NEΛ&MN3VOUJNFʹฦ٫͢Δɻ
&MN3VOUJNF$NEΛղऍͯ͠ͷ.THΛൃߦ͢Δɻ
͔Βࢠ w ͲΜͳࢠΛΘΕͯΔͷ͔Λ͍ͬͯΔͨΊɺࢠʹఆٛ ͞ΕͨؔΛ͏͜ͱ͕Ͱ͖Δɻ 1BSFOU $IJME
ࢠͷ.THΛൃߦ͢Δ$NE w ίʔϧόοΫͷ࣌ͱಉ༷ʹࢠͷ.THΛൃߦ͢Δ$NEΛ࡞ ͯ͠FYQPTJOH͢Δɻ w VQEBUFؔͰࣗͷ.THʹ$NENBQͯ͠༻͢Δɻ
͕ࢠͷ.THΛୟ͘ϑϩʔ 1BSFOU $IJME &MN3VOUJNF ࢠ͕ެ։͍ͯ͠Δ$NEΛ&MN3VOUJNFʹฦ٫͢Δɻ &MN3VOUJNF$NEΛղऍͯ͠ͷ.THΛൃߦ͢Δɻ .THΛղऍͯ͠ࢠͷVQEBUFؔΛݺͿɻ
·ͱΊͱҙ w ࢠ͔ΒʹɺࢠͷλΠϛϯάͰ࡞༻͢Δ ˠࢠͷVQEBUFؔʹͷίʔϧόοΫ༻$NEΛ͢ɻ w ͔ΒࢠʹɺͷλΠϛϯάͰ࡞༻͢Δ ˠࢠ͕֎෦͔Β͏ͨΊͷ$NEΛެ։͕ͦ͠ΕΛୟ͘ɻ w
ࡐʹͨ͠ΞϓϦέʔγϣϯʹରͯ͠໌Β͔ʹաͰ͢ɻ w EJTQBUDIؔଟ༻͢Δͱίʔυ͕ෳࡶʹͳΔͷͰҙɻ
ͤͳ͔ͬͨʜ w ࢠͷ7JFXؔʹ.THΛ͚ͩ͢͡Όμϝͳͷʁ w ͷίʔϧόοΫ$NE͡Όͳ͘.TH͡Όμϝͳͷʁ w ࢠ.PEFM.PEFMͳؔΛެ։͢Εྑ͍͡Όͳ͍ɻ w QPSU͕བྷΜͩͱ͖ʁ
͝ਗ਼ௌ͋Γ͕ͱ͏͍͟͝·ͨ͠ɻ ͤͳ͔ͬͨ͜ͱ͕ͨ͘͞Μ͋ΔͷͰɺଓ͖࠙ձͰʂ