
오랜만에 돌아온 개발자 꿈나무 김조현입니다. 이번 글은 디버깅을 위해 빌드한 앱이 스토어에 배포된 앱과 충돌하는 문제를 해결한 과정을 풀어가는 글입니다. 우테코에서 진행하는 프로젝트 구현을 하는 중 나는 늘 그렇듯이 편하게 디바이스를 연결해서 작업을 하고 있었다. 하지

위 코드는 Room의 데이터를 관리하는 Repository 코드다.Repository의 역할은 앱의 데이터(DB나 네트워크)를 총괄하는 관리자다. 만약 화면이 여러개인데, 각 화면이 데이터가 필요할 때마다 val repo = CrimeRepository()로 매번 새로

우테코 방학이 시작되어 몹시 설레는 개발자 꿈나무 김조현입니다.방학인데 무엇을 공부해볼까 고민하다가 찾게 된 것이 "안드로이드 학습 튜토리얼 실습을 따라해보자!"였다.우매함의 봉우리에 있어서 어렵지 않겠지~라는 가벼운 마음으로 들어갔지만, 모르는 것들이 생각보다 많아서

안녕하세요. 회고를 통해 스스로를 돌아보며 성장하는 개발자 꿈나무 김조현입니다.레벨1이 끝난게 엊그제 같은데 벌써 레벨2 회고를 쓰고 있다니.... 하는 것이 많아서 그런지 시간이 무척 빨리 가는거 같다 ㅎㅎ...지난 회고를 작성할 때 까먹은 일들이 많아서 이번 레벨부

상태에 해당하는 객체를 만들기 위해 data class를 주로 사용하지만, 이 내부의 구현 함수들에 대해서는 깊게 알아보지 않았다. 내부에서 생성해주는 함수들을 알지 못해도, data class를 사용하면 동등성 비교를 쉽게 할 수 있다!, toString()을 보기

코드를 뜯고 싶고 맛보고 즐기는 개발자가 되고자 하는 개발자 꿈나무 김조현입니다.이번 글에서는 수신 객체 지정 람다의 철학에 대해 알아보고자 합니다.withContext를 뜯어보는 중에 문뜩 일반 람다가 아닌 CoroutineScope.() → T를 사용한 것을 확인했

코틀린의 프로퍼티에 대한 관심을 가지고 공부하는 개발자 꿈나무 김조현입니다.코틀린에서 변수명과 등호를 사용해 값을 읽고 수정할 수 있는데, 어떤 상황에서 커스텀 get()과 set()을 사용해야하는지에 대해 정리해보겠습니다.변수명 호출은 백킹 필드에 존재하는 데이터를

안녕하세요! 취업 시장에서 경쟁 중인 개발자 꿈나무 김조현입니다. 이번 글에서는 경쟁 상태에 대해 공부하면서 발표를 준비했던 내용을 정리하고자 합니다. 수업시간에 다룬 내용 경쟁 상태 여러 스레드가 같은 가변 상태에 동시 접근하면 동기화 문제가 생긴다. Mu

안녕하세요! 가변 객체와 불변 객체에 대해 알아보며 가변적인 개발자가 되고싶은 개발자 꿈나무 김조현입니다. 이번 글에서는 가변 객체가 무엇인지와 불변 객체가 무엇인지, 그리고 각각의 단점과 사용했을 때의 이점에 대해 정리해보고자 이 글을 작성하게 되었습니다. 왜

안녕하세요. 낭만을 중요시하는 개발자 꿈나무 김조현입니다.이번에는 개발과 관련된 회고는 아닙니다. 이번에 작성할 회고는 버킷리스트, 도전에 관련된 회고입니다.일명 "걸어서 바다보러 가기" 프로젝트 입니다. 말 그대로 집에서부터 오직 걷기만으로 바다보러 가는 것이죠!한

