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
dsuket
July 08, 2018
Technology
1
1.3k
ぼくのアプリがカイゼンできない
HTML5 APP CONFERENCE 2018 で発表した内容です
https://html5app-conf.connpass.com/event/87730/
dsuket
July 08, 2018
Tweet
Share
More Decks by dsuket
See All by dsuket
RxJS概要とリアクティブ アーキテクチャ
dsuket
4
2.2k
Other Decks in Technology
See All in Technology
Zephyr(RTOS)にEdge AIを組み込んでみた話
iotengineer22
1
320
OCIjp_Oracle AI World_Recap
shinpy
1
170
Observability — Extending Into Incident Response
nari_ex
1
150
だいたい分かった気になる 『SREの知識地図』 / introduction-to-sre-knowledge-map-book
katsuhisa91
PRO
3
1.4k
オブザーバビリティが育むシステム理解と好奇心
maruloop
1
800
【SORACOM UG Explorer 2025】さらなる10年へ ~ SORACOM MVC 発表
soracom
PRO
0
110
ViteとTypeScriptのProject Referencesで 大規模モノレポのUIカタログのリリースサイクルを高速化する
shuta13
3
190
Introduction to Sansan for Engineers / エンジニア向け会社紹介
sansan33
PRO
5
43k
Introdução a Service Mesh usando o Istio
aeciopires
1
280
[VPoE Global Summit] サービスレベル目標による信頼性への投資最適化
satos
0
240
Kubernetes self-healing of your workload
hwchiu
0
460
ソースを読む時の思考プロセスの例-MkDocs
sat
PRO
1
150
Featured
See All Featured
Automating Front-end Workflow
addyosmani
1371
200k
Making Projects Easy
brettharned
120
6.4k
Build The Right Thing And Hit Your Dates
maggiecrowley
38
2.9k
Leading Effective Engineering Teams in the AI Era
addyosmani
7
600
10 Git Anti Patterns You Should be Aware of
lemiorhan
PRO
657
61k
Visualization
eitanlees
149
16k
How to Create Impact in a Changing Tech Landscape [PerfNow 2023]
tammyeverts
55
3k
I Don’t Have Time: Getting Over the Fear to Launch Your Podcast
jcasabona
34
2.5k
CSS Pre-Processors: Stylus, Less & Sass
bermonpainter
359
30k
Writing Fast Ruby
sferik
630
62k
Rails Girls Zürich Keynote
gr2m
95
14k
Principles of Awesome APIs and How to Build Them.
keavy
127
17k
Transcript
18"J04"OESPJEରԠ͢Δ)5.-ΞϓϦΛ ࣮ϓϩμΫτͰ͍͔ʹߏங͠ɺҭ͍ͯͯ͘ͷ͔ɻ ʙॳظ։ൃ͔ΒͷେنϦϑΝΫλϦϯάΛܦͯಘͨݟʙ ぼくのアプリが カイゼンできない!
$.
https://techfeed.io
ࠓ͙͢ݕࡧʂʂ
$.͓ΘΓ
ͷΞϓϦ͕ վળͰ͖ͳ͍ʂ 18"J04"OESPJEରԠ͢Δ)5.-ΞϓϦΛ ࣮ϓϩμΫτͰ͍͔ʹߏங͠ɺҭ͍ͯͯ͘ͷ͔ɻ ʙॳظ։ൃ͔ΒͷେنϦϑΝΫλϦϯάΛܦͯಘͨݟʙ
ϓϩϩʔά ʮͬͨʂ)5.-ΞϓϦͰ͖ͨʂϦϦʔεͩʂʂʯ ͓ΊͰͱ͏͍͟͝·͢ɻ ͔͠͠ɺຊͷΞϓϦ։ൃ ͜Ε͔ΒͩͬͨͷͰ͢ʜ
ޙŋŋŋ ͋ΕʁͳΜ͔ಈ͔ͳ͍ͱ͔ΫϨʔϜདྷͨͧɻ Ϣʔβʔͷ͕ݟ͑ͳ͍ͷͰΤϥʔ͕࠶ݱͰ͖ͳ͍ͳʜ ୀձ͕ଓ͍ͯΔͳ͊ Կ͕ݪҼ͔Α͔͘Βͳ͍ʜ ৽͍͠ػೳΛՃ͠Α͏ʂ طଘίʔυ͕ϘϩϘϩ͗ͯ͢ ϦϑΝΫλϦϯά͠ͳ͍ͱͩɻ ϦϑΝΫλϦϯάͨ͠Βಈ͔ͳ͘ͳͬͨʂ
ࠓ͓͢͠Δ͜ͱ w ΞϓϦग़͔ͯ͠Β͕େมʂ w Γ͍ͨࣄɺΒͳ͖Ό͍͚ͳ͍ࣄ͕ࢁ΄Ͳग़ͯ͘Δ w ۓٸରԠɺόάʹΘΕͯվળͰ͖ͳ͍ w Ͳ͕͜ϙΠϯτͳͷ͔͔Βͳ͍ɺͳʹ͔ΒखΛ͚ͭ Δ͔ࢦඪ͕ͳ͍
w ͱɺͳΒͳ͍ͨΊʹɺ४උΛ͔ͬ͠Γ͠·͠ΐ͏
Ͱͳ͍
ࠓ͍͑ͨ͜ͱ ຬͷ͍͘ͷઈର࡞Εͳ͍ɻૣ͘ϓϩ μΫτΞτͯ͠ࢢͰ͔֬ΊΔɻ ૣ͘ग़ͯ͠ɺૣ͘վળΛճ͢͜ͱ͕ॏཁ ͦͷͨΊͷ)5.-ͷΞϓϦ͡Όͳ͍ͷ͔ɻ ૣ͍ɺ͍҆ɺͦͦ͜͜͏·͍ ͦͷͨΊͷώϯτΛ͓͠͠·͢ɻ
࣍ ٕज़બఆ ։ൃڥ ઃܭ ςετ
ϩΪϯά ࢹ ੳ
ɽٕज़બఆ
͍͖ͳΓΉ͍ͣ ͜Ε͚ͩͰ࣌ؒޠΕͦ͏
ΞϓϦ։ൃͷछྨ wωΠςΟϒΞϓϦ w"OESPJEʢ+BWB ,PUMJOʣ wJ04ʢ0CKFDUJWF$ɼ4XJGUʣ wϋΠϒϦουΞϓϦ wωΠςΟϒϕʔεʢ9BNBSJO$ 3FBDU/BUJWF+4 'MVUUFS%BSUʣ w)5.-ϕʔεʢ$PSEPWB+4ʣ
ͦͦϋΠϒϦουʹ͢Δඞཁ͋Δͷ͔ʁ ʮ"JSCOC3FBDU/BUJWFΊΔͬͯΑʯ ͕ʹͳΓ·ͨ͠Ͷɻ
Φʔόʔϔου w ͕ॏͳΔ΄Ͳ͍ΖΜͳΦʔόʔϔου͕େ͖͍ɻ w ύϑΥʔϚϯε໘Ͱେվળͭͭ͠ΤίγεςϜͷϥΠϑαΠΫ ϧͳͲʹେ͖ͳӨڹɻ w ྫ͑ɺ৽͍͠04όʔδϣϯ͕ग़ͨͱ͖ɺDPSEPWBQMVHJO͕ରԠ͢ Δ·ͰλΠϜϥά͕ΘΓͱ͋Δ͠ɺͷʹΑͬͯରԠ͞Εͳ͍ɻ DPSEPWBωΠςΟϒϕʔεͷϋΠϒϦου
ӽ͑ΒΕͳ͍น ωΠςΟϒ
બఆϑϩʔνϟʔτ w Β͔ͳΞχϝʔγϣϯύϑΥʔϚϯε͕ॏཁʢήʔϜͳͲʣ ˠ:FTωΠςΟϒΞϓϦ w ωΠςΟϒͷ৽͍͠ػೳ͕ඞཁʢ"3ͳͲʣ ˠ:FTωΠςΟϒΞϓϦ w ͦΕҎ֎ʢ࣍1BHFʣ ΫϩεϓϥοτϑΥʔϜͷΞϓϦΛ։ൃ͢Δͱ͖ͷ
ϑϩʔνϟʔτΛߟ͑ͯΈͨ
બఆϑϩʔνϟʔτ w ωΠςΟϒͷ։ൃऀ͕͍Δ w :FTJ04"OESPJEͷͦΕͧΕ͍Δ w :FTˠωΠςΟϒΞϓϦ w /Pʢยํ͔͍͠ͳ͍ʣ w
༧ࢉɺظ͕ؒ͋Δ w :FTˠωΠςΟϒΞϓϦ w /Pʢ༧ࢉɺظ͕ؒͳ͍ʣ ˠϋΠϒϦουΞϓϦʢωΠςΟϒϕʔεʣ ·ͣҰͭͷϓϥοτϑΥʔϜͰ
બఆϑϩʔνϟʔτ w/PʢωΠςΟϒͷ։ൃऀ͕͍ͳ͍ʣ w8FCΞϓϦͷ։ൃ͕ಘҙ w:FTظతӡ༻ͱ֦ு͕ܾ·͍ͬͯͯɺ༧ࢉ͋Δ w:FTˠωΠςΟϒษڧͯ͠ωΠςΟϒͬͨ΄͏͕͍͍ɻ·ͨ ωΠςΟϒϕʔεͷϋΠϒϦου։ൃ w/Pʢ༧ࢉظؒͳ͍ʣ·ͨ18"ϦϦʔε͍ͨ͠ ˠϋΠϒϦουʢ)5.-ϕʔεʣ w/Pʢ8FCΞϓϦͷ։ൃ͕ಘҙͰͳ͍ʣ ˠωΠςΟϒษڧͯ͠ωΠςΟϒͬͨ΄͏͕͍͍ɻ·ͨω
ΠςΟϒϕʔεͷϋΠϒϦου։ൃ
ͪΐͬͱ·ͯɺ)5.-ΞϓϦɺ ΄ͱΜͲग़൪ͳ͍͡Όͳ͍͔ʂʁ
େৎͰ͢ɻ ࣮݁ߏ֘͢Δɻ
)5.-ΞϓϦͷదॴ ͓ۚͱ࣌ؒʹ༨༟͕͋ΔͳΒωΠςΟϒ͕͍͍ʂ ͱ͍͑ɺݱ࣮తʹͦΜͳ͜ͱكɻ ελʔτΞοϓʹ͓͍ͯܧଓੑͱ͔༧ࢉͱ͔͋Δ Θ͚ͳ͍ɻ ࠷ॳίετͰ؆୯ʹ࡞ΕΔ)5.-ΞϓϦͷ ັྗେ͖͍ɻ
ಋೖͱӡ༻ DPSEPWBωΠςΟϒϕʔεͷϋΠϒϦου ӽ͑ΒΕͳ͍น ωΠςΟϒ ಋೖίετ DPSEPWBωΠςΟϒϕʔεͷϋΠϒϦου ӽ͑ΒΕͳ͍น ωΠςΟϒ
ӡ༻ίετ ˞ݸਓͷײͰ͢ ˞ݸਓͷײͰ͢ ۜͷؙͳ͍ɻ ίετΛઌʹ͔࣋ͭɺޙʹπέΔ͔ͷҧ͍ɻ
ɽ։ൃڥ
ݴޠ ͳΜͰ͍͍͕ɺܕॏཁʂ ੩తʢਐతʣܕ͚ݴޠΛڧ͘Φεεϝ͢Δɻ ʢ࠷ۙͷେମ͋Δ5ZQF4DSJQU %BSU ,PUMJO FUDʣ ΞϓϦ͕͍ͯ͘͠ͱ͖ɺϦϑΝΫλϦϯάඞͣى͖Δɻ ͦͷ࣌ɺܕ͕͋Δ͔ͳ͍͔Ͱۤ͠Έ͕େҧ͏ɻ νΣοΫݫ͠Ίʹ
ʢTUSJDU/VMM$IFDLTɺTUSJDU1SPQFSUZ*OJUJBMJ[BUJPOͱ͔0/ʹ͍ͨ͠ʣ
)PU3FMPBE -JWF3FMPBE)PU3FMPBEͬͺཉ͍͠ -JWF3FMPBE ιʔε͕มߋ͞ΕΔͱϏϧυ͞Εͯը໘͕ࣗಈͰϦϩʔυ͞ΕΔɻ )PU3FMPBE ιʔε͕มߋ͞ΕΔͱϏϧυ͞Εͯը໘ͷҰ෦͕ࣗಈͰஔ͖ΘΔɻ ࠷ۙͷ'8େମͬͯΔ
։ൃ༻ΞϓϦ ։ൃ༻ͱຊ൪༻ͷΞϓϦ͚ͨ΄͏͕͍͍ɻ Ͱ͖Εεςʔδϯάɻ ຖճΞϓϦΛ্ॻ͖Πϯετʔϧͱ͔໘͗͢Ͱ͢ΑͶɻ Γํ'8ʹΑͬͯ৭ʑɻجຊόϯυϧ*%Λ͚Δ
ɽઃܭ
4FSWJDFͷઃܭ w ϏδωεϩδοΫΛ୲͏ʢ"OHVMBSͰ4FSWJDFͳͲʣ ϑϨʔϜϫʔΫʹґଘ͠ͳ͍ w ͪΖΜ7JFXʹґଘ͠ͳ͍ w ͱ͍͑ɺΓґଘ͢Δͷ͋Δɻ w ͦΕΒ$POUSPMMFSͱͯ͠4FSWJDFͱผʹཧ͢Δɻ
୯ମςετ͘͢͠ͳΓɺϙʔλϏϦςΟ্͕Δɻ ˓4FSWJDF4FSWJDF ˓$POUSPMMFS4FSWJDF ˓$POUSPMMFS7JFX º4FSWJDF7JFX º4FSWJDF$POUSPMMFS
4FSWJDFͷઃܭ w QVCMJDͳΠϯλʔϑΣʔεجຊతʹશͯ 4USFBNPS1SPNJTFΛฦ͢ɻ w ޙ͔Βඇಉظʹ͢ΔͷπϥΠͨΊɺ࠷ॳ͔Β ඇಉظʹ͓ͯ͘͠ɻ w &4ͳΒBTZODBXBJU͔ͭ͏ͱ؆୯ɻ ֦ுੑͱϙʔλϏϦςΟ্͕͕Δɻ
1SFTFOUBUJPOBM$PNQPOFOUT w 1SFTFOUBUJPOBM %VNC DPNQPOFOU w ೖ͞ΕͨσʔλΛදࣔ͢Δ͚ͩɻ w ࠶ར༻ੑ͕ߴ͍ w
$POUBJOFS 4NBSU DPNQPOFOU w 1SFTFOUBUJPOBMσʔλΛͨ͠Γɺෳ੍ޚͨ͠Γ͢Δɻ w ͋ΔఔͷػೳΛ࣋ͬͨͷͰɺڽͬͨ7JFX࣋ͨͳ͍ɻ 4FF1SFTFOUBUJPOBMBOE$POUBJOFS$PNQPOFOUT IUUQTNFEJVNDPN!EBO@BCSBNPWTNBSUBOEEVNCDPNQPOFOUTDBGBDE
ɽςετ
ΫϥΠΞϯτςετ ςετॏཁɻ ͔͠͠ɺΫϥΠΞϯτςετ͍͠ɻ ͳ͍͔ͥ͠ʁ ɾͦͦ6*ͷςετ͠ΜͲ͍ ɾͦΕʹՃ͑ͯ6*සൟʹมΘΔɻ ɾै͢Δͷϝϯςφϯείετ͕ߴ͍ ςετͷରΛߜΔ ɾ4FSWJDFʢϏδωεϩδοΫʣͷςετΛத৺ʹ ɾྑ͘όά͕ग़Δɺக໋తͳͱ͜Ζ6*ςετ
ΫϥΠΞϯτςετߏ w ϩʔΧϧςετʢσόοάʣ ,BSNB +BTNJOF $ISPNF w $*αʔό ,BSNB +BTNJOF
$ISPNF)FBEMFTT
ϓϩμΫγϣϯίʔυͷܕͱςετͰଅਐ ͞ΕΔʂ ܕͰ੩తʹνΣοΫ͠ɺಈతͳ༷ςετͰ୲อ͢Δɻ ͜ΕΒೋ͕ͭ͋ΔͱɺվળͷͨΊͷϦϑΝΫλϦϯά ڪ͘ͳ͍ʂ ෭࡞༻ͱͯ͠ ςετ͍͢͠ίʔυΛҙࣝ͢Δͱɺίʔυ͕ݟ௨͠Α͘៉ྷʹͳΔɻ
ɽϩΪϯά
ϩάͷछྨ wΞϓϦέʔγϣϯϩά ΞϓϦέʔγϣϯͷڍಈͷϩάɻओʹ%FCVH༻ wૢ࡞ϩά ͲͷϘλϯΛԡͨ͠ͷ͔ɺΛೖྗ͔ͨ͠Ϣʔβʔૢ࡞ͷϩά wύϑΥʔϚϯεϩά ॳظԽ࣌ؒɺը໘ϩʔυɺߋ৽ύϑΥʔϚϯεͷଌఆ݁Ռ wΤϥʔϩά Τϥʔ͕ى͖ͨͱ͖ͷϩάɻোղੳʹඞਢ
DMJFOUMPHHFS ཁ݅ w ϩάϨϕϧʹΑΔग़͚͠ w αʔόͷૹ৴ w ·ͱΊͯѹॖɺΤϥʔ࣌ͷԆ࠶ૹͳͲ 5FDI'FFEͰࣗ࡞ͨ͠
ϩάσʔλ ΫϥΠΞϯτϩάʹඞཁͳ߲ w *% w ࣌ࠁ w ϓϥοτϑΥʔϜʢJ04 BOESPJE XFCʣͱόʔδϣϯ
w "QQόʔδϣϯ w Ϣʔβ*%ʢϩάΠϯͯ͠Εʣ w ૢ࡞*% w ը໘*% w Τϥʔʢ͋Εʣ
ɽࢹ
ࢹ ࢹ߲ w %#ɺαʔόʔɺ"1*ͷࢮ׆ࢹ w $16ɺϝϞϦɺ%JTLͳͲͷϦιʔεࢹ w ΞϓϦέʔγϣϯͷϩάࢹ w ύϑΥʔϚϯεࢹ
ࢹαʔϏε w .BDLFSFM /FXSFMJD EBUBEPHͳͲ
ɽੳ
ੳ w 8FC(PPHMF"OBMZUJDTɺΞϓϦͰ'JSFCBTF "OBMZUJDT͕Ұൠత w 5FDI'FFEͰ18"ͱซͤͯ("Ͱߦ͍ͬͯΔ w 1BHF7JFXɺ&WFOUͷଌఆ͕ॏཁ w ผ్#JH2VFSZ׆༻
·ͱΊ
·ͱΊ w ΞϓϦΛܧଓతʹվળ͢ΔώϯτΛհ͠·ͨ͠ɻ w શ෦ΛΔඞཁͳ͍ɻ w ܕͱςετॏཁͳͷͰڧ͘Φεεϝɻ w ४උʹ͔͚࣌ؒ͗ͯ͢ϦϦʔεͰ͖ͳ͍ͷຊసɻ ਐతʹվળ͍͚ͯ͠Α͍ɻ
w ͜͏͍͏͜ͱΛ5FBNͰೝࣝͯ͠ߦ͏֮ޛ͕ඞཁɻ
ʮ֮ޛʼnͱ ΞϓϦ͕͖͢ ಓΛΓ։͘͜ͱͩο
օ༷ͷΞϓϦ͕ ࢁϦϦʔε͞Ε·͢Α͏ʹɻ ͝੩ௌ͋Γ͕ͱ͏͍͟͝·ͨ͠ɻ