Study

[드로이드 나이츠 2018] 안드로이드 성검들 사이에서 단검들고 간 사연

미스터머글 2018. 4. 24. 17:48
728x90
반응형

일단 나의 안드로이드 경력은 2년이 채 되지 않는다.

학습한 시간을 포함해도 그렇다.

그러니 성검 소유자들 사이에서 단검들고 들어갔던 것부터가

꽤나 용기가 필요했으리. (셀프칭찬)


그렇게 드로이드 나이츠 2018 (Droid Knights 2018)에 참석하였다.


(저 번쩍이는 성검을 보라.)


특정 기업의 컨퍼런스나 세미나가 아닌 이상

개발자들이 자발적으로 만들었기에 참가비가 있기 마련.

중고급 안드로이드 컨퍼런스를 표방하고 있기에

4만원은 아깝지 않았다.


행사 당일, 단상에 오른 한 운영자가 얘기한 것처럼

안드로이드 컨퍼런스가 귀하기에 참가비는 둘째치고

이 행사는 참석해야겠다고 마음을 먹은 것.



(Line 스폰서 부스에서 진행하는 이벤트)



운영자들이 열심히 준비를 했기에 스폰서도 사이즈가 생각보다 컸다.

특히 Line이나 하이퍼커넥트같은 굵은 스폰서들도 있었으니.

하지만 무엇보다 인상깊은건 쿠팡의 이벤트 경품.

마케팅 오지게 세게 하는구나 생각했다.


지금부터는 본격적으로 세션의 이야기를 남겨보자.




1. 정승욱 ~ No More Fragment, No More Activity


국내 공유 자동차 스타트업에 계신줄 알았는데

어느새 해외 (아주 유명하고 대단한) 공유 자동차 스타트업으로 가셨구나해서 놀랐다.

정승욱씨가 발표한 단일 액티비티 어플리케이션는 예전부터 관심이 있었지만

어떻게 접근해야하는지 고민이 되었다.


왜 단일 액티비티 앱으로 해야하는지 고민으로 시작하는게 인상깊었다.

특히 저사양 단말, 프래그먼트 이슈, 확장성 등은 공감이 되는 얘기.


결국 단일 액티비로 갈 때, 새로 알아야하는 개념은 라우터와 노드.

이를 위해 참고하기 좋은 것이 리덕스와 우버의 립스.

역시나 단일 액티비티라는게 쉬운게 아니다.

정승욱씨의 욕심이 느껴질 정도로 많은 얘기를 너무 빨리 진행하였다.
적은 시간에 전달하고자하는게 너무 많았던 것.
'내가 전달자라면'이라는 생각을 이 시점부터 계속하게 되었다.



2. 김범준 ~ What is the difference between List, Sequence, Observable?

정승욱씨보다 더 욕심이 많았던 김범준씨.

(참고로 욕심 끝판왕은 가장 마지막에 등장했음)

List, sequence, Observable. 이 세가지 이야기가 메인인데

난 RxJava를 거의 모르기에 '우와 신기하다'의 수준.

단검 기사의 초라함을 스스로 증명했다.

그래도 RxJava를 공부해야 겠다는 강한 마음을 얻은 것으로 경험치를 쌓았다.



3. 한정일 ~ Paging Library, 그것이 쓰고싶다

어쩌면 기본적인 라이브러리 설명일 수 있다.

하지만 Paging Library를 왜 쓰는지 그리고 어떻게 접근해서 쓰는게 좋은지 설명하여

기본에 얼마나 충실하고 기본을 얼마나 더 활용할 수 있는지 생각하게 만드는 세션이었다.

리사이클러뷰에서 스크롤시 아이템 다루는 법을 알아야하고 

스크롤 방향도 염두해야 한다. 더이상 불러올 데이터 유무도 알아야 한다.

다음페이지 호출 시점에 UI 처리를 어떻게 할지도 알아야 한다.

한정일씨는 공식적 가이드로 볼 수 없어서 답답함이 있다고 했다.


이와 관련하여 PagedList를 쓸 때 다음과 같은 설명이 이어졌다.

Nullable, 메모리 이슈, 지연 로딩 지원, 청크 단위로 지정

필요시 데이터 로딩, 백그라운드 스레드 지원 (청크로드는 data소스에 위임 in 백그라운드 스레드)

Unbounded PagedList

Countable List



