티스토리 뷰

Android

Droid Knights 2021 Track2 요약

작은성공 2021. 10. 2. 09:40
728x90
반응형

나는 Droid Knights 2021을 실시간으로 봤는데, 지금은 내용이 모두 유투브에 오픈이 되어 있다.

 

각 영상들에서 얻을 수 있는 내용들을 요약하여 기록 해 두고, 추후에 필요 시 다시 보기 위해 정리하고자 한다.

 

이 글에는 Track2 내용들만 있고, Track1 내용은 아래 링크에 있다.

https://hckim999.tistory.com/42


정승욱 - 액티비티:코드제로

 

영상 링크 : https://youtu.be/lkrEfYO54xU

액티비티 코드를 최소화하고 대부분의 동작을 ViewModel에서 처리 함으로써 대부분의 로직을 Testable하게 만들기 위해 접근한 방식.

 

김호중 - 복잡한 RecyclerView, 군더더기 없이 데이터로 표현하기

영상 링크 : https://youtu.be/mqY3GWid7ug

RecyclerView, ViewPager 사용 시 Adapter를 많이 만들게 되는 현상을 개선하기 위해 접근 한 방식

접근 한 방식을 다른 사람도 쉽게 구현하기 위해 Antonio라는 오픈소스로 열어두었음.

 

송성현 - 해커 입장에서 생각해보고 안전한 앱 개발하기

영상 링크 : https://youtu.be/xwrSg8RkJx0

해커가 해킹 한 실제 사례 및 어떻게 해킹을 했는지를 실제로 코드 및 동작방법 보여주면서 시연

어떤 방법을 쓰더라도 정보는 노출 될 수 있음.

해킹을 막기 위한 방법

- 중요, 개인 정보 사용을 최소화 하자 : 작은 정보가 큰 문제의 단초가 될 수 있음

- 사용자를 항상 의심하자 : 해당 사용자가 권한을 갖고 있는지 항상 판별하기 등

- 오픈 소스 사용 관리하자 : 오픈소스코드 취약성을 통한 공격 예방

- 시큐어 코딩 기법 적용/공부 > 공격자가 귀찮아서 공격을 안 하게 하는 효과를 줄 수도 있음.

 

유영혁 - 비디오에 Component View 및 Redux 적용기

영상 링크 : https://youtu.be/deDauQfNUQA

효율적인 상태관리 기법인 Redux를 사용하여 수정에 유연한 View인 ComponentView를 사용함

 

박한범 - Android Native 모듈을 안정적으로 개발하기

영상 링크 : https://youtu.be/3Wt_2ImRhNo

Native Module을 만들면서 고민했던 부분들에 대한 공유

makefile 관리 방식, define 어떤 기준으로 설정하였는지, 안정성 향상을 위해 하였던 방식, 테스트코드 작성 등을 공유

 

강사룡 - Android Testing Best Practices

영상 링크 : https://youtu.be/D_tWlb2deX8

테스트코드 작성을 하고 있는 사람이 들으면 생각 할 것들이 많을듯한 내용이 많아서 좋았음.'

테스트코드의 필요성

테스트코드 작성 시 고려할 점에 대한 공유

- 작고 독립적인 모듈부터 작성 해 볼 것

- 의미 없는 테스트코드, 지나치게 넓은 범위 테스트는 지양할 것

- 장애가 발생하였을 때 구글에서는 어떻게 대처하는지(롤백 후 장애 부분 같은 장애 발생하도록 테스트코드 만들어서 이 테스트코드를 성공하도록 함)

- 의존성(SQLite, gRPC 등) 해결 접근법: 의존성 관계에 있는 진짜 코드 사용 > 불가능 시 라이브러리에서 제공하는 표준 fake 사용 > 불가능 시 mockup

- 의존성 해결 방법에 대한 영감을 hilt test guide에서 받아볼 것

- Android API 접근 시 Robolectric 사용 해 볼 것

 

좋은 테스트코드

- pure refactoring, new feature, bug fix로 인해 테스트코드는 변경되지 않아야 함. but 동작 변경으로 인해 테스트코드는 변경될 수 있음.

- 테스트는 public api를 통해서만 할것. 테스트를 위해 private를 public으로 만들지 말 것

- 테스트코드는 완결성(complete), 간결성(concise)를 가져야 함. 불필요한 내용은 감추고, 테스트 하고자 하는 것은 정확히 알 수 있는 정보를 모두 갖고 있어야 함.

- method 단위로 테스트 하지 말고 동작(behavior) 단위로 테스트 할 것.

- 테스트에 로직이 들어가면 안됨. 테스트코드 로직의 오류로 테스트 실패가 나는 것을 막기 위함.

- 테스트 조건을 쉽게 파악할 수 있게 작성할 것

cf Software Engineering at Google에 좋은 내용이 많으며 이를 많이 참고 함. 올해 말 혹은 내년에 한글판 나올 예정

아래 사이트들 참고 할 것

https://developer.android.com/codelabs/advanced-android-kotlin-training-testing-basics#0

https://testing.googleblog.com/

https://developer.android.com/training/testing

 

 

권혁신 - Asynchronous Programming for Android

영상 링크 : https://youtu.be/Pr-k84Vv1gg

비동기 처리를 위해 사용한 방식(rxJava, coroutine, Flow)에 대해서 알아봄

같은 동작을 rxJava와 coroutine으로 처리한 것을 코드로 보여주면서 각각의 장단점을 말함

 

728x90
반응형
댓글