Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Sign up for free
Menu
Search
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Pricing
Search
Sign in
Sign up for free
Yappliの「改善」はどのようにして進化を歩んだか / How has the plat...
Search
Megumi Nakamichi
October 04, 2022
Programming
1.3k
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
Yappliの「改善」はどのようにして進化を歩んだか / How has the platform Yappli's "improvements" evolved?
Yappli Tech Conference 2022 の発表資料です。
▼イベントページ
https://yappli.connpass.com/event/259001/
Megumi Nakamichi
October 04, 2022
More Decks by Megumi Nakamichi
See All by Megumi Nakamichi
Yappli流! 「プロダクト改善」の進化といま / Yappli style! Evolution and current state of “product improvement”
nakamichi
0
240
Other Decks in Programming
See All in Programming
From 6 People Classroom Meetup to 100 People Regional Conference / FOSS4G Hiroshima 2026
furukawayasuto
0
130
Webの地図
yosuke_furukawa
PRO
3
3.5k
世界の中心で、AI(App Intents)をさけぶ ー App Intents中心設計の実践ガイド
touyou
0
220
DynamoDBの基礎を振り返りながらベクトル検索機能を理解する
musan
3
270
AI Agent時代のリアーキテクチャ戦略と実践
hokaccha
6
3k
PHPプロジェクトの結合バランスを可視化する #php_night
kajitack
0
230
The Good Stuff, Not the Slop: Engineering High-Quality Android Apps with Modern AI Tooling
danybony
1
230
数年滞っていたダークモード対応をおよそ2週間で完了させる
chigichan24
0
690
AIの中の人になってみる
htkym
0
170
WebMCP Challenge に星空観察アプリで参加した話
okajun35
0
120
Family mrubyの進捗
kishima
1
110
新人はどこまで自力でやり、どこからAIに頼るべきか/エンジニア育成に向き合う_先輩たちの悩みと知見共有会
toppan_digital_dev
1
590
Featured
See All Featured
Lightning Talk: Beautiful Slides for Beginners
inesmontani
PRO
2
680
The Success of Rails: Ensuring Growth for the Next 100 Years
eileencodes
47
8.3k
Cheating the UX When There Is Nothing More to Optimize - PixelPioneers
stephaniewalter
287
14k
Site-Speed That Sticks
csswizardry
13
1.5k
svc-hook: hooking system calls on ARM64 by binary rewriting
retrage
2
560
Effective software design: The role of men in debugging patriarchy in IT @ Voxxed Days AMS
baasie
0
510
Leading Effective Engineering Teams in the AI Era
addyosmani
9
2.6k
Building Adaptive Systems
keathley
44
3.2k
Joys of Absence: A Defence of Solitary Play
codingconduct
1
500
How STYLIGHT went responsive
nonsquared
100
6.3k
The Curious Case for Waylosing
cassininazir
1
500
Done Done
chrislema
186
16k
Transcript
Yappliの「改善」は どのようにして進化を歩んだか SESSION 09
גࣜձࣾϠϓϦ ϓϩμΫτ։ൃຊ෦։ൃاը෦։ൃσΟϨΫλʔ ಓѪඒ Megumi Nakamichi
INDEX 01 02 03 04 05 ࣗݾհɾܦྺ Yappliの開発について 気になること 対応したこと
まとめ
ࣗݾհɾܦྺ
ࣗݾհɾܦྺ ৽ଔͰ*5ϕϯνϟʔاۀʹೖࣾ͠ɺ σβΠϯۀࣗࣾΞϓϦ։ൃͷσΟϨΫλʔΛ୲ɻ ʢϝΠϯσβΠφʔͰ͕ͨ͠ɺ༷ࡦఆɾ2"ɾࠂ੍࡞ͳͲ͍Ζ͍Ζͬͯ·ͨ͠ɻʣ ͦͷޙɺʹϠϓϦʹೖࣾ͠ɺ ΫϥΠΞϯτͷΞϓϦ੍࡞ߦΛ୲͏ΞϓϦσβΠφʔͱͯ͠ैࣄɻ ʹϓϩμΫτ։ൃຊ෦ࣾҠಈɻ Ҏ߱ɺ։ൃσΟϨΫλʔͱͯ͠ɺʮվળʯʹಛԽͯ͠ରԠ͢ΔνʔϜʹଐɻ
վળҊ݅ͷ༷ݕ౼ࣾ։ൃϑϩʔͷඋͳͲΛ୲͏ɻ גࣜձࣾϠϓϦ ϓϩμΫτ։ൃຊ෦։ൃاը෦։ൃσΟϨΫλʔ ಓѪඒ Megumi Nakamichi ࢲͷؾ࣋ͪΛหͯ͠ ͨ·ʹग़ͯ͘Δࣗ࡞ΩϟϥͰ͢
ࣗݾհɾܦྺɹ-ɹݱࡏͷॴଐ෦ॺͷհ 1E.ۀͳͲͷ։ൃɾվળͷ΄͔ɺ ։ൃάϧʔϓͷϑϩʔݟ͠Έͮ͘ΓͳͲΛ୲ ʢ˞࣍ϖʔδͰৄࡉͷઆ໌͠·͢ʣ ։ൃʹ͓͚Δ্ྲྀఔΛ୲͏ɻ ։ൃσΟϨΫλʔͷଞʹɺ69σβΠφʔςΫχΧϧϥΠλʔ͕ ॴଐ͍ͯ͠Δ෦ॺ ։ൃσΟϨΫλʔ ։ൃاը෦
ࣗݾհɾܦྺɹ-ɹ։ൃσΟϨΫλʔͷࣄ ͳͲ ˒୲͢ΔϓϩδΣΫτվળͷσΟϨΫγϣϯɾࣾௐ ɹˠଞ෦ॺͱ࿈ܞͯ͠ɺ՝ɾχʔζͷੳཧɺ༷ͷௐΛߦ͏ ɹˠϦϦʔεޙͷϓϨεϦϦʔεɺࣾ֎ใ༻ͷOPUFهࣄ࡞ʢIUUQTOFXTZBQQMJDPKQNNGBʣ ˒։ൃʹ·ͭΘΔ༷ॻͷ࡞ ɹˠʮ:BQQMJʯϓϥοτϑΥʔϜͷͨΊɺडୗ։ൃͱҟͳΓɺ൚༻ੑ͕ߴ͍࡞Γʹͳ͍ͬͯΔɻ
ɹɹɹͦͷͨΊɺ༷ෳࡶԽ༷͘͢͠ॻ·ͱΊ͕ॏཁʹͳ͍ͬͯΔ ɾΞοϓσʔτͷࣾڞ༗ ɾܰඍͳෆ۩߹ɾվળରԠͷΈԽϑϩʔվળ ɾ։ൃاը෦͕اը͢ΔࣾΠϕϯτͷӡӦ
࣮ࢲɺͭͷ෦ॺΛ݉ͯ͠·͢ɻ ࣗݾհɾܦྺ ɹओ ɹɾϓϩμΫτ։ൃຊ෦։ൃاը෦։ൃσΟϨΫλʔ ɹ݉ ɹɾΧελϚʔαΫηεຊ෦ΞϓϦσβΠϯ෦ΞϓϦσβΠφʔ ɹɾϐʔϓϧˍΧϧνϟʔຊ෦ϦϨʔγϣϯγοϓɾϚωδϝϯτࣨ ɹɹʮҪળͷ৯ʯνʔϜӡ༻୲ʢ˞:BQQMJͰ࡞ɾӡ༻͍ͯ͠ΔࣗࣾΞϓϦʣ
ओɹɹɹɹɹɹɹɹ݉ ࣗݾհɾܦྺ ೖࣾ࣌ ΞϓϦσβΠφʔɹɹͳ͠ ΞϓϦσβΠφʔɹʮҪળͷ৯ʯνʔϜ ΞϓϦσβΠφʔɹɹ։ൃσΟϨΫλʔɺʮҪળͷ৯ʯνʔϜ ։ൃσΟϨΫλʔɹɹΞϓϦσβΠφʔɺʮҪળͷ৯ʯνʔϜ ʙ ʙ ʙ
ɾΞϓϦσβΠφʔʮ:BQQMJʯΛͬͯΞϓϦΛ࡞͢Δ෦ॺɻ ɹσβΠϯίϯςϯπೖߘΫϥΠΞϯτͷϨΫνϟʔӡ༻ߦͳͲ ɹΞϓϦ੍࡞ʙΧελϚʔαΫηε·ͰɺଟذʹΘͨΔ ɾΞϓϦσβΠφʔɺࣗࣾΛͬͯʑΞϓϦ੍࡞Λߦͳ͍ͬͯΔͷͰɺ ɹཁෆ۩߹ʹؾ͖͍ͮ͢ ɾࠓ·ͰվળͷཁΛग़͢ଆ͕ͩͬͨɺ ʮ:BQQMJΛ͏ଆͷܦݧΛ։ൃʹੜ͔͍ͨ͠ʂʯͱࢥ͍ɺ ɹ࣌ͷ্ʹ૬ஊͯ͠ɺ։ൃاը෦ࣾҠಈͨ͠ ɾ։ൃຊ෦ͱଞ෦ॺͱͷڮ͠Λ͍ͨͨ͠Ίɺࠓ݉Λଓ͚͍ͯΔ
ࣗݾհɾܦྺ - ։ൃσΟϨΫλʔʹͳͬͨഎܠ
TODAY TOPIC :BQQMJͷʮվળʯ ͲͷΑ͏ʹͯ͠ਐԽΛาΜ͔ͩ
:BQQMJͷ։ൃʹ͍ͭͯ
Yappli ͷ։ൃʹ͍ͭͯ ৽ن։ൃ ʢઓུతͳ։ൃʣ อक ʢෆ۩߹ରԠʣ վળ ʢϓϥοτϑΥʔϜڧԽʣ
ɾ$.4ΞϓϦʹدͤΒΕΔཁɾΞΠσΟΞɾٕज़ෛ࠴ͳͲΛ ɹ૯ධͯ͠ʮվળʯͱݺΜͰ͍Δ ɾʮվળʯͱ͍ͬͯɺܰඍͳจݴௐɾௐࠪɾ෦։ൃͳͲɺ ɹରԠൣғɾن͕༷ʑ ɾνέοτཧɺ+*3"Λ͍ͬͯΔ Yappli ͷ։ൃʹ͍ͭͯ - ʮվળʯͷઆ໌
ʮYappliʯͷ։ൃʹ͍ͭͯ - ʮվળʯͷྺ࢙ ʑɺػೳΫϥΠΞϯτ૿͍͑ͯ͘தͰɺࣾཁ૿͖͑ͯͨʂ ʮվળʯ͕ࣾͰఆண͠ɺશࣾతʹେͳจԽͷͭʹͳͬͨʂ ɾվળʹूதతʹऔΓΉʮ:BQQEBUF%BZʢϠοϓσʔτσʔʣʯ͕Ͱ͖ͨʂ ɾվળʹؔ͢ΔΞΠσΟΞΛશࣾʹ͚ͯϓϨθϯ͢ΔΠϕϯτʮϠϓϦΫʯ͕Ͱ͖ͨʂ
ɾࠓͷ݄ʹʮ:BQQEBUF%BZʯճΛܴ͑ͨʂ ɾʮϠϓϦΫʯશࣾһͷˋҎ্͕ࢀՃ͢ΔΠϕϯτʹͳͬͨʂ
ʮYappliʯͷ։ൃʹ͍ͭͯ - ʮվળʯͷྺ࢙ ʮվળʯʹ·ͭΘΔࣾΠϕϯτɺͦΕͧΕOPUFʹهࣄ͕͋Γ·͢ʂ ϠϓϦΫ IUUQTUJNFTZBQQMJDPKQOOEGBD :BQQEBUF%BZʢϠοϓσʔτσʔʣ IUUQTUJNFTZBQQMJDPKQOOEEGE
خ͍͜͠ͱ͕ଓ͘த ͢͜͠ؾʹͳΔ͜ͱग़͖ͯͨ
ؾʹͳΔ͜ͱ ʮվળʯࣾͰ׆ੑԽ͖ͯͯ͠ɺ͞·͟·ͳϦϦʔε͕͞ΕΔதɺ ͡Θ͡Θͱ૿͑ଓ͚Δະணखͷվળνέοτɻ ʹɺຕۙ͘ͷվળνέοτ͕ཌʹਃ͠ૹΓʹɻ ͜Μͳʹվળͯ͠ΔͷʹɺͲ͏ͯ͠ݮΒͳ͍ΜͩΖ͏ɾɾɾʁ Ͳ͏ͯ͠ɾɾɾɾɾɾɾ ɾɾɾɾɾ ɾɾɾ ɾɾ վળͬͯͬͯ
ऴΘΔؾ͕͠ͳ͍ʜ
ͷະணखνέοτൃ۷Λ͖͔͚ͬʹ վળνέοτͷݱঢ়ௐࠪʹ౿ΈΔ
ʮվળʯͷݟ͑ΔԽ STEP 1 ʮվળʯͷঢ়گੳ STEP 2 ɹͬͨ͜ͱ STEP 3
ʮվળʯͷݟ͑ΔԽ STEP 1 ʮվળʯͷঢ়گੳ STEP 2 ɹͬͨ͜ͱ STEP 3
ݱঢ়ΛѲ͢ΔͨΊʹɺ·ͣཹ͍ͯ͠ΔνέοτΛͯ͢ूܭʂ +*3"ΛεϓϨουγʔτʹు͖ग़ͯ͠ɺ εςʔλεผɾػೳผͳͲʹࡉ͔͘ྨͯ͠ɺશମΛݟ͑ΔԽͨ͠ɻ STEP1ɹʮվળʯͷݟ͑ΔԽ ͚۠ͱ͔ख࡞ۀͰɻ ܗ͕ຊʹେมͩͬͨʜ
ʮվળʯͷݟ͑ΔԽ STEP 1 ʮվળʯͷঢ়گੳ STEP 2 ɹͬͨ͜ͱ STEP 3
ʣணख్தʹԿΒ͔ͷཧ༝Ͱࢭ·ͬͯ͠·ͬͨνέοτ͕ਐߦ͍ͯ͠ͳ͍ ɹɾҰ൪ݹ͍νέοτͰɺ࡞ͷͷ͋ͬͨɻ ɹɾ04ؔͷνέοτɺ࠷৽04Ͱղফ͍ͯ͠Δ͕ɺνέοτະରԠͷ··Γଓ͚ͯ͠·͍ͬͯͨɻ ʣվળر͕ଟ͋͘ΓɺʮԿΛ༏ઌͯ͠ணखͨ͠Β͍͍ͷ͔ʁʯ ɹΤϯδχΞ͕͔Βͳ͍ঢ়ଶʹͳ͍ͬͯͨ ɹɾ͝Ζ·ͰɺࣾͷվળཁΛͯ͢վળνέοτԽ͍ͯͨͨ͠Ίɺ ɹɹʑɺཹνέοτ͕૿͑ଓ͚ͯ͠·ͬͨɻ ʣվળνέοτʹݟੵ͕ͳ͘ɺ։ൃن͕͔Βͳ͍ ɹɾنΛߟྀͤͣɺ͍ܰνέοτʙॏ͍νέοτ͕ͯ͢ಉ͡վળϘʔυʹ֨ೲ͞Ε͍ͯͨɻ
STEP2ɹʮվળʯͷঢ়گੳ
ʻঢ়گੳʼ ʣணख్தʹԿΒ͔ͷཧ༝Ͱࢭ·ͬͯ͠·ͬͨνέοτ͕ਐߦ͍ͯ͠ͳ͍ ʣվળر͕ଟ͋͘ΓɺԿΛ༏ઌͯ͠ணखͨ͠Β͍͍ͷ͔ʁ ɹΤϯδχΞ͕͔Βͳ͍ঢ়ଶʹͳ͍ͬͯͨ ʣվળνέοτʹݟੵ͕ͳ͘ɺ։ൃن͕͔Βͳ͍ ͜ΕΒ͕ɺվળνέοτ͕ݮΒͳ͍ݪҼͱԾఆ
ʮվળʯͷݟ͑ΔԽ STEP 1 ʮվળʯͷঢ়گੳ STEP 2 ɹͬͨ͜ͱ STEP 3
ʣεςʔλεͷ࠶ཧ ɹɾεςʔλε͕ɺྃ4501ʹͳ͍ͬͯͳ͍աڈνέοτΛɺ·ͱΊͯ֬ೝཧ ɹɾνέοτ࡞ͷݱࡏͷεςʔλε͕͔Γ͘͢ͳΔΑ͏ʹɺվળνέοτҰཡͷදࣔΛௐ ɹɾࢭ·͍ͬͯΔνέοτʹରͯ͠ɺ։ൃ୲ऀͷνέοτཧΛΞφϯεश׳Խ ʣ༏ઌ͚ ɹɾཁΞΠσΟΞͯ͢νέοτԽͤͣɺඞͣ։ൃσΟϨΫλʔͷΛ௨͔ͯ͠Βɺ ɹʮվળʯͰରԠՄೳͳͷ͚ͩΛνέοτԽɺͦΕҎ֎ผͷʹҠಈ͢ΔΑ͏ʹมߋ ɹɾ:BQQMJͰఏڙ͍ͯ͠Δ֤छػೳΛɺΞϓϦ੍࡞Ͱͷར༻සͰྨ͠ɺվળͷzӨڹzΛઃఆ ʣݟੵʹΑΔ͚۠ɾʮվળʯ͔Β֎͢அ
ɹɾ:BQQEBUF%BZͰରԠݕ౼ɹɹɹˠখنɹɹɹɹɹɹʢʙϲ݄Ҏʣ ɹɾϠϓϦΫͰରԠݕ౼ɹɹɹɹɹɹɹˠখنʙதن·ͰʢʙҎʣ ɹɾ-,;/ʢϥʔδվળʣɹɹɹɹɹɹˠେنҎ্ɹɹɹɹʢҎ্ʙʣ˞ʮվળʯ͔Β֎͢ STEP3ɹͬͨ͜ͱ
STEP3ɹͬͨ͜ͱ - JIRAϘʔυʢ Before ʣ
STEP3ɹͬͨ͜ͱ - JIRAϘʔυʢ After ʣ
ʻͬͨ͜ͱʼ ʣεςʔλεΛ࠶ཧ ʣ༏ઌ͚ ʣݟੵʹΑΔ͚۠ɾʮվળʯ͔Β֎͢அ νέοτͷఆظతͳϝϯςφϯεͱج४͚
มΘͬͨ͜ͱ
ɾվળνέοτͷফԽ্͕͕ͬͨʂ ɾνέοτ͕ཧ͞Εͯɺணखͷ༏ઌॱҐ͕͔Γ͘͢ͳͬͨʂ ɾ։ൃ෦͔ΒʮͬͱվળʹऔΓΈ͍ͨʂʯͱ্͕͕ͬͨ
·ͱΊ
·ͱΊ ɾʮվળʯແ͘ͳΒͳ͍ɻαʔϏε͕֦ு͍ͯ͘͠ͱڞʹ૿͑ଓ͚Δ ɾʮվળʯΛΔΒͳ͍ͷஅ৳͍͍͕ͯ͠ɺ ɹఆظతʹݟ͠Λߦ͍ɺ ɹͦͷλΠϛϯάͰ࠷৽ͷஅʹΞοϓσʔτ͍ͯͬͨ͠ํ͕͍͍ ɾཁΛཷΊࠐΈ͗͢Δͱɺ༏ઌ͕͔Βͳ͘ͳΔͷͰɺ ɹӨڹΛؑΈͯஅͰ͖Δج४Λ࡞Γɺɹ ɹৗʹࠓɺԿΛΔ͖͔ʁΛݟ͑ΔԽΛ͢Δ
ɾࣾͷ͔͚ɺϑϩʔඋେ
Ҏ্ʹͳΓ·͢ɻ ͝ਗ਼ௌ͋Γ͕ͱ͏͍͟͝·ͨ͠ɻ