2023/01 8

[Hilt] Hilt 익히기 #2 - Dagger 복습하기 (주요 Annotation)

앞전에서 Hilt는 Dagger를 기반으로 만들어진 DI 라이브러리임을 알 수 있었는데, 사실 Dagger도 초반에만 사용하고, 그 뒤로 안 써봐서 어노테이션이 정확히 기억나지 않아요 :( 그래서 주요 어노테이션들을 복습하는 시간을 가지고, Hilt 공식 문서를 보는 공부방식으로 정했어요 ! 까먹는거.. 저만 그런거 아니잖아요..? 아주 간단한 예제를 통해서 주요 Annotation을 다시 복습해보겠습니다 ✏️ 1. @Module, @Provides Component에 의존성을 제공하는 역할을 합니다 모듈 클래스를 만드는 방법은 @Module만 붙여주면 됩니다 그리고 그 안에 선언되는 메소드들에는 @Provides가 붙어요 :) 간단한 코드를 예시로 보자면, @Module class MainModule ..

📱 Android 2023.01.30

[Kotlin] Collection 함수 - (1) 원소 변환 및 필터, 특정원소 검색

컬렉션의 원소 타입을 변환하거나 필터링 하는 과정은 코딩테스트에서 빈번하게 사용되더라구요 꼭 익혀두도록 해야겠어요 :) Collection에 확장함수는 정말 너무나도 많아요.. 공식문서에 스크롤이 이를 증명합니다.. 어떻게 나눠야 하나 많이 고민했는데 우선 1️⃣ 원소 변환 및 필터, 특정원소 검색 2️⃣ 수학적 개념 3️⃣ index 관련 4️⃣ 형식변환5️⃣ 값 반환 및 정렬 순으로 정리해볼까 해요 :) 이유는 제맘입니다..🫢 바뀔수도 있어요 ,, 원소 변환 Map Collection 타입을 Collection 타입으로 변환 공식문서엔 아래와 같이 설명되어있어요 Returns a list containing the results of applying the given transform function..

💡 Kotlin 2023.01.12

[Kotlin] mutable Collection

2023.01.03 - [💡 Kotlin] - [Kotlin] Collection (List, Set, Map) [Kotlin] Collection (List, Set, Map) 많이 접한만큼 익숙한 자료구조이지만, 한번 더 살펴보겠습니다 Collection 자료구조 중 하나로, 크게 3가지 컬렉션이 있습니다 (List, Set, Map) List와 Set은 Collection을 상속받고, Map은 독자적입니다 간 kong-droid.com 이전 포스팅에서 Collection에 대해 알아봤는데, Collection 인터페이스에서 원소를 수정하려면 Mutable Collection을 사용해야해요 오늘은 Mutable Collection에 대해 알아보겠습니다 ✏️ MutableCollection interf..

💡 Kotlin 2023.01.08

[Android] Clean Architecture

이전 포스팅에도 작성한 적이 있는데, 새로이 공부하면서 다시 정리해보도록 하겠습니다 ✏️ 왜냐하면 까먹었기 때문이죠 아마 내용이 비슷할거에요.. 그래도 한번 더 써보는걸로도 공부가 되니깐,,. 2022.05.29 - [📱 Android] - [Android] Clean Architecture in Android [Android] Clean Architecture in Android Clean Architecture 본격적인 디자인 패턴 공부에 앞서, clean Architecture에 대해 알아보겠습니다 Clean Architecture에 가장 중요한 부분은 UI와 Data를 분리함에 있습니다 관심사를 계층별로 분리 관심사란 단 kong-droid.com Clean Architecture ⭐️ 관심사 분..

📱 Android 2023.01.08

[Android] SOLID 원칙

설계원칙으로 유명한 SOLID 원칙에 대해 하나씩 알아보겠습니다 단일 책임 원칙 (Single Responsibility Principle) • 어떤 클래스나 모듈 , 메서드가 하나의 기능을 가져야 한다는 의미 • 모든 클래스는 단 하나의 책임만 가짐 -> 변경사항 발생 시 그 변경사항에 책임이 있는 부분만 수정 ex) A 모듈 : 특정 데이터를 분석 , 서버에 전송 A 모듈은 2가지 이유로 변경될 수 있다 1. 특정 데이터 분석 알고리즘 변경 2. 서버에 전송하는 형식 변경 실제로는 분리된 책임이며, 따라서 분리된 클래스 모듈로 나눠야한다 🔍 왜 이렇게까지 한 클래스에 한 책임만 가져야하는가 클래스를 더욱 튼튼하게 한다 (변경사항이 다른 책임에 영향을 주지 않으므로, 유지보수 용이) 개방 - 폐쇄 원칙..

📱 Android 2023.01.08

[Hilt] 코드랩으로 Hilt 익히기 # 1

Android 앱에서 Hilt 사용 | Android 개발자 | Android Developers 이 Codelab에서는 Hilt를 사용하여 종속 항목 삽입을 실행하는 Android 앱을 빌드해 보겠습니다. developer.android.com Android 앱에서 Hilt 사용 코드랩을 따라 Hilt를 익혀보겠어요 ✏️ Hilt가 dagger를 기반으로 만들어진 DI라, Hilt도 Annotation을 씁니닷 라이브러리 추가하기 코드랩에 적혀있는 방법으로는 라이브러리가 추가가 안되더라구여,, 아무래도 최신버전이 아니라서 그런 거 같아요 1. plugin id 추가 id 'kotlin-kapt' id 'dagger.hilt.android.plugin' 2. 프로젝트 단위 build.gradle plug..

📱 Android 2023.01.07

[Kotlin] Collection (List, Set, Map)

많이 접한만큼 익숙한 자료구조이지만, 한번 더 살펴보겠습니다 Collection 자료구조 중 하나로, 크게 3가지 컬렉션이 있습니다 (List, Set, Map) List와 Set은 Collection을 상속받고, Map은 독자적입니다 간단히 3가지의 특징, 생성법에 대해 알아보자면, ✅ List : 순서 O val list: Collection = listOf(1,2,3) ✅ Set : 순서 X, 중복 X val set: Collection = setOf(9,8,7) ✅ Map : [키-값]의 형태 , 키는 중복 X val map: Map = mapOf("First" to 0, "Second" to 1) Collection Interface interface Collection : Iterator Co..

💡 Kotlin 2023.01.03

[kotlin] Pair

Pair 두 변수를 하나로 묶어주는 클래스 (사용되는 경우가 많으므로 잘 알아두기) data class Pair : Serializable Pair 클래스의 Properties - first : Pair의 첫번째 값 - second : Pair의 두번째 값 Pair 생성하기 var (x,y) = Pair(3, 0.14) var (x,y) = Pair(3, 0.14) 자료형은 삭제해도 상관없다 Pair의 리스트화 toList() var x = Pair(3, 0.14).toList() toList()를 통해 리스트화 가능 두 값을 Pair화 시키려면 val test : Pair = 3 to 0.14 ✔️ to 확장함수 사용 infix fun A.to(that: B): Pair = Pair(this, that..

💡 Kotlin 2023.01.02