분류 전체보기55 (Design Pattern) 소프트웨어 디자인 패턴 지금까지 내가 개발한 방법과 진행해온 프로젝트를 회고해보면서 굉장히 많은 점을 느끼게 되었다. 항상 특정 Activity 안에 모든 코드를 다 집어넣는 식으로 개발을 해왔었고, 프로젝트 규모가 커지고 에러가 생겼을 때는 어느 부분에서 에러인지 찾다가 스트레스를 받는 경우도 빈번했었다. 더욱이 협업을 하게 된다면 다른 사람이 내 코드를 봤을 때 가독성도 좋아야 할 것이고 이해도 빨라야 할 텐데 그럴 자신이 없었다. 이렇게 반복되는 문제들 때문에 더욱이 디자인 패턴에 대한 공부의 필요성을 몸소 느끼게 되었다. 디자인 패턴은 `소프트웨어 공학'의 한 개념이다. 소프트웨어 설계 시 특정 맥락에서 발생하는 고질적인 문제들을 효율적으로 해결하기 위해 설계된 해결책이며 또, 이러한 문제들이 지속적으로 발생할 때 재사.. 2021. 9. 19. [Firebase] 내 프로젝트에 Firebase Remote Config 적용하기 개발자가 어플리케이션을 업데이트하고 나면 사용자는 사용하고 있는 어플리케이션을 업데이트시키기 위해 Google Play Store나 App Store에서 해당 어플리케이션을 업데이트하는 것이 일반적이다. 그러나, 어플리케이션의 변경 사항이 크지 않고 굳이 업데이트 내역을 게시할 필요가 없는 정도일 때를 고려해볼 필요가 있다. Firebase Remote Config는 실제로 코드 수정이나 별도의 배포 과정 없이 어플리케이션의 내용을 빠르게 변경 가능하고 확인하게 하는 기능이다. 즉, Firebase Remote Config은 어플리케이션에서 별도의 업데이트를 하지 않아도 어플리케이션의 동작이나 모양을 변경할 수 있는 클라우드 서비스이다. 이번 포스팅은 Firebase에서 제공하는 Remote Config.. 2021. 9. 19. (Kotlin) Scope 함수 Scope Functions는 Kotlin의 표준 라이브러리에서 제공하는 함수들이다. Scope Functions의 함수들은 lambda 식을 이용하여 호출하게 되는데, 이때, 일시적인 Scope가 생기게 되고, 이 Scope 안에서 해당 객체에 대해 'it' 또는 'this'와 같은 Context Object를 통해 접근할 수 있다. 이러한 Scope Functions들은 객체에 접근하는 방법을 쉽게 해 주며 코드가 간결해지고 코드에 대한 가독성이 높아지는 효과를 가져온다. 이번 포스팅은 Kotlin의 대표적인 5가지 Scope Functions에 대한 포스팅이다. 1. let { } let 함수는 아래와 같이 선언되어 있다. inline fun T.let(block: (T) -> R): R { ret.. 2021. 9. 9. Permissions 어플리케이션이 사용자의 민감한 정보를 필요로 할 때, 사용자에게 권한을 요청할 수 있다. 여기서 권한을 Permission이라고 하는데, Permission에서 Runtime Permission은 어플리케이션에서 사용자에게 요청을 하고 사용자가 허용해야 받을 수 Permission을 말한다. 따라서, Permission을 요구하는 특정한 API를 사용하는 경우에는 반드시 사용자에게 먼저 요청을 해야하며, 사용자가 요청을 거부하는 경우에 대한 예외처리도 반드시 필요할 것이다. 이번 포스팅은 API Level 23 이상부터 지원하게 되는 Runtime Permission, 즉, 사용자에게 직접 권한을 요청하는 경우에 대한 포스팅이다. (API Level 23 이하는 어플리케이션 설치 시 권한을 요청하여 획득.. 2021. 9. 4. 이전 1 ··· 6 7 8 9 10 11 12 ··· 14 다음