본문 바로가기

분류 전체보기

(53)
Error ) NavigationExtensions - does not have a NavController set 에러 내용 java.lang.RuntimeException: Unable to destroy activity .... does not have a NavController set Caused by: java.lang.IllegalStateException: View androidx.fragment.app.FragmentContainerView{d4cc327 V.E...... ......ID 0,143-1080,1868 #7f0900e0 app:id/main_nav_container} does not have a NavController set 재현 상황 android/architecture-components-samples Samples for Android Architecture Components. ..
Clean Agile - Chapter 5 클린 애자일 애자일의 기본으로 돌아가라!애자일 선언이 첫선을 보인 지 20년 가까이 지난 지금, 살아있는 전설 로버트 C. 마틴(“엉클 밥”)은 새로운 세대에게 애자일 가치와 실천 방법을 다시 소개한다. 애 www.yes24.com 위의 책 내용을 참고하여 정리한 글입니다. 자세한 내용은 책에서 확인하세요. 애자일 하다는 것은 애자일에 포함된 기술 실천 방법을 도입하는 것이다. TDD, 리팩터링, 단순한 설계, 짝 프로그래밍 등의 기술 도입이 없다면 애자일이 아니다 테스트 주도 개발 TDD의 세 가지 규칙 1. 코드를 먼저 작성하면 안 된다. 2. 실패를 위한 테스트 코드를 만들려 하면 안 된다. 3. 테스트 통과를 위해 필요한 것 외에 더 많은 코드를 작성하면 안 된다. 장점 1. 디버깅이 거의 필요 ..
Dagger ( Hilt ) 2.31 - 변경된 ViewModel 주입 Hilt 2.31에서 ViewModel 주입 방법이 바뀌었다. 기존 코드 implementation "com.google.dagger:hilt-android:2.30.1-alpha" kapt "com.google.dagger:hilt-android-compiler:2.30.1-alpha" implementation 'androidx.hilt:hilt-lifecycle-viewmodel:1.0.0-alpha02' kapt 'androidx.hilt:hilt-compiler:1.0.0-alpha02' class StartViewModel @ViewModelInject constructor( @Assisted private val savedStateHandle: SavedStateHandle, private ..
ViewModel - SavedStateHandle ViewModel에서 상태 저장을 위해선 SavedStateHandle를 사용하면 된다. class SampleViewModel @ViewModelInject constructor( @Assisted private val savedStateHandle: SavedStateHandle ){ companion object { const val DATE_TYPE_KEY = "DATE_TYPE_KEY" const val IS_EMPTY_KEY = "IS_EMPTY_KEY" } private val _isEmpty = savedStateHandle.getLiveData(IS_EMPTY_KEY) val isEmpty: LiveData get() = _isEmpty private var dateType: Int? =..
Day + 37 첫 트리밍 신입생 군인
Clean Agile - Chapter 4 클린 애자일 애자일의 기본으로 돌아가라!애자일 선언이 첫선을 보인 지 20년 가까이 지난 지금, 살아있는 전설 로버트 C. 마틴(“엉클 밥”)은 새로운 세대에게 애자일 가치와 실천 방법을 다시 소개한다. 애 www.yes24.com 위의 책 내용을 참고하여 정리한 글입니다. 자세한 내용은 책에서 확인하세요. 메타포 ( = 유비쿼터스 언어 ) 팀에서 정한 어휘나 용어를 메타포라 하고, 이를 잘 활용하면 효율적으로 의사소통을 할 수 있다. 가장 흔한 예로 Cookie 가 대표적이고, Cookie 값을 추가할 때 "쿠키를 구웠다"라고 말하는 것도 마찬가지로 메타포이다. ( 헨젤과 그레텔에 바닥에 쿠키를 길을 찾기 위해 남겼다 => 정보를 남긴다. => 쿠키 가 어원이라는데 맞는진 모르겠다. ) 지속 가능한 속..
Clean Agile - Chapter 3 클린 애자일 애자일의 기본으로 돌아가라!애자일 선언이 첫선을 보인 지 20년 가까이 지난 지금, 살아있는 전설 로버트 C. 마틴(“엉클 밥”)은 새로운 세대에게 애자일 가치와 실천 방법을 다시 소개한다. 애 www.yes24.com 위의 책 내용을 참고하여 정리한 글입니다. 자세한 내용은 책에서 확인하세요. 애자일 실천 방법 중 비즈니스와 연관된 것이 많고, 계획 세우기, 작은 릴리스, 인수 테스트, 전체 팀이 포함된다. 이 중 계획 세우기에 대한 내용이다. 계획 세우기 프로젝트의 크기를 추정하기 힘들다면, 더 작게 쪼개고 쪼개서 추정하면 된다. 하지만 추정이 매우 정밀하고 확실하면 의미가 없다. 추정은 추측이다. 작은 비용으로 대략 어느 정도 걸릴지 알고 싶은 것이다. 삼변량 분석 최선, 일반, 최악 ..
Clean Agile - Chapter 2 클린 애자일 애자일의 기본으로 돌아가라!애자일 선언이 첫선을 보인 지 20년 가까이 지난 지금, 살아있는 전설 로버트 C. 마틴(“엉클 밥”)은 새로운 세대에게 애자일 가치와 실천 방법을 다시 소개한다. 애 www.yes24.com 위의 책 내용을 참고 하여 정리한 글입니다. 자세한 내용은 책에서 확인하세요. "우리 프로그래머가 세상을 지배한다. 그리고 아주 엉망으로 하고 있다." "테스트 묶음이 있는 소프트웨어는 얼마나 될까?" "테스트 묶음이 소프트웨어의 정상 작동을 엄밀하게 증명한다고 말할 수 있는 프로그래머는 얼마나 될까?" 관리자, 사용자, 고객이 개발자인 우리에게 기대하는 것들을 부응하는 것도 애자일 개발의 주요 목표이다. 기대하는 것들 우리는 쓰레기를 내보내지 않겠다. "사용자가 프로그래머처..