-
Notifications
You must be signed in to change notification settings - Fork 10
/
0528.txt
151 lines (151 loc) · 11.3 KB
/
0528.txt
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
[음악]
w
이 안녕하세요 보프 입니다 진짜 오랜만 이죠
그동안 좀 바쁜 일들이 있었어요 이자도 좀 해야 됐고 그래서 이제 예
새로 꾸민 곳에서 제대로 방송을 하게 됐는데
아 뭐 자세한 얘기는 차차 나중에 하도록 하기로 하고 당장 이 비디오
보신분들 가장 처음 할 말들이 있을 것 같아요
제 생각에는 머리가 왜 이꼴이 냐 뭐 제가 멋을 부리기 위해서 그런 건
아니고 그냥 코로나 터지고 사회적 거리 2개 하라고 해서 미용실 안 가다
보니까 요거이 됐죠
그래서 이게 무슨 농구를 하고 싶어서 이런 것도 아니고 뭐라 그러고
싶어서 이런 것도 아니에요
코로나 끝나거나 아니면 그전에 4q 아카데미 강좌를 찍을 때가 되면은
알아서 미용실 가서 다시 예쁘게 정상 대로 가고 아머 머리스타일 바뀔
거니까
그때까지 찾아와 주시고요 자극했고 오늘 하려고 하는 얘기는 버전 관리
데이터의 버전관리 아니면은 마이그레이션 데이터 버전을 나진 버전에서 높은
버전으로 다 옮겨 버리는거 그 둘 중에 뭐가 좋냐
뭐 이런 얘기를 좀 하고 싶어요 이게 뭐 최근에 어떤 트위터 관련된
내용도 본 보기도 하고
그리고 실무에 있다보면 은 이 부분을 되 게 아니라 게 생각하는
프로그래머 때문에 나중에 더 큰 일이 생기기도 하거든요
이거 에서 저는 언제나 결론부터 말씀드리면 버전을 다르게 해서 저장하는
파일 들이 있고 그리고 최종적으로는 아 아니 뭐 말씀을 듣다 버전을
관리를 계속 해야 되는 거 아니면 옛날 버전을 다 3 버전으로 데이터를
한 번 옮겨 버려서 그냥 3 버전만 쓰는거 이 둘중에 고르라면 저는
데이터 옮기는 것 즉 데이터 마이그레이션을 하라고 하는 중이에요
그게 훨씬 미래를 위해서 좋고 실수를 맞게 도 좋아요 자 그럼 이제
결론은 말씀드렸으니까 하나하나 자세하게 말씀을 드릴게요 자 버전이 외
생기냐 데이터의 보통 프로그램을 만들다 보면 은 지금 현재 있는 스페
아니면 앞으로 뭐 6개월 1년 안에 나올 수 팩 뜰 그거에 맞춰서 자료
우를 구조로 잡게 되죠
그게 데이터 구조가 되는 거에요 뭐 좋은 예로 들며 는 ms 워드
97년도 뽐 l 모 2003년도 봄에 아니면 그 전 포맷 이런 식의 뽐낼
수 있겠죠 시작으로 했을 때는 처음 버전이 나왔다가 프로그램의 기능이
많아 지거나 아니 뭔가 고칠 일이 있거나 그러면서 새로운 데이터를 추가
하게 되요 그전 버전 스펙에는 맞지 않는 것들을 추가할 수 밖에 없는게
나오죠
그 전과 가 변경되는 경우도 있고 아니면 그 전과 에 추가되는 경우도
있고 드물긴 하지만 그 전거를 지우는 경우도 있어요
자
그러면 생각을 해봐요 처음 버전을 만들었어
그리고 두 번째 버전이 추가 됐어요 그 옛날 버전의 있던 파일들이 있고
새로 저항 되는건 새로운 버전에서 저장을 하게 되요 그러면 이 순간에
어떻게 프로그램을 작성해야 될까
뭐 흔히들 이제 되게 아니라고 생각하시는 분들은 그냥 예전 버전 파일을
이전 보장 파일로 있고 최신 버전은 최신 버전 빨로 잇는다
그리고 이 두 개를 프로그램 안에서도 다르게 처리한다
이런 방법이 있고 아니라 그보다 조금 나은 방식은 예전 버전은 일고
다음엔 읽은 다음에 얘를 최신버전 포맷으로 메모리에서 바꿔 줘 그리고
그걸 최신 보는 포맷으로 사용을 하다가
저장할 때 최신버전으로 소장하던 옛날 버전 수장 하든 둘 중의 하나를
이런 상황이에요 4 요건은 워드프로세스 같은 경우엔 말이 되어
그 게 아 니 라 언제나 읽기만 하는 데이터를 수 있어요 옛날에
저장했는데 있다
그냥 읽는건 어떡하냐 금일 거 같고 옛날 방식으로 처리하는 로직 따로
있고 요즘 마치 처리한 로직이 따로 있던가 아니면 옛날 방식을 로딩 한
다음에 얘를 최신 방식으로 메모리에서 바꾸고 그 메모리에서 바꾼거 를
그냥
이제 못 읽고 사용하고 그리고 그 그러면 파일 소장돼 있는 건 안
바뀌어요 옛날 버전의 계속 있는 거예요 자 버전일 버전이 버전 3 버전
4 버전 11 막 올라가요 그러면 코드가 어떻게 되겠어요 버전 이미 있는
코드 버전이 있는 코드 받아 3 읽는 코드
이게 다 1을 2로 바꾸고 이를 3 으로 바꾸고 3을 4로 바꾸고
메모리에서 이걸 다 바꿔 주는 방식이 되어 있으며 는 처리하는 코드를
최소한 하나겠죠
읽는 코드 가 된 10 뵙게 되는 거지 버전 따라 데 그게 아니라
처리하는 코드 따로 있다면 난리가 나는 거죠
워낙 우투 오면은 버 전투에서는 버전 원에 해당하는 오직 이미 있을
거에요
크게 또 여기 들어가 있는 거야 버전 쓰리 에서는 버전 투 버전 어느
보토 포함 할 거야 그럼 그게 또 코드가 중복이 되는 거야 이게 쌓이고
쌓이다 보면 요
나중에 프로그래머들은 어쨌든 안에 새로 들어온 사람도 있고 아니면 최신
버전의 좀 오래 있었어 버전을 지금 10년 동안 요렇게 거쳐 왔는데 최신
버전에서는 3년을 버텨요 그럼 모든 코드를 작성할 때 이 최신 버전만
돈다 라고 가정하고 작성을 하게 되요
그러다가 옛날 파일 어쩌다 익혀요 그게 당장 읽힐 수도 있고 아니면 코드
변경하고 6개월 이길 수도 있어요 일으키는 순간 이게 제대로 처리가
안되서 고장이 나는 경우도 생겨요
그러기 보다는 제가 데이터 마이그레이션 하는 얘기가 뭐냐면 버전을
나왔어요
이제 버전 2가 나왔어요 그러면 당연히 처음 프로그램 나갈 때는 버전일
버전이다 돌아야 되니까
특히 실시간으로 돈을 서버 에서는 둘다 익혀야 되니까 아까 말했던 것처럼
버전이 를 읽어서 버전 이루 바꾼 다음에 실시간으로 처리하고 다시 버전
2로 저장하는 코드 일단 만들어요 그런 라이브 나가고 모든 작동을 하죠
그러면 그 외에 새로운 조그만 프로그램 이 우리 서버가 아니라 다른
프로그램을 만들어서 데이터 마이그레이션 천천히 하는거 야 매일밤 마다
버전일 있는 1 읽어서 버전이 를 소장하고 또 다른걸 익어서 2루수
장하고 극의 진행이 될 때까지 모든 데이터를 해서 그 프로그램이 끝나는
순간 내가 가지고 있는 데이터는 모두 버전 2 가 돼야 돼요 그럼 그
다음에 뭐예요
버전 2를 읽던 코드 버전 2를 읽어서 이를 변환 코드 지우고 다시 코드
컴이 타면 되요 그럼 앞으로는 어떤 프로그래머 던가 4
그거 를 사용할 때 내 코드를 사용할 때 이제는 버전 1 마시며 쓰면
되요
실수 할 일이 확 줄어들고 테스트 것 확 줄어들 줘 이게 어찌 말하면
올바른 라이브 서버 가 진행하는 방식이에요 물론 사용자가 프로그램 깔아서
사용하는 것은 그게 쉽지가 않아요
그래도 ms 워드 다시 얘기를 들지만 거기 보면 옛날 버전으로 저장하는
김 누드를 들어가는 있어요
그런데 이게 정말 버전 1번부터 저장하는 방법이 들어가 있어요
아니죠 어느 순간 시간이 지나면 은 당연히 옛날 버전 지원을 끊어요
이제 더이상 지원한 할테니까요 버전 최소한 써라
그리고 앞으로 ms 워드로 너무 우울 사람들
앞으로 5년이 걸리는 뭐 몇 년이 걸리든 5년 동안 옛날 버전 지원 해
줄게
하지만 계속 그것 저장하려고 할 때마다 얘기하죠 3 버전 저장하면
최신기능 있게 될 수 있어 저장에 저장에 저장에 최신 버전의 꿇 고 5
줘
그쵸 그래서 어쨌든간에 소프트웨어들 보면 다 이런식으로 작동을 하고요
그게 올바른 제품 만드는 방법이기도 하고 특히 웹개발 하시는 분들 중에
내가 모든 데이터를 가지고 있고 내 내부의 소나 사용하는 데이터 야
그러면 100% 마이그레이션 하는게 맞구요 그게 아니라 내가 api 고
내 ap 해서 외부로 뭔가를 해줘야 돼 그럼 외부에서 제거 를 사용하는
사람도 있잖아요
한마디로 아까워 들을 깔아서 사용하는 고백하고 비슷한 개념이죠 그
사람들을 위해 옛날 데이터를 몇 년간은 지원해 죽인 해야 돼요 그래서 몇
년 동안 지원해준다
이런거 약속 잡고 그것 동안 지원하고 그 다음에는 이 버전 더 이상 지원
안 하니까 3 버전은 옮겨 타라
이때까지 가 마담이 다 이런식으로 계속 하면서 버전 업그레이드 해줘야
되죠 그래서 외부 고객들 외부 외 api 를 팔 때는 이런 부분이 좀
귀찮기는 해요 그러나 여전히 앞에서 얘기한 게 있죠 읽고 메모리에서 바꾼
다음에 최신버전으로 처리하는 코드 하나만 돌게 해 뜨는거 좋은 방법이에요
외부의 보내 줄 때만 어디 내가 나 버전 3인데 버전일 데이터로 원 의
알았어 버전 3회 정하다 빼고 1만 줄게
오 그래 나 버전 3인데 오 그래 너 버전이 원 의 버전이 만 줄게
이런식으로 실제 보내줄 때 1000s 폴터 할 때 그 때만 데이터 그
사람이 원하는 버전을 바꿔주면 되는 거지
내일 오직 안에서는 3 버전으로 하나만 도는게 좋은거예요 ms 워드
그렇게 2 조 ms 워드 뭐 2020년을 깔아요 예를 들어서 깔아 써
그럼 내가 2010 때로 돌고 있는 거잖아 이제 저장 할 때만 물어보자
나요
야 97 포맷으로 저장 할래 2003 포맷으로 저장 할래
바로 그런 개념이 요 그래서 프로그래머는 당연히 게을러질 수 있어요 지금
당장은 r 버전 1곳 돌고 있는 코드 있는데 얘를 이루 바꾸는 너무
시간이 오래 걸려 그냥 버전이 도 놓고도 따로 만들자 버전인 앱도 괜찮아
그리고 나중에 버전 3 올라갈 때 똑같이 하고 버는 사람도 똑같이 하고
그러다가 어느 순간 정말 의 인 의원이 나타나서 이것 닭에 파냐 깨끝이
고쳐야 겠어 그러면서 고치는 사람이 한명이 나오죠
그러면 그 뒤에 모든 사람이 마음 편안하게 잘 수 있는 거예요 자 버전
임 데이터 마이그레이션 이 둘중에 기본은 언제나 데이터 마이그레이션 이다
단 그게 안되는 경우도 약간 애매한 경우 도로 말씀을 드렸어요
그럴 때는 버전 유지 하고 가는게 맞지만 결과적으로는 언젠가는 데이터 다
넘어 가야 되니까 서비스 어글이 먼트 라던가 몇 년 동안 칭한다 는 거
이런것을 통해서 꾸준히 사람들을 새로운 버전으로 옮기는 일을 하자
이렇게 말씀을 드릴게요 오랜만에 돌아와서 하는 포프 tv 적 지구는 꽤
유익한 얘기 였다 고 생각을 해요
포포 였구요 예 또 다음에 뵙겠습니다