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
Yappliの「改善」はどのようにして進化を歩んだか / How has the plat...
Search
Megumi Nakamichi
October 04, 2022
Programming
1.2k
0
Share
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
180
Other Decks in Programming
See All in Programming
Smarter Angular mit Transformers.js & Prompt API
christianliebel
PRO
1
120
今こそ押さえておきたい アマゾンウェブサービス(AWS)の データベースの基礎 おもクラ #6版
satoshi256kbyte
1
230
RSAが破られる前に知っておきたい 耐量子計算機暗号(PQC)入門 / Intro to PQC: Preparing for the Post-RSA Era
mackey0225
3
120
10年分の技術的負債、完済へ ― Claude Code主導のAI駆動開発でスポーツブルを丸ごとリプレイスした話
takuya_houshima
0
1.8k
Redox OS でのネームスペース管理と chroot の実現
isanethen
0
550
Coding at the Speed of Thought: The New Era of Symfony Docker
dunglas
0
4.6k
Going Multiplatform with Your Android App (Android Makers 2026)
zsmb
2
350
「接続」—パフォーマンスチューニングの最後の一手 〜点と点を結ぶ、その一瞬のために〜
kentaroutakeda
5
2.5k
3分でわかるatama plusのQA/about atama plus QA
atamaplus
0
110
Xdebug と IDE による デバッグ実行の仕組みを見る / Exploring-How-Debugging-Works-with-Xdebug-and-an-IDE
shin1x1
0
340
Running Swift without an OS
kishikawakatsumi
0
320
iOS機能開発のAI環境と起きた変化
ryunakayama
0
160
Featured
See All Featured
Docker and Python
trallard
47
3.8k
Balancing Empowerment & Direction
lara
5
1k
Max Prin - Stacking Signals: How International SEO Comes Together (And Falls Apart)
techseoconnect
PRO
0
140
Efficient Content Optimization with Google Search Console & Apps Script
katarinadahlin
PRO
1
480
Winning Ecommerce Organic Search in an AI Era - #searchnstuff2025
aleyda
1
2k
Lightning Talk: Beautiful Slides for Beginners
inesmontani
PRO
1
510
Navigating Algorithm Shifts & AI Overviews - #SMXNext
aleyda
1
1.2k
Designing Dashboards & Data Visualisations in Web Apps
destraynor
231
54k
Mobile First: as difficult as doing things right
swwweet
225
10k
Collaborative Software Design: How to facilitate domain modelling decisions
baasie
0
190
Stop Working from a Prison Cell
hatefulcrawdad
274
21k
Navigating Team Friction
lara
192
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 ʣ
ʻͬͨ͜ͱʼ ʣεςʔλεΛ࠶ཧ ʣ༏ઌ͚ ʣݟੵʹΑΔ͚۠ɾʮվળʯ͔Β֎͢அ νέοτͷఆظతͳϝϯςφϯεͱج४͚
มΘͬͨ͜ͱ
ɾվળνέοτͷফԽ্͕͕ͬͨʂ ɾνέοτ͕ཧ͞Εͯɺணखͷ༏ઌॱҐ͕͔Γ͘͢ͳͬͨʂ ɾ։ൃ෦͔ΒʮͬͱվળʹऔΓΈ͍ͨʂʯͱ্͕͕ͬͨ
·ͱΊ
·ͱΊ ɾʮվળʯແ͘ͳΒͳ͍ɻαʔϏε͕֦ு͍ͯ͘͠ͱڞʹ૿͑ଓ͚Δ ɾʮվળʯΛΔΒͳ͍ͷஅ৳͍͍͕ͯ͠ɺ ɹఆظతʹݟ͠Λߦ͍ɺ ɹͦͷλΠϛϯάͰ࠷৽ͷஅʹΞοϓσʔτ͍ͯͬͨ͠ํ͕͍͍ ɾཁΛཷΊࠐΈ͗͢Δͱɺ༏ઌ͕͔Βͳ͘ͳΔͷͰɺ ɹӨڹΛؑΈͯஅͰ͖Δج४Λ࡞Γɺɹ ɹৗʹࠓɺԿΛΔ͖͔ʁΛݟ͑ΔԽΛ͢Δ
ɾࣾͷ͔͚ɺϑϩʔඋେ
Ҏ্ʹͳΓ·͢ɻ ͝ਗ਼ௌ͋Γ͕ͱ͏͍͟͝·ͨ͠ɻ