android 5

[Android] Sync Gradle Failed - ModelCache.safeGet(androidProjectResult.androidProject ::getNdkVersion, "") must not be null

1. 증상 Sync Gradle 실행시 위와 같은 error가 발생하면서 빌드가 진행되지 않는 현상입니다. "Sync Gradle Failed - ModelCache.safeGet(androidProjectResult.androidProject::getNdkVersion, "") must not be null" 2. 원인 최근 Android Studio의 버전을 Bumblebee 로 업데이트 한 후 발생한 error case 입니다. 최근 android studio에서는 빌드에 사용할 NDK의 버전을 명시적으로 선언 하도록 강제 하고 있습니다. 이는 당연하게도 여러 버전의 NDK중 현재 내가 빌드하려고 하는 프로젝트에서 사용될 NDK를 명시적으로 정의해서 원치 않는 결과를 사전에 방지 하는데에 목적을 두..

[일반] 비전공자 혹은 대학 신입생이 개발자가 되려면 어떤걸 배워야 할까?

개요 최근 커뮤니티에서 개발자가 되고 싶은데 어떤 것을 해야할지 모르겠다는 분들을 자주 봐왔습니다. 전공자의 경우도 있었고, 비전공자의 경우도 있었으며, 이분들은 대부분 공통적으로 어떤 언어를 어떻게 시작해야할지 몰라서 난감해 하는 경우가 대다수 였습니다. 물론 요즘 트렌드에 맞는 iOS/Android 개발을 위한 Swift / Java / Kotlin 을 공부하거나 Backend에서 많이 사용되는 Kotlin/JAVA Spring Framework혹은 NodeJS, 웹을 위한 Javascript, react, VueJs, AngurlarJS, 데이터 분석가를 위한 R이나 Python, 최근 떠오르는 Go, ReactNative등 본인의 스타일이나 목표에 맞게 설정을 한 다음 배우는 사람들도 있지만 앞서..

개발 2022.04.20

[Android] Android Unit Test를 적용해보자! (Feat. mokito)

플라워로드 기술 블로그 : http://blog.flowerroad.ai 원본 Link : https://flyingcorp.notion.site/Android-Android-Unit-Test-Feat-mokito-46a4845f75304665a581772323f18877 이글은 2020년 12월 25일에 작성된 글입니다. Unit Test? 일단 유닛테스트란 구현하는 method를 테스트하는 또 다른 method의 집합체 이다. 하나의 유닛 테스트 method는 테스트 하려고 하는 method의 특정 루틴을 검사한다. 이말은 하나의 method를 테스트 하기 위해 기본적으로 성공, 실패, 예외 등 여러 유닛 테스트 method가 필요하다. 스타트업에서 바쁜데 굳이 이걸?? 소프트웨어 엔즈니어라면 한번쯤..

개발/android 2022.02.25

[ios/Android] RIBs에 대해서 알아보자 (Design Pattern)

플라워로드 기술 블로그 : http://blog.flowerroad.ai Notion Link : https://flyingcorp.notion.site/Design-Pattern-RIBs-e523ddcba2a2479b905b195179a49846 💡 이글은 2021년 2월 27일에 작성되었습니다. 이 페이지는 RIB에 대한 배경, 내용등 이론적인 부분이 정리되어 있고, 모든 내용은 RIBs 공식 페이지에서 발췌,참고,번역해서 본인의 생각을 조금 덧붙여서 작성되었습니다. RIBs? 정의 R(router) I(interacter) B(builder) 공식 GitHub에서 정의 한 바에 따르면 Cross-Platform architecture Framework이라고 정의 하고 있다. 이 말은 ios이건 an..

개발/common 2022.02.25

[Android] DI(Dependency Inversion, 의존성 역전) 적용하기

플라워로드 기술 블로그 : http://blog.flowerroad.ai Notion Link : https://flyingcorp.notion.site/Android-Dependency-Inversion-feat-Clean-Architecture-4c4cc2c066e64217bf4c4c74ee78af55 Dependency Inversion? 의존성 역전?? 혹자는 DIP(Dependency Inversion Principle)는 시스템의 유연성을 극대화 하기 위한 방법이라고 말하고 있습니다. 유연성을 극대화 하기 위해서 소스코드는 abstraction 에 의존해야하며 실제 구현체에는 의존 하지 않도록 시스템을 구성해야 합니다. 예를들어 Java의 경우 import구문은 interface나 abstra..

개발/android 2022.01.28