분류 전체보기 (24) 썸네일형 리스트형 LazyColumn의 items 안의 데이터가 갱신되지 않아요 LazyColumn의 items()는 아이템의 리스트를 인수로 전달받습니다. 아이템이 변경되면 당연히 items() 내부의 코드 블럭은 재구성되지만, 해당 코드 블럭 내부에서 remember()을 통해 값을 보존할 경우 재구성되지 않아요. 따라서 값을 보존할 필요가 없다면 remember을 없애고, 보존해야 한다면 remember()을 통해 초기화한 후, LaunchedEffect를 통해 데이터를 직접 업데이트해야 합니다. Ex. (잘못된 예시) 아래와 같이 작성된 코드에서는 화면을 스크롤해서 LazyColumn의 index가 0에서 1으로 바뀌었을 때 numberOfSubscibers는 200만에서 50만으로 갱신되지만, nickname은 "안산83"에서 "양말 아저씨"로 갱신되지 않습니다 val yo.. Coroutine ② 더보기[Android Basic] 시리즈1. Clean Architecture2. Retrofit3. Activity4. Fragment5. Coroutine 혹시 Coroutine을 써보고는 싶은데, 너무 복잡해서 망설이고 계신가요? 써보면서 감을 잡고 싶은데 어떻게 시작해야 할지도 모르겠나요? 그렇다면 제대로 찾아오셨어요! 이 글에서는 Coroutine을 사용해볼 수 있을 만큼만 간단하게 알아보려고 합니다. 🙂 이 글에서는1. Coroutine이란? - Coroutine Builder2. Coroutine 써보기 - Coroutine Scope, Coroutine Context의 순서로 알아볼 예정입니다. 1. Coroutine이란? Coroutine이란 Co + Routine으로 구성된 합성어에요.. HashMap의 containsKey()는 왜 시간 복잡도가 O(1)일까? 혹시 HashMap의 containsKey() 메서드가 왜 평균적으로 O(1)의 시간 복잡도를 갖는지 아시나요? 그동안 사용할 때마다 궁금했습니다. Collection이 어떤 값을 포함하는지 확인하려면 내부의 자료를 순회해야할텐데 어떻게 O(1)의 시간 복잡도로 포함 여부를 확인할 수 있을까? 그래서 몇 번인가 찾아봤었지만 설명이 어려워서 이해하지 못했었는데, 오늘은 드디어 이해가 돼서 이해한 내용을 글로 정리해두려고 합니다! 이 글에서는 1. HashMap이란? 2. HashMap이 내부적으로 이용하는 HashTable 3. HashTable이 자료의 중복을 해결하는 방법 의 순서로 살펴보려고 합니다. 1. HashMap이란? HashMap은 키(Key)와 값(Value)으로 구성된 Entry 객체를 .. Software Maestro 14기 회고 (예비 연수생분들을 위한 글) Software Maestro를 준비하며 초조해하던 게 어제같은데, 어느새 프로젝트가 끝나버렸네요 😊 그간의 여정을 정리할겸, 과거의 제가 알았더라면 좋았을 내용을 글로 정리하려고 합니다! 이 글에서는 1. Software Maestro가 뭔가요? 2. Software Maestro에서 실패하지 않는 방법 3. Software Maestro에서 성공하는 방법 의 순서로 글을 쓰려고 해요. 1. Software Maestro가 뭔가요? Software Maestro는 이름 그대로 SW 분야를 선도할 인재를 양성하는 교육 프로그램임과 동시에 Pinkpong, Delightroom 등의 유망 기업의 창업자를 배출한 창의·도전형 프로젝트입니다. SW마에스트로 교육 프로그램 SWM 과정소개 창의력과 재능을 겸비한.. Fragment 더보기 [Android Basic] 시리즈 1. Clean Architecture 2. Retrofit 3. Activity 4. Fragment 5. Coroutine 이 글은 Fragment의 Lifecycle에 대해서 다룹니다. Fragment의 Lifecycle은 Activity와 비슷한 점이 많아요. Activity Lifecycle과 같이 Created, Started, Resumed의 상태를 가지고, 상태가 변할 때 onCreate(), onStart() 등의 수명주기 메서드를 호출합니다. 그래서 이 글에서는 Activity Lifecycle과의 차이점을 중심으로 알아보려고 해요. 구체적으로는 1. Fragment Lifecycle 2. Activity Lifecycle and Fragmen.. Activity 더보기 [Android Basic] 시리즈 1. Clean Architecture 2. Retrofit 3. Activity 4. Fragment 5. Coroutine 오늘은 화상 면접을 봤습니다. 3년차 이상 개발자를 뽑는 자리였지만 신입의 패기로 지원했어요. 면접관님 "Activity와 Fragment의 생명 주기에 대해서 얘기해주세요" 나 "어버버 어버버..." (틀린 내용 얘기함) 소 잃고 뇌 약간 고친다는 말처럼 뒤늦게나마 Android의 다양한 생명주기에 대해 알아보려고 합니다. Activity는 Lifecycle을 가져요. 사람도 아닌데 생명주기가 왜 필요할까요? 왜냐면 모바일 환경은 리소스가 한정적이기 때문입니다. '어떻게 하면 리소스를 줄일 수 있을까'하는 고민 끝에 사용하지 않는 Ac.. Retrofit 더보기 [Android Basic] 시리즈 1. Clean Architecture 2. Retrofit 3. Activity 4. Fragment 5. Coroutine [Android Basic] 시리즈에서는 Android에서 자주 쓰이는 개념을 알아보려고 해요! 첫 순서는 Retrofit입니다. 사실 Retrofit은 Android에서 서버와의 HTTP 통신을 너무나 간단하게 만들어주기 때문에 왜 써야하는지는 크게 언급하지 않아도 될 것 같아요. 이 글에서는 ⒈ Retrofit을 사용하는 방법 ⑴ Sync ⑵ Async ⑶ Coroutine + Flow와 연동하기 ⒉ OkHttp, Volley 라이브러리와 비교하기 와 같은 순서로 이야기하려고 합니다. 참고로 너무 깊은 이야기는 저도 모르기 때문에 간.. Clean Architecture 더보기 [Android Basic] 시리즈 1. Clean Architecture 2. Retrofit 3. Activity 4. Fragment 5. Coroutine 안녕하세요! 오늘은 Android의 Clean Architecture에 관한 글을 써보려고 해요 😊 이 글을 쓰는 이유는 역시나 제가 이 개념을 몰라서 인터넷을 뒤지는데 시간을 썼기 때문! 이제 갓 1년이 지나가는 안드 개발자인 저로써는 Clean Architecture가 뭔지도, 그걸 왜 써야 하는지도 몰라서 설명글을 봐도 이해하기 어려웠어요 ㅠㅠ 그래서 1년 이하의 경력을 가지신 분들을 대상으로 Android Clean Architecture의 구조와 사용하는 이유에 대해 간략하게 설명하려고 해요! 우선 Clean Architectu.. 이전 1 2 3 다음