코딩/코드리뷰 17

savedStateHandle로 ViewModel의 상태를 저장하자

savedStateHandle로 ViewModel의 상태를 저장 PR리뷰로 (Activity or Fragment)에서 사용하던 savedInstanceState를 ViewModel의 savedStateHandle로 사용해달라는 요청이 왔습니다. 검색하면서 궁금했던 점 1. 아래 글을 보면 savedStateHandle.set과 get이 있습니다. 따로 set/get은 하지 않아도 된다고 함. savedStateHandle 안에 intent로 넘어온 값이 들어있음 로그를 직접 찍어보니 Fragment의 savedInstanceState는 null이고 (true값) ViewModel의 savedStateHandle는 데이터가 있었다. (intent안에 있는 값들이다.) 그래서 뷰 모델의 LifeCycle은..

코딩/코드리뷰 2023.05.18

자바 함수 및 exception 발생 여부

exception 이 발생할 수도 있을 것 같아서 try/catch를 띄워주면 좋을 것 같아요. 그리고, 관련 메서드들이, java 코드라서, 반환값이 NotNull을 보장할 수 없기 때문에, null 예외처리도 해주면 좋을 것 같아요함수를 만들었는데 그 함수가 exception이 발생할 수 있는지 확인하고, 사용하는 함수가 안에 자바로 되어있을 경우 null예외처리도 생각하자.!

코딩/코드리뷰 2023.04.11

Observable, Single 비교

리뷰 내용 : 지금 onNext 이후에 onComplete를 호출해주고 있지 않은데요 끝날 때 onComplete를 호출해주시거나 어차피 onNext와 onComplete를 한번씩만 호출해 줄 것이라면 Observable 대신 Single을 사용해보면 어떨까요? 참고로 Observable의 하위 구현체들은 아래와 같습니다. Single : 데이터를 한개만 방출 Maybe : 데이터를 0개 또는 1개만 방출 Completable : 데이터 없이 성공 실패만 방출 Subject : Observer 이면서 Observable Flowable : 배압(Backpressure) 조절 가능한 Observable

코딩/코드리뷰 2022.01.27

Observable subscribeOn, observeOn 스레드

리뷰 내용 : subscribeOn과 observeOn을 모두 메인스레드에 하고 있는데 둘 다 메인스레드로 설정할 필요는 없어 보입니다. 제 생각에는 sendPhotoObservable와 sendSignObservable를 병렬로 처리할 수 있도록 subscribeOn은 IO스레드나 새로운 스레드(Schedulers.newThread())에서 하고 observeOn을 지금처럼 메인스레드에서 처리하여 zip한 결과를 UI 스레드에서 처리하는게 좋지 않을까 싶네요

코딩/코드리뷰 2022.01.27

코틀린 mapTo

inline fun Array.mapTo( destination: C, transform: (T) -> R ): C collection 프레임워크 사용 시 각 element들을 변형을 거쳐서 다른 collection에 쉽게 복사할 수 있는 함수입니다. ex) String형 List에 있는 데이터들을 Int형 List로 옮기고 싶은 경우 var list = arrayOf("1", "2", "3", "4") var p = ArrayList() list.mapTo(p, { s -> s.toInt()n } ) println(p.toString()) 결과 [1, 2, 3, 4] 나의 경우는 새로운 리스트를 temp리스트를 생성해서 조건에 맞는 리스트를 넣어주는 것이었다. viewModel.listParticipa..

코딩/코드리뷰 2021.11.18