영어 데일리 27

mockk을 활용한 고급 모킹 기법 (25.01.09)

https://medium.com/proandroiddev/advanced-mocking-techniques-with-mockk-part-2-of-5-04e0d3d6a08f Advanced Mocking Techniques with MockK Part 2 of 5part1proandroiddev.com 이제 Mockk의 기본에 대해 익숙해졌으니, 더 발전해서 고급 스킬을 설명하겠습니다. 다음과 같은 내용을 다루겠습니다Mocking 정적 함수, 객체, 그리고 final classmockkStatic, mockkObject 그리고 mockkClass 사용 방법메서드 인자를 확인하기 위한 slot 과, capture 같은 고급 구조 이것이 바로 Mockk이 Mockito와 같은 라이브러리와 비교해 진가를 발휘..

영어 데일리 2025.01.09

Mockk와 Mocking 기본 소개 (24.01.08)

https://proandroiddev.com/introduction-to-mockk-and-mocking-basics-part-1-of-5-01467d917e2f 만약 안드로이드에서 유닛테스트를 시작하려고 한다면, 아마도 너는 mocking 용어를 접해봤을 것입니다. 아마 mockito와 같은 라이브러리를 들어봤을 것이고, 너는 궁금해하고 있을것입니다. "Mockk 이뭔가요?" 걱정하지마세요. 나는 mocking 기본을 통해서 너에게 Mockk이 왜 강한 툴이고 사용을 고려하라고 하는지 알려주겠습니다. 재밌고 가볍게들으세요. 커피를 마시는 타임처럼요.  Mocking은 무엇인가요? 제일 먼저 mocking 이 뭔지 정확히 알아봅시다. 너가 유닛테스트를 작성할때에, 너는 최대한 작게 테스트하고싶을거에요...

영어 데일리 2025.01.08

컴포즈 단점에 대한 반박댓글 (25.01.07)

3년 전이라면 너가 그냥 넘어가게 놔뒀겠지만, 하지만 나는 이제 Compose 광팬이기에 반박할거야 1. 뷰 시스템은 많은 의존성을 가지고 있습니다. jetpack과 그 이전의 app compat (앱 호환성) 도 많은 라이브러리를 제공했기에, 순수 View system만 사용한 개발도 가능하지만, Jetpack compose 이전에도, 아무도 순수하게 개발하지 않았습니다. (RecyclerView, ViewPager, ConstraintLayout, CameraX etc) 2 . 내가 제공한 링크를 보면 빌드 타임이 덜 쓰여진다고 나와있는데, 런타임 성능은 아마도 jetpack compose가 더 좋을거같아요. 왜냐하면 더 적은 상속과 컴파일 로부터 더 최적화 하기때문입니다. 그래서 뷰 시스템은 레이아..

영어 데일리 2025.01.07

compose를 사용안하는 10가지 이유 (25.01.06)

https://medium.com/@sonique6784/10-reasons-to-not-use-jetpack-compose-719de5d37c9e 10 reasons to NOT use Jetpack ComposeReal use cases where Compose is not a good fitsonique6784.medium.com 소개 컴포즈는 좋은 UI 툴킷이라고 안드로이드 커뮤니티에서 따뜻하게 환영받았습니다. 그것은 종종 너의 안드로이드 앱에 좋은 방식입니다. 나는 컴포즈를 좋아하지만, 어떤 기술에는 주의사항이 있다고 생각합니다. 이 아티클에는 어떤 경우에는 뷰 시스템을 활용하는게 더 좋은지에 대해 배울것입니다.  1. 가능한 최소한의 의존성 컴포즈는 많은 임포트를 요구합니다. 너가 가능한 최소..

영어 데일리 2025.01.06

컴포즈에서 다국어하는 법 (25.01.05)

https://proandroiddev.com/localization-in-compose-the-pragmatic-way-012cc4e167d2 compose에서의 로컬라이제이션 접근 방식에 대해 나는 고민했었습니다현재는 jetpack compose 또는 compose multiplatform에서 우리는 주로 string resource file에서 현지화 적용을 자주 사용합니다. 하지만 나는 이 접근방식이 몇가지 한계점이 있다는걸 느꼈습니다. string resource 파일들은 일반 문자열이나, 플레이스홀더 표기법이 포함된 문자열을 저장할수 있지만, 주석같은 문자열은 한계가 있습니다. 플레이스홀더 값에 따라 조건부로 문자열을 재구성하는데에 한계가 있습니다 (복수형 표현 과같은) xml을 리소스파일로 ..

영어 데일리 2025.01.05

Coroutine 상위 10개의 실수 (25.01.04)

코틀린 코루틴을 이용해서 비동기 프로그래밍을 할 때 이해하고, 일반적인 함정을 피하는 방법https://proandroiddev.com/top-10-coroutine-mistakes-we-all-have-made-as-android-developers-187d5e14d212 Top 10 Coroutine Mistakes We All Have Made as Android DevelopersUnderstanding and Avoiding Common Pitfalls in Asynchronous Programming with Kotlin Coroutinesproandroiddev.com  소개안드로이드 개발자로써, 코틀린 코루틴은 비동기 프로그래밍 툴킷의 필수 사항인 툴입니다. 이 코루틴은 동시작업들을 쉽게 ..

영어 데일리 2025.01.04

시니어 안드로이드 개발자 탑10 인터뷰 질문과 답변 (25.01.03)

1. 너가 구현한 복잡한 앱 아키텍쳐와 왜 선택했는지를 설명하세요* 큰 앱에서 나는 MVVM 패턴을 사용한다. UI와 비즈니스 로직을 분리하는걸 유지하기 위해서, 이 MVVM은 앱을 테스트 하기 쉽게 만들고 유지보수가 용이하게 만든다.이 아키텍처는 UI 로직을 매니징하기 위한 ViewModel이 포함되어있으며, 레포지토리를 통해 데이터핸들링을 한다.그리고 라이브데이터를 이용해 데이터가 변경될때마다 UI를 자동으로 업데이트한다. 2. 큰 안드로이드 프로젝트에서 너가 종속성 관리하는 방법나는 di관련해서 프레임워크를 dagger나 hilt를 사용한다. 이 툴은 컴파일 타임에 종속성 관리를 하고, 반복적인 코드를 줄여준다. 그리고 이 프로젝를 더 모듈화하고 테스트를 쉽게만들어준다.힐트는 특히 미리 정의된 컴포..

영어 데일리 2025.01.03