자연주의 시골 동네 우붓에 발을 디딘지도 어느덧 2주가 지났다. 2월 6일부터 19일까지 2주 동안 이름하여 "라이스 필드" 스프린트를 진행했는데 이 기간 동안 내가 주로 시간을 할애한 작업물에 대한 이야기다.
1.
여행을 떠나기 전 만난 B군이 "야, 내가 어썸온라인 바카라라는 서버를 만들었는데 한번 써봐."라는 말이 시작이었다. 이게 뭐냐면 한국의 유명한 온라인 바카라자들 그러니까 온라인 바카라 덕력이 높으신 분들의 블로그를 링크 하나로 RSS 구독을 가능케하는 것이라고 설명했다.온라인 바카라자가 일곱 명이나 된다고 좋아하는 모습을 보고 있자니내가 100명 정도는 금세 늘려 줄 수 있을 것 같은야심 작렬한 마음에 그만온라인 바카라 클라이언트 앱을 만들겠다고 말했다. 이렇게세계 여행의 첫 번째 앱이 어썸온라인 바카라가 된 셈이다. 이 날 맥주를 많이 마시긴 했다.
2.
나는 한 달 이상의 집중력은 잘 발휘하지 못하는 게 흠이다. 이때부터집중력 고자라고 보면된다.반면에 한 달 이내에 끝이 나는 일은 집중력이 괜찮은편이다. 다행히 어썸온라인 바카라는 온라인 바카라 볼륨이 작은 편이어서 후자에 속한다.
3.
서버와 마찬가지로 온라인 바카라 소스코드도GitHub에 공개되어 있다. 중심이 되는 라이브러리로 RxJava, Realm, Retrofit, Coordinators를 사용하고 있다. 특히 스퀘어의 Coordinators를 의도적으로 사용하려고 약간의 노력을 기울였다. View의 onAttachedToWindow(), onDetachedFromWindow() 라이프사이클을 이용해 액티비티, 프래그먼트 보다 더작은뷰 단위로 UI를모듈화 할 수 있다. 아직까지는 어썸온라인 바카라 UI가 복잡하지 않기 때문에 사례를 설명하기 부족하지만가까운 미래에이 부분에 대해얘기할기회가 있었으면 좋겠다.Realm은 서버에서 받은 데이터를 Cache 하기 위한 용도로 사용한다. 이 부분에서 Repository 패턴을 차용했다.App에서는 데이터가 서버에서 왔는지 데이터베이스에서 왔는지 알 필요가 없기 때문에 괜찮은 접근법인 것 같다.
4.
네비게이션 온라인 바카라워 대신한때 사제 라이브러리로 유명했던SlidingMenu를 사용했다. 요즘은 이 라이브러리를사용하는 곳을본적이없는데그래서인지이쪽이 좀 더 예뻐보인다. 어쩌다가도로위를 달리는각그랜져에게눈길 한번 더가는 느낌.
5.
우붓의 유명한 코워킹 스페이스인 후붓의 멤버십에 가입한 2월 8일부터 작업을 시작했는데 중요하게 생각한 원칙은 YAGNI(You aren't gonna need it)이다. 디자인적(UI/UX가 아닌 코드적인 부분을 의미)으로 너무 잘 설계하려다가 한 달이라는 집중력 데드라인을 넘길까 봐 걱정이 됐기 때문이다. 마켓 출시까지 2주가 걸리지 않았으니 이 원칙은 잘 지킨 것 같다.
6.
어썸온라인 바카라는 최소 요건 제품(MVP:Minimum Viable Product)을 떠올리며 온라인 바카라을 진행했다. 몇 가지 기능을 더 넣고 싶었지만 사용자 반응을 확인한 뒤, 빠르게 업데이트할수 있는 부분은그냥부족한 채로 남겨두었다.라고 부족한 기능에 대한 면책사유를만들어 봅니다. 아무튼B군과 나는 어썸온라인 바카라에서 큐레이션 된 글들이 사용자에게 가치를 줄 것이라고 믿고 있는데 우리가 생각하고 있는 가설과기대치가 어느 정도 맞을지빨리 뚜껑을 열어보고 싶다.
7.
최근 2년 동안개인 프로젝트를 Bitbucket에올리다 보니 GitHub의 활동 그래프가 텅텅 비어있다. 몇 개월 뒤 내 통장잔고를 보는 예지몽이 아니길 빌어야지. 로또에 당첨되는 날까지원데이 원커밋을 실천해보겠다.
8.
파이어베이스 Analytics를 연동했는데,빌드 Flavor 별로 패키지가분리되어있다 보니 google-services.json을패키지 별로등록해줘야한다.이걸 등록하지 않으면 컴파일 타임에 에러가 발생하니 꽤나 번거롭다. 그리고 유사 서비스보다 제약이 있는편이다.이벤트 이름의 경우, 알파벳과 _만 사용이 가능하다. 실시간으로 집계되지 않기 때문에 이벤트 온라인 바카라 과정에서로그가 제대로 수집되는지 확인하려면로그캣을 보는 게 최선이다. 스크린 이름을 설정할 수 있지만 관련된 정보를 볼 수 있는 화면이 대시보드에 아직존재하지 않는다.괜찮은 점은 실 사용자(DAU/WAU/MAU)를 잘 측정한다는 부분이다. 앱이 포그라운드에서 실행됐는지와 최소 세션 시간 동안 머물렀는지를 기반으로 한다.
9.
Crashlytics를 연동하면서Answer 기능도 적용시켜봤는데(기본 기능만 쓴다면Fabric 대시보드에서 클라이언트 코드 수정없이 연동 할 수 있다),액티브사용자에 대한 정보를 실시간으로보여준다. 파이어베이스의 지연 처리를메우기 좋다.
10.
RxJava, Retrofit의 조합으로 만든Api 테스트 코드는TestSubscriber를 온라인 바카라하면 간편하다. 옵저버블이 완료를 발행했을 때 테스트가 성공한다.
11.
온라인 바카라 누가이전 버전에서 SimpleDateFormat으로포맷팅 된 시간을 Date로 변환할 때, 타임존 영역에 XXX를 온라인 바카라하는 것을 지원하지 않는다.(자바 7의SimpleDateFormat에서는 X를지원한다.) 따라서"2017-02-18T13:40:00.000+09:00"과 같은시간 정보를"yyyy-MM-dd'T'HH:mm:ss.SSSXXX"로 처리하면 누가이전 버전에서는IllegalArgumentException: Unknown pattern character 'X'이 발생한다. 대안으로"yyyy-MM-dd'T'HH:mm:ss.SSSZZZZZ"를 사용할 수 있다. 정확히는 온라인 바카라누가 버전부터 SimpleDateFormat에서X를 지원한다고 보는게 맞겠다.
12.
사실제일 하고 싶은 얘기는 구글 플레이에서어썸온라인 바카라를 다운로드 받아달라는 얘기를 하고 싶었다. 왜인지 이런 부탁은부끄러워미괄식으로 작성할 수 밖에 없었다.