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
研究開発部メンバーの働き⽅ / Sansan R&D Profile
sansan33
PRO
3
20k
AI時代だからこそ考える、僕らが本当につくりたいスクラムチーム / A Scrum Team we really want to create in this AI era
takaking22
6
3k
AI Agentと MCP Serverで実現する iOSアプリの 自動テスト作成の効率化
spiderplus_cb
0
460
生成AIで「お客様の声」を ストーリーに変える 新潮流「Generative ETL」
ishikawa_satoru
1
290
#普通の文系サラリーマンチャレンジ 自分でアプリ開発と電子工作を続けたら人生が変わった
tatsuya1970
0
930
PLaMo2シリーズのvLLM実装 / PFN LLM セミナー
pfn
PRO
2
930
バイブコーディングと継続的デプロイメント
nwiizo
2
400
KAGのLT会 #8 - 東京リージョンでGAしたAmazon Q in QuickSightを使って、報告用の資料を作ってみた
0air
0
200
AIAgentの限界を超え、 現場を動かすWorkflowAgentの設計と実践
miyatakoji
0
120
20250929_QaaS_vol20
mura_shin
0
110
リーダーになったら未来を語れるようになろう/Speak the Future
sanogemaru
0
260
実装で解き明かす並行処理の歴史
zozotech
PRO
1
300
Featured
See All Featured
Become a Pro
speakerdeck
PRO
29
5.5k
Context Engineering - Making Every Token Count
addyosmani
4
170
Visualizing Your Data: Incorporating Mongo into Loggly Infrastructure
mongodb
48
9.7k
The Invisible Side of Design
smashingmag
301
51k
GitHub's CSS Performance
jonrohan
1032
460k
BBQ
matthewcrist
89
9.8k
Designing Experiences People Love
moore
142
24k
Balancing Empowerment & Direction
lara
4
670
Automating Front-end Workflow
addyosmani
1371
200k
実際に使うSQLの書き方 徹底解説 / pgcon21j-tutorial
soudai
PRO
188
55k
The MySQL Ecosystem @ GitHub 2015
samlambert
251
13k
Bash Introduction
62gerente
615
210k
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ͱ ΞϓϦ͕͖͢ ಓΛΓ։͘͜ͱͩο
օ༷ͷΞϓϦ͕ ࢁϦϦʔε͞Ε·͢Α͏ʹɻ ͝੩ௌ͋Γ͕ͱ͏͍͟͝·ͨ͠ɻ