[코틀린] HashMap Deep-Dive
Android Studio/- Programming2025. 7. 12. 20:58[코틀린] HashMap Deep-Dive

안녕하세요 주코입니다.최근, 예전부터 HashMap을 잘 다루고 싶었지만, 흉내는 낼 뿐 잘 사용하지 못했었습니다. 그러다 최근, 시간 복잡도 문제들을 만나며 중요도를 알게 되었고, 정확하게 그리고 딥하게 학습하고 기록하고자 이렇게 글을 쓰게 되었습니다. 해시맵 (HashMap) 이란?해시(hash) 기법을 사용해 맵(map)으로 데이터를 저장하기 위한 자료구조입니다.즉, 키(key)와 값(value)의 쌍으로 데이터를 저장하는 해시 기반 컬렉션입니다.평균 시간 복잡도는 O(1)을 가지고 있으며, 최악의 경우 O(log n)의 시간복잡도를 갖습니다.그렇다면 해시는 무엇이고 맵은 무엇일까?해시 (Hash) 란?해시(hash)는 입력 데이터를 고정된 길이의 고유한 값(해시값)으로 변환하는 과정을 의미합니다...

[회고록] 더 늦기전에(아니 이미 늦은) 적는 2024 회고
My Story2025. 6. 9. 21:00[회고록] 더 늦기전에(아니 이미 늦은) 적는 2024 회고

안녕하세요! 주코입니다.최근 3개월간 다시 바쁘게 살다 결심을 하고 다시 돌아와 이렇게 더 늦기 전에.. 아니 이미 늦은 2024년도 회고를 적어보려고 합니다.내년에 이 글을 내가 다시 보면 추억이 되겠죠?사실 3월경 약간 적었다가 임시저장만 해두고 업로드는 안 해놨었던..2024년이 되기 전..2023년 초 대학교 4학년이 되고 졸업작품으로 안드로이드 앱을 개발하게 되었습니다.당시엔 익숙한 Java로 저를 포함한 5명이서 앱을 개발했습니다.저는 안드로이드 스튜디오를 처음 접했기 때문에 모든 게 다 서툴렀습니다. Java도 잘 다루지 못했기 때문에 문법부터 다시 공부해야 했습니다.그리고 서로 아이디어를 도출하고 실제 앱을 개발하려고 강의를 보며 하나하나 예제 앱을 만드는데 너무 재미있었습니다!버튼을 클릭..

[안드로이드] Authenticator, Hilt dependency cycle 에러
Android Studio/- Honey Tip2025. 3. 19. 02:06[안드로이드] Authenticator, Hilt dependency cycle 에러

