다시 개발 중...
다시 앱쪽을 만질 때가 됐다, 더 손 놓고 있으면 기억 하나도 안나겠다 싶어서 기초를 다시 잡고자 간단하게 포트폴리오, 튜토리얼 강좌 등으로 많이 쓰이는 공공데이터 API를 사용한 앱 개발을 생각했다. 기상청 API를 사용한 날씨 앱. 개발자분들이 보시기에도 기본적이지 않을까. 현재 앱 구성은 GPS, 날씨 API 연동, 깔끔하게 보여지는 UI 정도로 생각하고 있다.
이전에 만들었던 미세먼지 앱은 JAVA로 만들었으며 XML 파싱에 UI도 아무 것도 없다시피 하기 때문에 앱이라고 볼 수 없는 수준이었다. 이후 만든 CRCS는 좀 더 공들여서 UI 적인 측면이나 추구했던 아두이노와의 원격 통신에는 성공했으나, 아두이노를 만지며 소통하던 팀원을 제외하고 나머지 인원의 저조한 참여율과 어째서인지 반려되는 기재 구매 신청서, 다른 곳과 달리 반년씩 끊어서 하는 캡스톤 일정으로 프로젝트 자체 완성도는 30%나 되면 다행일 듯 싶다.
여튼 마찬가지로 미세먼지앱과 CRCS 둘 다 말그대로 코드몽키인 채로 만들었다고 본다. 지금은 코드몽키가 아니냐는 것은 아니지만 그땐 진짜 심했다. 리팩토링 하려고 코드를 보면 이렇게 밖에 처리할 수 없었나 싶은 부분이 많아 건들다보면 수정해서 나은 코드를 만드는게 아니라 아예 코드를 뜯어내고 새로 쓰고 있는 내 모습이 보이고 있다.
이번에 만드는 날씨 앱은 웹상에 나와있는 날씨 앱들의 UI를 카피하고, 언어를 Kotlin으로 바꿨으며, 지저분하게 작성한 내XML 파싱 코드가 아닌 Retrofit Gson 통신을 사용해 볼 것이다. 아니 이미 하고 있다.
좀 더 앱들을 참고하며 추가할 것을 추가해야겠지만 당분간은 저런 모양새일 것이다. 내가 좀 더 중요시 하는 것은 내부적인 문제였기 때문이다. 현재 제일 골치 아팠던 문제는 Retrofit을 사용한 API 통신 쪽이었다... 단순히 자바로 하던 때와 달리 버그를 많이 봤다. 됐다 싶으면 다른 버그가 계속해서 튀어나오는 형세였다... 무반응 버그까지 포함해서 8개 정도의 버그가 시간을 들여 문제를 고쳤을 때마다 하나씩 튀어나왔다.
결과적으로 통신쪽만 6일 정도를 잡아먹게 되었다. 고치면서 버그를 기록해놓았기에 하나씩 하나씩 나중에 다시 찾아볼 수 있도록 정리해서 올려볼까 한다.