728x90
반응형

ALL 601

[Android] DI Framework (Dagger2, Koin, Hilt)

DI... DI ..DI..DI..DI 하다보면 Android 개발자라면 Dagger2, Koin, Hilt라는 것을 들어봤을 ( 봤을 ) 것이다. 그럼 뭘써야할까... ㅠㅠ 일딴 차이를 비교해보고 특성을 알아보려고 한다. 1. Dagger2 - java, Kotlin - Dagger2 적용을 위해 환경을 세팅해야하는 과정과 원활한 적용에 필요한 러닝커브가 크다. - 컴파일 시 애노테이션을 읽고 scope에 맞는 DI container와 주입할 class파일을 generate하여 의존성을 주입한다. - 컴파일 시간 증가 , 문제가 있을 경우 Compile 시점에서 에러 2. Koin Kotlin DSL(Domain Specific Language, 도메인 특화 언어)로 만들어졌다. - Kotlin - D..

[Android] DI ??

1. DI ( 그게 뭔데..왜 날 괴롭히는거야 ) - Dependency Injection ( 의존관계 주입 ) “A가 B를 의존한다.”는 표현은 => B의 기능이 추가 또는 변경되거나 형식이 바뀌면, 그 영향이 A에 미친다. 1) 의존관계??? 그건 뭔데 예시) 햄버거 가게 요리사는 햄버거 레시피에 의존한다. 햄버거 레시피가 변화하게 되었을 때, 변화된 레시피에 따라서 요리사는 햄버거 만드는 방법을 수정해야 한다. 레시피의 변화가 요리사의 행위에 영향을 미쳤기 때문에, “요리사는 레시피에 의존한다”고 말할 수 있다. 코드로 표현해보면 다음과 같다. class BurgerChef { private HamBurgerRecipe hamBurgerRecipe; public BurgerChef() { hamBu..

CI ( Continuous Integration )

CI 란? 시스템을 지속적이고 효율적으로 제공하기 위한 빌드, 테스트, 인스펙션 등을 반복적으로 실행해 효율성을 높이거나 오류를 발견하는 속도를 높이려는 방안. CI 로 해야 할 일과 시점 1. 빌드 - CI 에서 실행 단위를 빌드라고 합니다. 2. 테스트 3. 인스펙션 - 품질 향상을 목적으로 이뤄지는 코드 분석을 말함. 4. 디플로이 - 개발한 소프트웨어를 배포해 사용할 수 있게 하는 것. 5. 피드백 6. 실행 시점. - 커밋 빌드 : VCS ( 버전관리 시스템 ) 에 체크인 한 직후 빌드 - 2차 빌드 : 1일 1회 등 정기적으로 빌드 - 릴리스 빌드 : 릴리스 직전에 실행되는 빌드 CI 의 장점 1. 엔지니어가 품질에 자신하면서 작업을 진행할 수 있음. 2. 수작업으로 할 일이 비교적 적다 ( ..

개인 공부 2022.03.26

MVVM?

Model View View Model 1) View model과 View의 관계 ViewModel은 View를 몰라야함... 그말은, context 같은걸 ViewModel에서 가지고 있음 안된다는건가 ? => ViewModel 은 Model 을 알지만 View 를 알지 못합니다. View 는 Model 을 알지 못하나 ViewModel 을 알 수 있습니다. View 는 ViewModel 을 옵저빙 하고 있다가 상태 변화가 전달되면 화면을 갱신해야 합니다 - viewModel 내의 데이터를 옵저빙 하고 있다가 ?????? view가 감지한다??? 뭔가 의존적인데. => 하지만 이런 코드는 서로간의 의존적 형태를 지속 시키기 때문에 유지보수성을 높이는데는 한계를 가져올 수 있습니다. - 그렇겠지 view..

개인 공부 2022.03.25

mac java 변경 및 설치 등등..

macOS 환경에서 자바 개발을 할 때 가장 먼저 해야할 일 중에 하나는 JDK를 설치하는 것이다. 자바를 설치하는 방법에는 여러가지가 있지만 맥을 사용하면서 다양한 설치 패키지들을 관리하기 위해서는 Brew라는 패키지 매니저를 많이 사용한다. brew를 사용하면 자바를 손쉽게 설치할 수 있고 더불어 다양한 자바 버전을 필요할 때마다 변경해서 사용할 수 있다. 이 글에서는 brew 패키지 관리자를 통해 OpenJDK를 설치하는 과정에 대해 설명할 것이다. 이 글은 How to install Java on Mac OS에 게재된 내용을 바탕으로 작성되었다. 만약 아래 글 이외의 자세한 정보를 확인하고자 한다면 위 글)에서 확인해보기 바란다. 1. JAVA 설치하기 # 1.1 Homebrew 설치 및 업데이트..

이슈관리 2022.03.22

단위테스트? : (JUnit, Mock ) 01

1. 수동 테스트 vs 자동 테스트 수동 테스트의 장점 - 최종 사용자와 완전히 똑같은 동작을 확인할 수 있음. - 사용성, 쾌적함 등 정성적인 부분의 면에서 평가가 가능. 자동 테스트의 장점 - 반복실행 가능 - 테스트 실행 상황을 시각화 - 클래스와 메서드등 확인하기 어려운 단위동작을 확인 2. 프레임 웍 1) 단위 테스트 - JUnit - Mockito ( 목 라이프러리 ) 2) UI 테스트 - Espresso * 단위테스트를 공부할 수 있는 링크 https://www.javatpoint.com/junit-tutorial JUnit Tutorial | Testing Framework for java - javatpoint Junit tutorial for beginners and profession..

RN 프로젝트 이름 변경

개요 리엑트 네이티브 프로젝트를 자주하다보니, 일반적으로 반복되는 구조들은 틀을 만들어 두는 것이 좋을 것 같더라구요 그리고 폴더만 복사한 후 이름만 바꿔서 시작을 하면 좋을 것 같습니다. 변경는 방법 react-native-rename패키지를 설치합니다. npm install -g react-native-rename 그 다음 이름을 변경할 프로젝트 내부에서 다음을 입력합니다. react-native-rename "프로젝트 이름" 그러면 이름이 변경됩니다. 다음으로 이름에 대해 연결을 시켜줘야합니다. 안드로이드는 자동으로 연결됩니다. ios의 경우에는 아래 명령을 추가로 해주셔야 됩니다. cd ios pod install npm run ios 출처: https://kgu0724.tistory.com/24..

React Native 2022.03.14
728x90
반응형