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.4k
1
Share
ぼくのアプリがカイゼンできない
HTML5 APP CONFERENCE 2018 で発表した内容です
https://html5app-conf.connpass.com/event/87730/
dsuket
July 08, 2018
More Decks by dsuket
See All by dsuket
RxJS概要とリアクティブ アーキテクチャ
dsuket
4
2.3k
Other Decks in Technology
See All in Technology
Forget technical debt
ufried
0
170
(きっとたぶん)人材育成や教育のような何かの話
sejima
0
650
サービスの信頼性を高めるため、形骸化した「プロダクションミーティング」を立て直すまでの取り組み
stefafafan
1
250
サンプリングは「作る」のか「使う」のか? 分散トレースのコストと運用を両立する実践的戦略 / Why you need the tail sampling and why you don't want it
ymotongpoo
3
130
Oracle Cloud Infrastructure presents managed, serverless MCP Servers for Oracle AI Database
thatjeffsmith
0
150
鹿野さんに聞く!CSSの最新トレンド Ver.2026
tonkotsuboy_com
6
2.5k
雑談は、センサーだった
bitkey
PRO
2
210
自動テストだけで リリース判断できるチームへ - 鍵はテストの量ではなくリリース判断基準の再設計にあった / Redesigning Release Criteria for Lightweight Releases
ewa
7
3.5k
Google Cloud Next '26 の裏でこっそりリリースされたCloud Number Registry & Cloud Hub コスト分析 を試してみた
hikaru1001
0
170
GitHub Copilot Dev Days
tomokusaba
0
150
オライリーイベント登壇資料「鉄リサイクル・産廃業界におけるAI技術実応用のカタチ」
takarasawa_
0
330
古今東西SRE
okaru
1
140
Featured
See All Featured
Building Applications with DynamoDB
mza
96
7k
What’s in a name? Adding method to the madness
productmarketing
PRO
24
4k
How Fast Is Fast Enough? [PerfNow 2025]
tammyeverts
3
560
How to train your dragon (web standard)
notwaldorf
97
6.6k
Marketing to machines
jonoalderson
1
5.2k
What the history of the web can teach us about the future of AI
inesmontani
PRO
1
550
職位にかかわらず全員がリーダーシップを発揮するチーム作り / Building a team where everyone can demonstrate leadership regardless of position
madoxten
62
54k
Building an army of robots
kneath
306
46k
The Cost Of JavaScript in 2023
addyosmani
55
9.9k
Java REST API Framework Comparison - PWX 2021
mraible
34
9.3k
Code Reviewing Like a Champion
maltzj
528
40k
State of Search Keynote: SEO is Dead Long Live SEO
ryanjones
0
190
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ͱ ΞϓϦ͕͖͢ ಓΛΓ։͘͜ͱͩο
օ༷ͷΞϓϦ͕ ࢁϦϦʔε͞Ε·͢Α͏ʹɻ ͝੩ௌ͋Γ͕ͱ͏͍͟͝·ͨ͠ɻ