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
Railsアップグレード / UIリニューアル 「レガシーコード改善」の道のり
Search
debucchi
March 29, 2019
Programming
730
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
Railsアップグレード / UIリニューアル 「レガシーコード改善」の道のり
スタディストで実施しました、Railsアップグレード、UIリニューアルを通じてどのように「レガシーコード改善」に立ち向かったかについてまとめています
debucchi
March 29, 2019
Other Decks in Programming
See All in Programming
The Rails Doctrine Decade
koic
2
600
複雑なUIコンポーネントとの ⻑い付き合い⽅:波及するバグからテスト戦略を経て、安全な再設計へ
mixplace
0
430
[Rails World 2026] Durable orchestration on Rails: from continuation to workflow
palkan
1
750
Atomic Design, Enforced: Scaling Mobile Design Systems (next.app devCon / droidCon Berlin 2026)
steliosf
PRO
0
170
Unity6 URPによる海底をテーマにしたVJシステムの解説 | Unity Shader 完全に理解した 勉強会
gam0022
0
370
見えないものを探る要求要件定義に必要な基本的思考 / invisible-requirement-thinking
minodriven
15
8.5k
Vue Fes Japan の “作る側”に関わってみて
naokihaba
0
160
個人開発者よ、Honoを使え(おじさんver)
tanahiro2010
2
260
Performance Optimization With LLMs
xleitix
0
140
UnityでSystem.Net.WebSocketsなWebSocketサーバが動かないのでUnity Monoのコードを覗いてみた / about implementing websocket server with unity mono
drumath2237
1
610
iOS 27でニュースアプリはどう変わる!? 〜日経電子版の新機能対応と、開発事例から〜
lynnswap
7
13k
自サークルのIdPからログアウトできるようになるまで
taiseiue
1
140
Featured
See All Featured
Agile that works and the tools we love
rasmusluckow
331
22k
Optimizing for Happiness
mojombo
378
71k
Raft: Consensus for Rubyists
vanstee
142
7.8k
From π to Pie charts
rasagy
1
400
The State of eCommerce SEO: How to Win in Today's Products SERPs - #SEOweek
aleyda
2
12k
Navigating the Design Leadership Dip - Product Design Week Design Leaders+ Conference 2024
apolaine
2
480
Applied NLP in the Age of Generative AI
inesmontani
PRO
4
2.5k
How to Think Like a Performance Engineer
csswizardry
28
2.9k
Visual Storytelling: How to be a Superhuman Communicator
reverentgeek
2
710
Building an army of robots
kneath
307
47k
SERP Conf. Vienna - Web Accessibility: Optimizing for Inclusivity and SEO
sarafernandez
2
1.6k
Designing Dashboards & Data Visualisations in Web Apps
destraynor
232
55k
Transcript
3 ) 12 3 / 2 ) 9 0( 10
3 ( ( /
2 0.*( !0. +/) $-1 & , '
%#" 0. 1200 kcal
3 R 4 /
4 l l l /
5 studist
6 $ ! # ! "
7 %( l, !) l*#$'" *+ - &
8 7JTVBM401NBOBHFNFOU1MBUGPSN ϏδϡΞϧϕʔεͷखॱॻΛɺ ͬͱ؆୯ʹ
9 SOP
10 $PQZSJHIU $ 4UVEJTU$PSQPSBUJPO"MM3JHIUT3FTFSWFE $POGJEFOUJBM 401͕͋ͬͨͱͯ͠ɺ จࣈͩΒ͚Ͱػೳෆશɺखॱ͕ਖ਼͘͠ΘΒͳ͍ ֎ࠃਓ ಡΊͳ͍
ಡΉͷ ͍ͨΜ ·͕ͪ͑ ͍͢ ཧղ ͠ʹ͍͘ Θ͔Γʹ͍͘ͷɺ࡞ۀΛਖ਼͘͠࠶ݱͰ͖ͳ͍ɻ7JTVBMϕʔε͕ඞਢ
11 $PQZSJHIU $ 4UVEJTU$PSQPSBUJPO"MM3JHIUT3FTFSWFE $POGJEFOUJBM 401Λ࠶ൃ໌͢Δ จࣈϕʔε401ʢඪ४࡞ۀखॱॻʣΛ࠶ൃ໌ɺ7JTVBM401ΛΓग़͢ 7JTVBM401
จࣈΛಡ·ͣͱखॱ͕ΘΔ ैདྷͷ 401
12 $PQZSJHIU $ 4UVEJTU$PSQPSBUJPO"MM3JHIUT3FTFSWFE $POGJEFOUJBM 5FBDINF#J[7JTVBM401NBOBHFNFOU1MBUGPSN ύιίϯΛҰΘͣɺεϚʔτϑΥϯ͚ͩͰ
ϏδϡΞϧϕʔεͷखॱॻΛ ࡞ɺ৴ ɺ Ӿཡཧ ·ͰՄೳ λϒϨοτ εϚϗ͚ͩ ࡞͕Մೳ ͪΖΜ ύιίϯ 0,
13 $PQZSJHIU $ 4UVEJTU$PSQPSBUJPO"MM3JHIUT3FTFSWFE $POGJEFOUJBM 5FBDINF#J[ͷλʔήοτۀछʢΦϖϨʔγϣϯΛ࿑ಇूܕͰӡӦ͍ͯ͠Δۀछʣ ۀ ं྆ɺݐઃػցɺ෦Ճ
͔ΒԽֶϓϥϯτͷاۀ༷ ॅ༑Խֶ༷ɺੴҪ࡞ݚڀॴ༷ ͳͲ খചۀ εʔύʔɺυϥοάɺඦ՟ళ ઐళΛӡӦ͍ͯ͠Δاۀ༷ ϕΠγΞ༷ɺ࢜ༀ༷ɺ খాٸඦ՟ళ༷ɺจ໌ಊ༷ͳͲ ҿ৯ۀ νΣʔϯల։͍ͯ͠Δҿ৯ۀɺ ΧϑΣΛӡӦ͍ͯ͠Δاۀ༷ ͔͍͢Βʔ༷͘ɺ+3౦ຊϑʔυ༷ ી࿏༷ɺΩϦϯγςΟ༷ͳͲ ॓ധۀ νΣʔϯల։͍ͯ͠Δ॓ധࢪઃ ࢪઃӡӦΛडୗ͍ͯ͠Δاۀ༷ Ϧκʔτ༷ɺϫγϯτϯϗςϧϓ ϥβ༷ɺϑΥϧπΞ༷ͳͲ ྲྀۀ τϥοΫͷྲྀ͔Βྲྀ௨ ηϯλʔΛӡӦ͍ͯ͠Δاۀ༷ ϠϚτάϧʔϓ֤༷ࣾɺ҆ాݿ༷ ϫίʔϧྲྀ௨༷ͳͲ Ϗϧϝϯςφϯε ࢪઃͷਗ਼ɺϏϧઃඋػցͷอक ݕۀΛडୗ͍ͯ͠Δاۀ༷ ΠΦϯσΟϥΠτ༷ɺେגࣜձ༷ࣾ ΞΠϯά༷ͳͲ Ξϛϡʔζϝϯτ εϙʔπɾޘָࢪઃήʔϜ ηϯλʔΛӡӦ͍ͯ͠Δاۀ༷ ηΨ༷ɺϥϯυϫϯ༷ ϧωαϯε༷ͳͲ
14 2% !,. ? :;>8 76@*' 0- 5
76@ )1 ( + +/"$ 3<&#=49 )1
15
16 !, 15/6 *+4) &7" ' $( 02#
%.783--
17
18 ͑Δ͜ͱΛɺͬͱ؆୯ʹɻ IUUQTTUVEJTUKQ
19 l l
l l l
20
21
͟Θɾɾ͟Θɾɾ͟Θɾɾ
22
!
23
24 *(+&,0&, 823 > #-'"%+75!$.)/1 23 *(+49
&,= :; ?6 *(+ &,A 0 @<
25
26
27
1
28 http://bit.ly/2TyH542
29
30
31 2
32 l 2 A 2 7 l - l I
0 1 l 8 8
33
34 Controller view model Javascript css Rails Ruby U HTML
I javascript css JQuery DOM
35 Controller view model component Rails
Vue.js action state mutation
36 l l ) l
( )- K I V I U M P
37
38 l 8 0 l ( l % )
39 ! l l I - - l
- l # " l - l - d l i e l l U U -
40
http://bit.ly/2F5sq6u
41 http://bit.ly/2F4efhF
42
43 U Controller model Rails I API ver1 API
I UI () I UI I API • -API • http status
44 -
45 I Controller model Rails I I API
ver1 UI V2 API ver2 blueprint U -
46 -
47 -
48 l l - l -
49 - l l -
50 - l I - IA P -
51 -
52 - 1 - Controller API ver1 API ver2 model
53 - - U DB Controller API ver1 API
ver2 model front I
54 - / model controller concern concern service service single
multi I -
55 -
56 -
57 -
58 l 6 l 10 31.. 36 % 1 .6
) l 35 1 12 6) l 8% 6 % 6( -
59 ) ( - 95-90th - 0.2 99th - 1
60 -
61 I U Controller API ver1 - API ver2
V2 model blueprint
62 / )(5#3.$'6 l 0+ 47 l 5# $'
l -!*2%, 1 "&47 -
63 l %# " l
!$& -
64
65 &! %*1#"$3. l #"$ %8 ' 6 %025(
l #"$,/ %4 7- 7)+
66
67 B