(포토월. 난 부끄러워서 인증샷은 찍지 않았다.)


4. 안세원 ~ 지금은 ConstraintLayout 시대

ConstraintLayout는 일찍이 쓰고 있어서 남들이 어떻게 쓰는지 궁금했다.

이 레이아웃이 정식 릴리즈된지 얼마되지 않음을 이번 세션에서 알았다.

유연한 계층구조의 모습을 크기나 위치 지정하는 예시와 같이 보여주었다.

크기 지정의 예시 : layout_cDimensionRatio, constraint_[min|max]



5. 박상권 ~ Firebase Dynamic Link로 사용자 유입시키기

안드로이드 개발자라면 한번 이상은 가봤을 박상권씨 블로그.

성실히 블로그 업데이트를 하고 있는 이 사람의 세션이 궁금했다.

그의 설명으로는 딥링크보다 좋은 FB Dynamic link가 더 좋다고 한다.

'Console에서 링크 만들기' 예시를 시연하면서 개발자 뿐만 아니라

마케팅, 기획을 하는 사람들에게 유용한 툴임을 언급했다.

[활용 사례]

이커머스, 프로모션 코드 입력(에어비앤비, 더퀴즈라이브)

QR코드

FB Invites의 경우 국내에는 적용이 쉽지 않고 많이 유용할지는 의문임도 얘기하였다.

국내 문화가 상대를 초대해서 특정행동을 이끌어내어 수익을 극대화하기 쉽지 않다는 뜻이리라.



6. 정경호 ~ Android Test

가장 관심있는 세션. 테스트를 항상 하고 싶었는데 미묘한 장벽이 나에게 있었다.

그래서 타인은 어떻게 접근하는지 궁금했고 이것을 무조건 들어야지 했던 세션이다.


당연한 얘기지만 빠른 피드백, 안정성, 실력 향상의 이유로 테스트는 필요하다.

그리고 테스트를 어떻게 시작하면 좋은지 아래와 같이 가이드했다.

1. UI 테스트

- buttonClick test

2. Unit 테스트

- 예상된 결과와 동일한지 확인

- 빠른 속도

3. Interface로 분리

4. Server와 함께 춤을

- 동기/비동기 테스트

- rxJava

5. ViewModel도 함께 춤을

- 계산 로직을 분리

- 언제 결과가 나오는지 파악이 됨

6. 나도 Dagger 좀 해보자

테스트 어렵다. UI부터라도.

Dagger 써요. 좋아요.

RxJava는 테스트 할 때도 필요하구나.

마음이 조급해진다.



7. 강사룡 ~ 내가 안드로이드 개발자가 되었을 때 아무도 알려주지 않은 것들

마지막 세션. 그래서인지 이 컨퍼런스 하이라이트를 한방에 볼 수 있었다.

45분이 주어지지만 강사룡씨는 리허설을 했을 때 1시간 가까이 걸렸다고 했다.

이 한마디가 앞으로 얼마나 정신없을지 알려주는 예고편인셈.


강사룡씨는 초급이 아닌 중급에 도달했을 때 개발자의 고민들을 공유했다.

그 중 핵심 사항은 아래와 같다.

개발자의 성장과 스트레스

일본 사례

안드로이트 테스트의 중요성

MVP와  MVVM. 이 둘의 과거와 현재

클린 아키텍처

약 55분 가까이 진행하면서 위의 얘기를 풀어내었고

결국 준비한 것을 다 전달하지 못하고 끝을 내었다.

이런 분들은 세션을 2개즘 줬으면 싶으다.

참고로 강사룡씨는 'Rx'와 '데이터바이딩'은 왠만하면 공부해서 활용하라고 하였다.

음... 과제가 늘었다.



(성검을 가진 기사들. 존경합니다.)


컨퍼런스가 끝났다.

우연히 만난 사람들도 있었다.

하지만 대부분은 내가 모르는 사람들이었다.

저 많은 사람들이 스스로를 업그레이드 하기 위해서 왔구나 싶으니

속된말로 '쪼리는' 기분이다.

개발자라면 누구나 이런 불안함이 있지만 

불안하니깐 더 노력하고 성장하기위해 아둥바둥하는게 아닐까 싶다.


이번 컨퍼런스를 준비한 스탭들에게 감사를 표한다.

그리고 2019년 행사도 잘부탁드린다는 말을 남기며

후기같은 이 사연을 마무리한다.

728x90
반응형