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
株式会社Awarefy(アウェアファイ)会社説明資料 / Awarefy-Company-Deck
awarefy
3
11k
EMConf JP 2025 懇親会LT / EMConf JP 2025 social gathering
sugamasao
2
190
いまからでも遅くない!コンテナでWebアプリを動かしてみよう!コンテナハンズオン編
nomu
0
150
依存パッケージの更新はコツコツが勝つコツ! / phpcon_nagoya2025
blue_goheimochi
3
210
RemoveだらけのPHPUnit 12に備えよう
cocoeyes02
0
280
システム・ML活用を広げるdbtのデータモデリング / Expanding System & ML Use with dbt Modeling
i125
1
320
Oracle Database Technology Night #87-1 : Exadata Database Service on Exascale Infrastructure(ExaDB-XS)サービス詳細
oracle4engineer
PRO
1
170
AWS Well-Architected Frameworkで学ぶAmazon ECSのセキュリティ対策
umekou
2
140
Autonomous Database Serverless 技術詳細 / adb-s_technical_detail_jp
oracle4engineer
PRO
17
45k
コンピュータビジョンの社会実装について考えていたらゲームを作っていた話
takmin
1
600
Amazon Aurora のバージョンアップ手法について
smt7174
2
140
Iceberg Meetup Japan #1 : Iceberg and Databricks
databricksjapan
0
350
Featured
See All Featured
How to Ace a Technical Interview
jacobian
276
23k
How To Stay Up To Date on Web Technology
chriscoyier
790
250k
[RailsConf 2023] Rails as a piece of cake
palkan
53
5.3k
Agile that works and the tools we love
rasmusluckow
328
21k
Building Applications with DynamoDB
mza
93
6.2k
Site-Speed That Sticks
csswizardry
4
400
4 Signs Your Business is Dying
shpigford
182
22k
Gamification - CAS2011
davidbonilla
80
5.2k
Distributed Sagas: A Protocol for Coordinating Microservices
caitiem20
330
21k
GraphQLの誤解/rethinking-graphql
sonatard
68
10k
jQuery: Nuts, Bolts and Bling
dougneiner
63
7.7k
Unsuck your backbone
ammeep
669
57k
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ͱ ΞϓϦ͕͖͢ ಓΛΓ։͘͜ͱͩο
օ༷ͷΞϓϦ͕ ࢁϦϦʔε͞Ε·͢Α͏ʹɻ ͝੩ௌ͋Γ͕ͱ͏͍͟͝·ͨ͠ɻ