버전 호환 문제

문제가 있다고 했는데… 그 문제는 무엇일까요?
바로 저번 시간에 만들어본 버전1과 이번 시간에 만든 버전2가 호환되지 않는것이죠!
그 이유는 무엇일까요??

호환 문제

위에서 잠깐 살펴본 내용 중 List에 없는 Index값을 불러오면 에러가 뜨는 것을 보셨죠?
버전2 사용자가 버전 1 사용자의 정보를 불러오면 바로 이 에러가 뜨는 것이죠!
왜냐구요?? 우리 에러 메시지를 볼까요??(에러 메시지를 잘 보면 에러의 이유를 알 수 있습니다.)

에러의 이유는 없는 Index값을 사용했기 때문입니다.
왜 없는 Index값을 불러왔을까요?? 생각해 봅시다.

버전1 사용자는 WebDB에 주소만 올리죠!
버전2 사용자는 WebDB의 정보를 가져와서 쪼갠 후 List에 저장하고, 주소와 시간을 각각 불러옵니다.

그렇다면 여기서 문제가 발생!
버전2(주소/시간) 사용자가 버전1(주소) 사용자의 주소를 가져왔다면!
1. 쪼갤때 : 분리 기준(at)이 없음 -> List에 받은 걸 그대로 반환(주소만 반환, Index1에 위치.)
그래서 List에 index 2가 없다.(index1 에 주소만 있다.)
3. 그런데 버전2는 index 2의 값을 불러온다.
4. 없는 index 값을 불러오면 에러가 뜬다.

어허…즉 버전2 사용자가 버전1 사용자의 WebDB값을 가져오면 없는 index값을 불러오기 때문에 에러가 뜨는군요…
어떻게 해결할까요??? 해결 방법은 여러가지가 있습니다. 여러 방법을 여러분이 직접 생각해 보는건 어떨까요??
댓글을 통해 같이 생각해도 좋겠죠?ㅋ

여러가지 해결 방법 중 하나를 소개하겠습니다.(사실 여러가지 방법을 모를지도?)
문제를 조금 단순화 시켜봅시다.

에러가 왜 나는 것일까?? -> 에러 메시지 왈 : length가 1인데 2를 달라니!!! -> 그럼 length가1인지 확인하고,
맞다면 index 2값을 넣어주면 되겠네.
그럼 그 블록을 어디에 넣어야 하지?
Split 후 그리고 index 2 값을 불러 오기 전!!

이제 버전2에서 버전1의 정보를 볼 때도 에러가 발생하지 않을 것입니다!!! 오~ 버전끼리 호환도 되게 만들었습니다.
문제가 발생할 때 해결 방법을 생각하고, 해결하는 과정! 이게 바로 프로그래밍!!!
이야~ 멋지다~

자 이렇게 어디야 버전2를 완성하였습니다.
튜토리얼에는 동영상에서 말로만 언급했던 내용들을 좀 더 자세히 다루어 보았습니다.
어려우셨다면 댓글을 통해서 또는 반복의 반복을 통해서 이해하도록 노력해 보세요!
그럼 다음시간에 다시 만나요!

댓글