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
·
SiteGround - Reliable hosting with speed, security, and support you can count on.
→
Paraya
October 10, 2017
Programming
1
170
命名おじさん
Paraya
October 10, 2017
Tweet
Share
More Decks by Paraya
See All by Paraya
J2K failure story : UNIT
paraya3636
0
110
J2Kコンバータをカスタマイズする ver: 5min
paraya3636
0
1.8k
J2Kコンバータをカスタマイズする
paraya3636
1
2.2k
Step up Kotlin
paraya3636
0
97
DDD失敗談
paraya3636
0
140
Other Decks in Programming
See All in Programming
責任感のあるCloudWatchアラームを設計しよう
akihisaikeda
3
180
CSC307 Lecture 04
javiergs
PRO
0
660
humanlayerのブログから学ぶ、良いCLAUDE.mdの書き方
tsukamoto1783
0
200
ノイジーネイバー問題を解決する 公平なキューイング
occhi
0
110
IFSによる形状設計/デモシーンの魅力 @ 慶應大学SFC
gam0022
1
310
Oxlint JS plugins
kazupon
1
970
Apache Iceberg V3 and migration to V3
tomtanaka
0
160
24時間止められないシステムを守る-医療ITにおけるランサムウェア対策の実際
koukimiura
1
100
15年続くIoTサービスのSREエンジニアが挑む分散トレーシング導入
melonps
2
220
AIエージェント、”どう作るか”で差は出るか? / AI Agents: Does the "How" Make a Difference?
rkaga
4
2k
CSC307 Lecture 06
javiergs
PRO
0
690
それ、本当に安全? ファイルアップロードで見落としがちなセキュリティリスクと対策
penpeen
7
3.9k
Featured
See All Featured
Side Projects
sachag
455
43k
Build your cross-platform service in a week with App Engine
jlugia
234
18k
SEO in 2025: How to Prepare for the Future of Search
ipullrank
3
3.3k
GitHub's CSS Performance
jonrohan
1032
470k
Stop Working from a Prison Cell
hatefulcrawdad
273
21k
We Are The Robots
honzajavorek
0
160
Discover your Explorer Soul
emna__ayadi
2
1.1k
Effective software design: The role of men in debugging patriarchy in IT @ Voxxed Days AMS
baasie
0
230
B2B Lead Gen: Tactics, Traps & Triumph
marketingsoph
0
55
Creating an realtime collaboration tool: Agile Flush - .NET Oxford
marcduiker
35
2.4k
職位にかかわらず全員がリーダーシップを発揮するチーム作り / Building a team where everyone can demonstrate leadership regardless of position
madoxten
57
50k
"I'm Feeling Lucky" - Building Great Search Experiences for Today's Users (#IAC19)
danielanewman
231
22k
Transcript
໋໊͓͡͞Μ Keisuke Miura IGNIS LTD.
ࣗݾհ • Android 3 / iOS3 • DDD / CleanArchitecture
/ CleanCode / Kotlinʹ ྗͯ͠Δ
໋໊͓͡͞Μ Keisuke Miura IGNIS LTD.
ΞδΣϯμ • ໋໊͓͡͞Μͷઆ໌ • ໋໊ʹͩ͜ΘΔཧ༝ • ·ͱΊ
͜Ε͔Β͘͝ී௨ͰҰൠతͳ Λ͠·͢ɻ ͔͠͠ϓϩάϥϜͷੈքͩͱ ୭͠ग़དྷ͓ͯΒͣɺͱͯ ͍͠ͳͷͩͱࢥͬͯͩ͘ ͍͞ɻ ຊ͕Կॻ͚ͯചΕΔϨϕϧͷͰ͢ʂ
໋໊͓͡͞Μͷઆ໌
໋໊͓͡͞Μͱ
None
͜Ε͕ΩοΧέͰ ໋໊͓͡͞ΜͱݺΕ ΔΑ͏ʹ
໋໊͓͡͞Μ͏͘͟ͳ ͍͔ͬ͢ʁͱ͍͏ؾ࣋ ͪɺ͋Δͱࢥ͍·͢ɻ ͏͍͟ͱࢥ͍·͢
ಈ͍ͯΔͳΒཁ݅ຬͨ ͯ͠ΔͷͰ Ϛʔδ͍ͨ͠ ϦϦʔε͍ͨ͠
ͳͥͦ͜·Ͱͩ͜ΘΔ ͷ͔
໋໊͓͡͞Μ͕ ໋໊ʹͩ͜ΘΔཧ༝
͠มΘΔͷͰ͕͢
ΦϒδΣΫτࢦͬͯ ͬͯ·͢ʁ
ΦϒδΣΫτࢦ • ΧϓηϧԽ • ܧঝ • ϙϦϞʔϑΟζϜ • ͏ΜͨΒ͔ΜͨΒ…
ͳͥΦϒδΣΫτࢦͰ࡞ Δ͖ͳͷ͔ͬͯ·͢ʁ
தଜ͞Μʂ
ͦΕਖ਼ղͰ͋Δͷ Ͱ͕͢…ਖ਼ղ
զʑਓ͕ؒࣗɺ ͜ͷੈքΛΦϒδΣΫτ ࢦͰଊ͍͑ͯΔ ͔ΒͰ͢ɻ
ΒͷෳࡶͳΛෳࡶͳ ··ߟ͑Δͷʹద͓ͯ͠Βͣɺ ɺࣄͱ͍͏֓೦ʹͯΊ ͯߟ͍͑ͯ·͢
ਫ Խ ʹ14.6g •৯ ણ ҡʹ1.5g ɹɹෆਫ༹ੑણҡʹ1.2g ɹɹਫ༹ੑણҡʹ0.3g
•λϯύΫ࣭ʹ0.2g •փɹɹɹʹ0.2g •ࢷɹɹɹ࣭ʹ0.1g ΦϒδΣΫτͷߏཁૉ ͜ΕΛͲ͏֮ͬͯ͑Δʁ ૬खʹ͑Δʁ ໊લͷແ͍ΦϒδΣΫτ
શ͖֮ͯ͑Εͳ͍ʂ ແཧʂ
ਫ Խ ʹ14.6g •৯ ણ ҡʹ1.5g ɹɹෆਫ༹ੑણҡʹ1.2g ɹɹਫ༹ੑણҡʹ0.3g
•λϯύΫ࣭ʹ0.2g •փɹɹɹʹ0.2g •ࢷɹɹɹ࣭ʹ0.1g ΦϒδΣΫτͷ֓೦Λද ໊͢લΛ͚Δ͜ͱͰཧ ղ͘͢͠ͳΔɻ Ϧϯΰ
ෳࡶͳɺࣄʹ దͳ໊લΛ͚Δͱ ཧղ͍͢͠
ٯʹݴ͏ͱదͰͳ͍ ໊લΛ͚Δͱɺͱͯ ͔Γਏ͍
ਫ Խ ʹ14.6g •৯ ણ ҡʹ1.5g ɹɹෆਫ༹ੑણҡʹ1.2g ɹɹਫ༹ੑણҡʹ0.3g
•λϯύΫ࣭ʹ0.2g •փɹɹɹʹ0.2g •ࢷɹɹɹ࣭ʹ0.1g దͰͳ໊͍લΛ͚ Δͱͱ͔ͯΓਏ͍ɻ ҧײΛײ͡Δɻ όφφ ΦϒδΣΫτͷཁૉͱ໊ લ͕טΈ߹͍ͬͯͳ͍
ෳࡶͳɺࣄʹదͨ͠ ໊લɺͭ·Γଞͷਓʹ ͔Δ໊લΛ͚ͳ͍ͱ͔ Γਏ͍
·ͨจ຺ʹ໊͋ͬͨલΛ ͚ͳ͍ͱ͔Γਏ͍Ͱ͢
จ຺ʹΑͬͯϦϯΰͱ͚ͩݴΘΕͯ அͰ͖ͳ͍έʔε͕͋Γ·͢ Ϧϯΰ͞Μͷ͓ (ೖΕͨ)Ϧϯΰ (ചͬͨ)Ϧϯΰ
໊લʹम০Λ͚Δ͜ͱͰͷจ ຺ʹ߹͏Α͏ʹͳΔ Ϧϯΰ͞Μͷ͓ ೖΕͨϦϯΰ ചͬͨϦϯΰ
͜ΕΒ
ϓϩάϥϛϯάʹ ͯ·Γ·͢
ͳͥͳΒਓ͕ؒෳࡶͳʹରॲ͢Δͨ ΊͷΦϒδΣΫτࢦ͕ɺϓϩάϥϛ ϯάͰར༻͞Ε͍ͯΔ͔ΒͰ͢
ෳࡶͳʹద໊ͨ͠લ Λ͚Δͱ͔Γ͢ ͍ɻ
దͳ໊લΛ͚Δͱ Ұ؏ͯ͑͠·͢ɻ Ϧϯΰ Ͳ͜ͰϦϯΰɻ
͜ΕΛDDDͰϢϏΩλεݴޠͱݴ͍·͢ɻ ϓϩάϥϜͰϦϯΰͲ͜·Ͱ͍ͬͯ ϦϯΰΛҡ࣋͢Δͱ͔Γ͍͢Ͱ͢ɻ fun cooking(banana: Apple) : AppleCake { val
cookingFood = cut(banana) return finish(cookingFood) } มʹ໊લΛ ม͑ͨΓ͠ͳ͍ appleͲ͜Ͱapple
·ͱΊ
• ෳࡶͳʹదͳ໊લΛ͚Α͏ɻ֓೦ Խ͢Δ͜ͱͰཧղ͘͢͠ͳΓ·͢ɻ • దͳ໊લҰ؏ੑΛ࣋ͪ·͢ɻϓϩάϥ Ϝاըॻ·ͰҰ؏໊ͨ͠લʹ͢Δͱཧ ղ͘͢͠ͳΓ·͢ɻ • ໊લ͚ͩͰจ຺ʹΑͬͯஅग़དྷͳ͍ έʔε͕͋Γ·͢ɻ໊લΛจ຺ʹ߹͏Α͏
ʹम০͠·͠ΐ͏ɻ
•࣮͢Δࡍจ຺Λҙࣝͨ͠ɺద͠ ໊ͨલΛٻ͠Α͏ɻ •಄ͷѱ͍ਓʹͳΒͳ͍Α͏ʹ͠Α͏
໋໊ͬͯେࣄ☺
࣭λΠϜ