전체 글 (91) 썸네일형 리스트형 내일배움캠프 수료 솔직한 후기 수료2024년 7월 5일, 내일배움캠프 Android 과정 3기를 수료했다.이번 글은 캠프에 신청할지 말지 고민하는 사람들을 위해 솔직한 후기를 작성하려고 한다. 내일배움캠프 이전의 삶화학공학과 3학년 시절, 나는 진로에 대한 회의감을 느끼기 시작했다. 주변의 권유로 선택했던 이 전공이 과연 나의 행복한 미래를 보장할 수 있을지 의문이 들었다. 깊은 고민 끝에 내린 결론은 부정적이었다.졸업 후 새로운 진로를 모색하던 중, 지인의 제안으로 개발자라는 직업에 관심을 갖게 되었다. 이에 대해 자세히 알아보던 과정에서 체계적인 학습 지원의 필요성을 느꼈고, 마침 국비 지원 부트캠프인 '내일배움캠프'를 알게 되었다. 그렇게 나는 졸업과 동시에 이 프로그램에 지원하게 되었다. 개발 공부 여부개발자인 친구들이 주.. TIL 74일차 - 최종프로젝트 발표 대본 준비 & 발표 연습 튜터님 코드 리뷰 내용기존 여러 개로 나뉘어져있던 패키지를 data, network, presentation 3개로 정리(클린아키텍쳐)MVVM 패턴으로 일관성있게 정리mapper를 이용해 의존성 분리패키지명, 파일명 등을 잘 지어야 나중에 편하다SharedPreference 보다는 DataStore를 이용해 볼 것 TIL 73일차 - 최종프로젝트 Paging대량의 데이터를 효율적으로 로드하고 표시하기 위한 라이브러리 특징 Paging 데이터로 작업하는 동안 시스템 리소스를 효율적으로 사용할 수 있다요청 중복 삭제 기능이 기본 제공되므로 앱에서 네트워크 대역폭과 시스템 리소스를 효율적으로 사용할 수 있다사용자가 로드된 데이터의 끝까지 스크롤할 때 구성 가능한 Recyclerview 어댑터가 자동으로 데이터를 요청한다새로고침 및 재시도 기능을 포함하여 오류 처리를 기본으로 지원한다 Paging 라이브러리의 구성요소는 앱의 세 가지 레이어에서 작동한다저장소 레이어ViewModel 레이어UI 레이어저장소 레이어저장소 레이어의 기본 페이징 라이브러리 구성요소는 PagingSource이다. 각 PagingSource 객체는 데이터 소스와 이 소스에서 데이터.. TIL 72일차 - 최종프로젝트 class StratagemListActivity : ComponentActivity() { private val viewModel by lazy { ViewModelProvider( this, StratagemViewModel.StratagemViewModelFactory() )[StratagemViewModel::class.java] } override fun onCreate(savedInstanceState: Bundle?) { super.onCreate(savedInstanceState) enableEdgeToEdge() viewModel.getStratagem() setContent {.. TIL 71일차 - 최종프로젝트 Compose 에서의 화면 이동 구현하는 방법@Composablefun Title() { Box(modifier = Modifier.fillMaxSize()) { Image( painter = painterResource(id = R.drawable.helldivers2_title), contentDescription = "Hell Divers 2 Title", contentScale = ContentScale.FillBounds, modifier = Modifier .fillMaxSize() .clickable { val.. TIL 70일차 - 최종프로젝트 모의 기술면접 피드백 정리DI에 관한 개념이 조금 약한 것 같다. 공식 문서를 참고하면 좋을 것이다.마찬가지로 무한 스크롤을 구현하는 Paging도 공식 문서를 참고하면 좋을 것이다.설명하는 방식은 괜찮지만 개념을 좀 더 확실하게 알고 가야 매끄러운 설명이 가능할 것이다.저번 모의 기술면접 때보다 좀 더 버벅인 감이 있다. 잘 모르는 질문이 나왔을 때 당황하지 않고 생각을 빠르게 정리해 설명하는 요령이 필요할듯 하다. TIL 69일차 - 최종프로젝트 kapt에서 KSP로 마이그레이션 하기 KSP란?KSP(Kotlin Symbol Processing)는 kapt의 Kotlin 우선 대안이다. KSP는 Kotlin 코드를 직접 분석하기 때문에 시간이 최대 2배가량 빠르다. 또한 Kotlin의 언어 구성을 더 잘 이해할 수 있는 장점이 있다. 프로젝트에 KSP 플러그인 추가 & 의존성 추가plugins { id("com.google.devtools.ksp") version "1.8.10-1.0.9" apply false}plugins { id("com.google.devtools.ksp")}ksp("androidx.room:room-compiler:2.5.0") kapt 플러그인 삭제 모듈에 더 이상 kapt와 함께 포함된 종속 항목이 없으면 .. TIL 68일차 - 최종프로젝트 Compose를 이용해 로그인 화면의 UI를 만들어 보았다.class LoginActivity : ComponentActivity() { override fun onCreate(savedInstanceState: Bundle?) { super.onCreate(savedInstanceState) setContent { ComposeTestTheme { Surface ( modifier = Modifier.fillMaxSize() ) { LoginScreen() } } } }.. 이전 1 2 3 4 ··· 12 다음