스스로를 회고할 수 있는 멋진 사람이 되고자 하는 개발자 꿈나무 김조현입니다.레벨 1회고… 블로그에도 오랜만에 오니 뭘 써야할지 막막하네요...오랜만에 쓰는 회고록이다보니 회고록이 어떻게 써야하는 글인지 다시 찾아봤다.회고록은 개인이 지나온 삶의 특정 시기나 주요 사건

개발에 대한 이해도를 높이고자 공부하는 개발자 꿈나무 김조현입니다.오늘은 싱글톤 패턴에 대한 정리글을 써보겠습니다.왜 이걸 공부하냐? object가 싱글톤 패턴이며, enum 객체또한 마찬가지로 싱글톤 패턴이며, 클래스 내에서 companion object를 사용해도

코틀린에 대해 깊이 파해치고자 하는 개발자 꿈나무 김조현입니다.이번 글에서는 kotlin의 value class에 대해 정리해보겠습니다.값을 클래스로 감싸 도메인 특화 타입을 만드는 것이 유용할 수 있지만, 이로 인해 추가적인 힙 메모리 할당으로 인한 런타임 오버헤드가

실험 정신이 되살아난 개발자 꿈나무 김조현입니다.이번 글에서는 유연함의 힘 4장 '내면의 과학자를 깨워라'에 대한 내용을 정리해보겠습니다.유연성이란 다른 무언가를 시도하는 능력을 말합니다. 더 나아가 학습을 극대화하는 지름길은 특정한 실험을 계획하고 행동하는 것입니다.

한층 더 유연한 목표를 정하고 싶은 개발자 꿈나무 김조현입니다.이번 글에서는 유연함의 힘 3장 '성과와 성장, 두 마리 토끼를 모두 잡는 법'에 대한 내용을 정리해보겠습니다.도전, 변화, 잠재력 성장의 기회가 찾아왔을 때 유연성 강화라는 목표를 세우면 그 경험을 더욱

배움을 추구하는 개발자 꿈나무 김조현입니다.이번 글은 유연함의 힘 2장 '학습을 부르는 마인드셋'의 내용을 정리해보겠습니다.경험을 프레이밍할 때 가장 많이 사용되는 방법은 성과 증명 마인드셋입니다. 이는 도전 상황을 마주했을 때 본인의 능력과 기술을 자신은 물론 주변에

안녕하세요! 유연함의 힘을 읽고 소프트 스킬에 대한 흥미를 가지게 된 개발자 꿈나무 김조현입니다. 우테코에서 읽어오라는 과제가 있었기에 반강제로 읽기 시작하게 된 책이지만 추천해준 것에는 이유가 있다고 생각하기 때문에 제대로 읽고 정리해볼 생각입니다. 이번 글에서

알고리즘 고수가 되고싶은 개발자 꿈나무 김조현입니다.이번 글에서는 백준 1912번 문제를 코틀린으로 풀어본 과정을 정리할 것입니다.n개의 정수로 이루어진 임의의 수열이 주어진다. 우리는 이 중 연속된 몇 개의 수를 선택해서 구할 수 있는 합 중 가장 큰 합을 구하려고

한 주의 회고와 함께 돌아온 개발자 꿈나무 김조현입니다.이번 주는 명절과 졸업식이 함께 있던 주였기 때문에 학습에 대해서는 아쉬운 부분이 많지만, 지난 4주동안 열심히 달려온 자신을 돌볼 수 있었기에 나름 알차게 보낸 일주일이라고 생각합니다.크게 이번 주 계획에 대한

오류 처리와 테스트에 대한 정리글로 돌아온 개발자 꿈나무 김조현입니다.이번 글에서는 코루틴에서 오류 처리를 하는 다양한 개념과 테스트 등에 대해 정리해보겠습니다.일시 중단 함수나 코루틴 빌더 안에 작성한 코드도 예외를 발생시킬 수 있습니다. 이런 예외를 처리하기 위해