170129-170130


이 블로그를 만들고 처음으로 이틀치를 몰아서 쓴다.

  • 친구 두명이랑 2일간 안드로이드 앱 개발을 했다.

기존에 친구들이 출시한 앱이 있었는데 이게 좀 문제가 있어서 아예 새로 개발하는 쪽으로 가닥을 잡았다. 내 안드로이드 개발 경험이래봤자 대학교때 학교 셔틀버스 시간표 앱 수정한다고 잠깐 건드려본 정도인데, (테스트 업무하면서 했던 Appium은 제외) 잘하는 개발자들이랑 협업을 하자니 좀 긴장이 됐다.

앱의 내용은 최근 출시한 모 게임의 스캔 정보..를 제공하는 앱이었고 Activity는 10~15개 정도로 예상했다.

기본적인 설계는 친구들이 하고, 나는 개발에 사용할 오픈소스들을 분석하여 메소드별로 어떤 기능을 하는지 파악했다. 그 다음에는 메뉴를 어떻게 구성할지, 각종 스트링 (메뉴 텍스트/오류 메시지 내용/각종 안내 메시지) 작성을 담당했는데 회사 다니면서 봐왔던 서비스들을 떠올려보니 아주 큰 도움이 되었다.

(대충 여기서는 이런 식으로 메시지를 적어야 한다.. 같은 흐름을 경험 기반으로 떠올릴 수 있었음)

밤새서 분석하고 코딩하고 이것저것 작성하다가, 두시간정도 자고 다시 작업하는데 정말 정신이 없었다. 해커톤 같은거 나가는 사람들이 엄청 신기하다고 느꼈다…… ㅠㅠ

자바는 할 줄 알았지만 안드로이드 경험이 별로 없던 나로서는 대부분의 시간을 남의 코드 읽어서 이해하는 걸로 사용했는데, 몇 가지 서브 기능 수정해보고 하다보니 조금 감이 왔다. 열시간 가까이 코드 보면서 분석하다보니까 대충 어떤 식으로 굴러가고 구현되어있는지도 깨닫게 되었고, 친구들이 메인 기능 작성하는거 뒤에서 보면서 여러 가지 테크닉을 배울 수 있었다.

최근에는 거의 집에서 혼자 책보면서 공부하고 실습하는 상황을 반복했는데 이런식으로 약간의 실전(?)을 겪고나니까 느낀 점이 많다.

  • 2~3주 혼자서 공부한 것보다 프로젝트 하나 짧게 해본게 배운건 더 많았다.
  • 잘하는 사람이 어떤 식으로 생각하고 코드를 작성하는지 잘 보고 배울 수 있었다.
  • git 사용법 / Java 복습을 할 수 있는 좋은 시간이었다.
  • Android 개발에 흥미를 가질 수 있게 되었다. 특히 지난 몇 주간 Java 기본서를 복습했던 내 자신에게 감사할 수 있었다. (코드 이해도가 많이 높아졌다고 느낌)
  • 남의 코드 읽어보는거 기존에도 좋아하는 편이었지만 좀 더 많은 시간을 들여야겠다.

개인 프로젝트 설계만 해놓고 아직 구현은 시작 안했는데, 빨리 시작해야겠다는 생각을 가질 수 있게 됐으니 다행이다.

앱 완성은 아직 조금 덜 되었고 조만간 출시 예정인데 잘 됐으면 좋겠다.