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 platform Yappli's "improvements" evolved?
Search
Megumi Nakamichi
October 04, 2022
Programming
0
550
Yappliの「改善」はどのようにして進化を歩んだか / How has the platform Yappli's "improvements" evolved?
Yappli Tech Conference 2022 の発表資料です。
▼イベントページ
https://yappli.connpass.com/event/259001/
Megumi Nakamichi
October 04, 2022
Tweet
Share
Other Decks in Programming
See All in Programming
Elm 0.19.0 Changes
bkuhlmann
0
480
0→1と1→10の狭間で Javaという技術選定を振り返る/Reflecting on the Decision to Choose Java Between Scaling from 0 to 1 and 1 to 10
jaguar_imo
2
360
코틀린으로 멀티플랫폼 만들기
pangmoo
0
120
OpenAPIを中心に考えるAPI開発入門 / Introduction to API Development with a Focus on OpenAPI
seike460
PRO
2
110
雑に思考を整理する技術と効能
konifar
55
24k
せっかくモデル図描くのなら、嬉しいことが多い方がいいよね!
kuboaki
1
3.1k
スクラムガイドのスプリントレトロスペクティブを改めて読みかえしてみた / Re-reading the Sprint Retrospective Section in the Scrum Guide
mackey0225
3
320
FigmaとPHPで作る1ミリたりとも表示崩れしない最強の帳票印刷ソリューション
ttskch
39
17k
入門 AWS Amplify Gen2 / Introduction to AWS Amplify Gen2
genkiogasawara
1
310
受託開発でGitLab CI を活用していく
xiombatsg
1
270
⼤規模⾔語モデルの拡張(RAG)が 終わったかも知れない件について
nearme_tech
22
15k
1인 개발자로 행복하게 살기 - GDG 송도 헬로월드 2024
benjaminkim
1
5.6k
Featured
See All Featured
How To Stay Up To Date on Web Technology
chriscoyier
781
250k
Understanding Cognitive Biases in Performance Measurement
bluesmoon
6
990
How to name files
jennybc
64
92k
Imperfection Machines: The Place of Print at Facebook
scottboms
258
12k
What the flash - Photography Introduction
edds
64
11k
[RailsConf 2023] Rails as a piece of cake
palkan
22
3.9k
Designing for Performance
lara
601
67k
The Invisible Side of Design
smashingmag
293
49k
Bash Introduction
62gerente
604
210k
How STYLIGHT went responsive
nonsquared
92
4.8k
Embracing the Ebb and Flow
colly
78
4.1k
How GitHub Uses GitHub to Build GitHub
holman
468
290k
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 ʣ
ʻͬͨ͜ͱʼ ʣεςʔλεΛ࠶ཧ ʣ༏ઌ͚ ʣݟੵʹΑΔ͚۠ɾʮվળʯ͔Β֎͢அ νέοτͷఆظతͳϝϯςφϯεͱج४͚
มΘͬͨ͜ͱ
ɾվળνέοτͷফԽ্͕͕ͬͨʂ ɾνέοτ͕ཧ͞Εͯɺணखͷ༏ઌॱҐ͕͔Γ͘͢ͳͬͨʂ ɾ։ൃ෦͔ΒʮͬͱվળʹऔΓΈ͍ͨʂʯͱ্͕͕ͬͨ
·ͱΊ
·ͱΊ ɾʮվળʯແ͘ͳΒͳ͍ɻαʔϏε͕֦ு͍ͯ͘͠ͱڞʹ૿͑ଓ͚Δ ɾʮվળʯΛΔΒͳ͍ͷஅ৳͍͍͕ͯ͠ɺ ɹఆظతʹݟ͠Λߦ͍ɺ ɹͦͷλΠϛϯάͰ࠷৽ͷஅʹΞοϓσʔτ͍ͯͬͨ͠ํ͕͍͍ ɾཁΛཷΊࠐΈ͗͢Δͱɺ༏ઌ͕͔Βͳ͘ͳΔͷͰɺ ɹӨڹΛؑΈͯஅͰ͖Δج४Λ࡞Γɺɹ ɹৗʹࠓɺԿΛΔ͖͔ʁΛݟ͑ΔԽΛ͢Δ
ɾࣾͷ͔͚ɺϑϩʔඋେ
Ҏ্ʹͳΓ·͢ɻ ͝ਗ਼ௌ͋Γ͕ͱ͏͍͟͝·ͨ͠ɻ