Kotlin 에는 Sealed class 라는 것이 있습니다. 이 Selaed 클래스를 Enum과 같이 사용하는 경우가 많은데요. 이 Sealed Class 를 Enum 대체로 작성하는 것이 옳은 것인지 이해 못하고 사용 하는 분들도 많은거 같습니다. 이번 포스트에서는 Sealead Class 에 대한 개념과 Enum 클래스의 개념을 정의하고 어떻게 사용하면 좋을지 이야기 해보겠습니다. Sealed Class 넌 뭐니? Sealed 라는 영단어의 뜻을 알면 Sealed Class 에 대해서 이해하기 도움이 될 것입니다. Sealed 는 봉인된 이라는 의미를 갖고 있는데 이 단어의 뜻과 같이 Sealed Class 클래스는 다른 클래스에서 상속하거나 확장할 수 없습니다. 즉, Sealed Class ..
클린아키텍처에 대해 많은 관심을 갖고 다양한 회사에서 도입 및 시도하고 있습니다. 어떻게 구성해야 클린 아키텍처일까요? 이상적인 아키텍처에 대해서 로버트 C. 마틴에 의해서 소개 되었으며 복잡한 소프트웨어 시스템을 보다 관리 가능하고 유지보수 가능한 형태로 구축하기 위한 지침을 제공하였습니다. 로버트 C.마틴이 말한 클린 아키텍처의 기본적인 개념과 어떻게 Android 환경에서 도입하였는지에 대해서 Medium 에 글이 등재 했는데요. 등재한 글의 일부를 공유하겠습니다. 자세한 내용은 왜 Android 신규 프로젝트는 클린 아키텍처를 도입하였는가? 라는 기술블로그 에서 확인 할 수 있습니다. 클린 아키텍처를 왜 쓰는걸까? 클린 아키텍처는 소프트웨어 시스템의 구조를 체계적으로 설계함으로써 여러 가지 장점을..
코로나 시대에 어딜가든 QR 인증을 하고 출입 해야했는데요. 그럴때마다 카메라 또는 QR 스캔 앱을 켜서 QR 인증을 해야했습니다. QR 인증을 하는 방법은 다양했습니다. 그중 일부 앱들은 디바이스 쉐이크(흔들기)을 QR 인증 페이지로 이동 할 수 있도록 개발되었는데 이때 사용한 쉐이크 기능은 디바이스 센서를 통해서 개발되었습니다. 그렇다면 이 센서는 매번 정확한 값이 올까요? 센서 개발하다보면 간혈적으로 고주파 노이즈가 발생할 케이스가 나오는 것을 발견할 수 있는데요. 이런 고주파 노이즈에 대한 대응을 어떻게 해야할지 알아보겠습니다. 효과적인 노이즈 제거 방법저역 필터(low-pass filter)와 고역 필터(high-pass filter)를 함께 사용하는 것은 가속도계 데이터를 안정화하고 중력의 영..
findViewById를 사용 안하는 방법이 없을까? 안드로이드 개발을 초창기부터 해오신 분들은 이런 고민을 많이 했을 것입니다. 이런 고민을 Android 을 사용하는 개발자 뿐만 아니라 Google 조차 이 부분을 고민하였고 개발자의 편의를 위한 노력을 하였습니다.그렇다면 요즘 대표적 사용하는 패턴은 무엇일까요? 대표적으로는 Data Binding 이 있습니다. 이번 시간은 대부분의 개발자들이 알고 있을 수 있으나, 사용할 때 한번씩 검색할 수도 있는(?) Data Binding 사용법을 알아보겠습니다. Data Binding 설정 방법Data Binding을 사용하려면 APP build.gradle 에 DataBinding 사용 한다는 것을 명시해야합니다.android { ... bui..
최근에는 대부분 API 응답이 JSON 형식으로 다양한 데이터를 전달합니다. Rest API 통신 Data로 다양한 형태를 받을 수 있습니다.하나의 예시를 들어보겠습니다. 만약, API 응답이 다음과 같은 형태로 주어진다면 이를 어떻게 처리할 수 있을까요[ { "type": "TRUCK", "waterCannon": true }, { "type": "PLANE", "wingsSpanInMeters": 20 } ] Response Dto 를 다음과 같이 구성해서 받을 준비는 하고 있지 않은지 묻고 싶습니다.class Veichle { type : String waterCannon : Boolean wingsSpanInMeters : Int} ..
다양한 분야에서 AI를 활용하여 생산성을 향상시키고 있는 시대를 살아가고 있습니다. 역사적으로 4차 산업 혁명이 일어날 때마다 사람들은 긍정적인 의견과 부정적인 의견을 표현해왔습니다. 그러나 이러한 의견들과는 별개로 산업 혁명은 빠르게 진행되어 왔습니다. 이제 우리는 4차 산업 혁명의 핵심으로 거론되는 인공지능(AI)이 실생활에서 자연스럽게 놓여 있음을 목격하고 있습니다.개발자로서, 저 또한 AI와는 관련이 없을 것으로 생각했었습니다. 그러나 현재는 AI가 코딩을 함께하는 동료로까지 성장하였습니다. 이제는 AI가 코딩하는 데 꼭 필요한 도구로 자리 잡고 있는데, 그 중 하나가 GitHub Copilot입니다.이번 포스트에서는 Android 개발을 위해 꼭 필요한 AI 플러그인인 GitHub Copilot..
Kotlin을 사용하다 보면 Inline 함수를 무심코 활용하게 됩니다. 혹시, "내가 언제 Inline 함수를 사용했지?"라는 생각이 드셨나요? 특히 foreach나 each와 같은 문맥에서 inline 함수를 흔히 접할 수 있습니다. text.indices.forEach { c -> } 이렇게 Kotlin을 사용하면서 자연스럽게 Inline 함수를 활용하는 자신을 발견하게 됩니다. 이번 시간에는 Kotlin에서 필수적인 역할을 하는 Inline 함수에 대해 알아보려고 합니다. Inline 함수는 무엇일까? "inline" 을 두 단어로 나누면 in + line 으로생나눌 수 있는데요. 문자를 풀이하면, 라인에 들어간다고 풀이 할 수 있습니다. Inline은 함수지만 컴파일시에 inline 함수로 선언..
Android에서 AttributeSet은 XML 레이아웃 파일에서 정의된 뷰(View)의 속성(Attribute)을 가져오는 데 사용되는 인터페이스입니다. AttributeSet은 안드로이드 시스템에 의해 뷰가 인플레이션(화면에 뷰를 그리는 것)될 때 자동으로 생성되는데요. 그렇다면 자동으로 생성되는 AttributeSet을 정의해서 사용할 수 없을까요? 이번 시간은 AttributSet을 정의해서 사용 하는 방법에 대해서 알아보겠습니다. AttributSet이란? 기본적으로 XML 레이아웃 파일에서 뷰의 속성을 지정할 때 다음과 같이 사용할 것입니다. 그리고 이러한 속성들은 AttributeSet을 통해 자바 코드에서도 접근할 수 있습니다. TextView myTextView = findViewByI..
- 안드로이드
- 점수판
- java
- missionchina
- view
- missioon
- 디자인패턴
- IT
- 고시문
- swift
- 임용고시
- flutter
- RXjava
- 패턴
- MCC
- Android
- DI
- 탁구
- 알고리즘
- 코틀린
- 미션차이나센터
- push
- 고시문헬퍼
- 선교
- issue
- 스코어헬퍼
- Android Studio
- Kotlin
- IOS
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 | 31 |