안녕하세요 주코입니다.최근 팀 프로젝트에서 Google OAuth를 개발하던중 RefreshToken을 갱신할때 Hilt의 dependency cycle (순환참조) 에러가 발생하였습니다. 머리를 골골 싸메다가 꽤 괘찮은 해결법을 찾게되어 이렇게 글을 올리게 되었습니다. 원인Hilt을 통해 Network Module를 설정하고 RefreshToken을 갱신하기위해 Authenticator에서 API와 통신하고있는 DataSource를 주입하고 있었습니다.이때, dependency cycle이 발생하였습니다. ( 원인, 예시코드 )@Module@InstallIn(SingletonComponent::class)object NetworkModule { private val logging = HttpLog..

[안드로이드] Room 에러: java.lang.IllegalStateException: Storage for [C:\{...}\build\kspCaches\debug\symbolLookups\id-to-file.tab] is already registered
Android Studio/- Honey Tip2025. 2. 27. 22:17[안드로이드] Room 에러: java.lang.IllegalStateException: Storage for [C:\{...}\build\kspCaches\debug\symbolLookups\id-to-file.tab] is already registered

안녕하세요 주코입니다. 오늘은 개인 앱 개발도중 Room의 AutoMigrations을 설정하다가 오류가 발생하였는데, 치명적이라고 생각하여 해당 에러에 대한 생각과 해결방법을 알려드리기 위해 이렇게 글을 쓰게 되었습니다. 에러 발생 원인저는 Ksp를 사용하고 있습니다. 정확히 어느 시점에 해당 에러가 발생한 지 정확한 원인은 찾기 어려웠습니다. 다만 추측은 가능했습니다.@Database( version = 1, entities = [WorkPlaceEntity::class], exportSchema = false,// autoMigrations = [AutoMigration(from = 1, to = 2)])@TypeConverters(WorkPlaceConverters::clas..

[안드로이드] Firebase 에러 ERROR_INVALID_CREDENTIAL 해결법
Android Studio/- Honey Tip2024. 12. 17. 06:25[안드로이드] Firebase 에러 ERROR_INVALID_CREDENTIAL 해결법

오랜만에 인사드립니다. 주코입니다!요즘은 Naver에서 개최한 Dan24 행사를 참여한 후 여러 가지 인사이트를 얻고 계속해서 MultiModule과 Compose를 중심으로 학습하고 있었습니다!최근 Firebase로 이메일과 비밀번호로 로그인을 구현하고 있었습니다.저는 FirebaseAuth에 대한 모든 에러핸들링에 대해 사용자에게 SnackBar로 로그인 실패에 대한 이유를 보여주고 싶었습니다.일부로 Firebase Authentication에 없는 계정으로 로그인을 시도해도, 비밀번호를 틀려도 계속 ERROR_INVALID_CREDENTIAL라고 에러가 뜨는 것이었습니다. 에러 발생 화면테스트용 이메일과 비밀번호는 test@naver.com / 12341234 이였습니다. 이렇게 설정을 하고 일부로..

[인텔리픽] 한 달 인턴 종료!
My Story2024. 11. 1. 00:55[인텔리픽] 한 달 인턴 종료!

안녕하세요. 주코딩입니다!드디어 이름은 한 달 인턴, 실제로는 약 두 달간의 인턴 생활이 종료되었습니다!!출퇴근 총 4시간.. 진짜 고생했다 주코딩..최종 인턴 생활은 8월 19일 ~ 10월 11일로 마무리를 짓게 되었습니다. 충청남도 시골 청년이 처음 서울로 상경하여 인턴이지만 첫 회사에 출근하는 그 감동을 아십니까..?진짜 너무나 황홀한 순간이였고 평생 그 순간을 잊지 못할 것 같습니다 ㅋㅋ 사실 제가 인턴으로 간 회사에서 12월 말까지 있어주기를 원하셨습니다.다만, 이 곳에선 더 이상 성장 할 수 없다고 생각하였고 10월 11일까지만 하고 나오게 됐습니다.  우선 제가 인턴으로 들어갔던 회사는 IT회사가 아니었다는 점을 감안해서 읽어주세요! 인턴 어땠을까?첫 출근을 하자마자 바로 앱 개발에 투입이 ..

[인텔리픽] 한 달 인턴 최종 합격 후기
My Story2024. 8. 15. 00:39[인텔리픽] 한 달 인턴 최종 합격 후기

안녕하세요. 주코딩입니다. 오늘은 정말 좋은 소식을 하나 들고 왔습니다!!그것은 바로! 인텔리픽 한 달 인턴에 최종 합격을 했습니다!최근 부트캠프를 수료하고 2주간 최종 프로젝트의 오류 수정 및 개선을 끝마치고 혼자 앱 개발 공부를 계속 이어 나갔습니다.그러다가 내일 배움 캠프 스파르타 팀에서 인텔리픽이라는 채용사이트를 통해 한 달 인턴을 채용한다는 소식을 전해 듣고 바로 신청을 하게 되었습니다. 한 달 인턴은 어떻게 진행되나요?팀 스파르타에서 전화가 한통 왔습니다. 한 달 인턴 기회가 생겼는데 신청해 보는 것이 어떻냐고 하더라구요!바로 승낙을 하고 미리 준비해놨던 이력서(포트폴리오)를 제출했습니다. 8월 6일, 서류 전형에 합격했고 8월 7일, 대망의 OT가 시작되었습니다.한 달 인턴 합격까지의 과정은..

[안드로이드] Foreground Service에서 Notification이 뜨지 않는 문제 (Feat. FastCampus)
Android Studio/- Honey Tip2024. 7. 30. 01:00[안드로이드] Foreground Service에서 Notification이 뜨지 않는 문제 (Feat. FastCampus)

최근 스파르타코딩 부트캠프가 끝나고 cs공부와 알고리즘, 그리고 FastCampus 강의를 들으면서 학습을 이어 가고 있었는데요. FastCampus의 강의 중 part1 - chaper9를 수강하다가 Android 버전에 따른 문제가 발생하였습니다.이 강의는 Android 12를 타깃하고 있어 Media Player와 Notification의 설정을 Android 버전에 따라 추가 작업을 해줘야 하는 것이 있어, 혹시나 해당 강의를 듣고 있는 분들께 도움을 드리고자 글을 쓰게 되었습니다! 해당 강의를 들으면서 코드를 따라 쳐본다면 java.lang.SecurityException: Permission Denial: startForeground from pid=12550, uid=10191 require..

728x90
image