
코로나 시대에 어딜가든 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..

Android 앱 개발을 시작한 초보자부터 다양한 경험을 가진 시니어 개발자까지, Android Task에 대한 이해는 모두에게 중요한 부분입니다. 이번 시간에는 Android의 Task에 대한 개념을 함께 살펴보도록 하겠습니다. TASK 란? Task는 사용자가 앱 내 무언가를 수행하려고 할 때 상호 작용하는 Activity의 집합 입니다. 이러한 Activity은 백스택(Back Stack)에 열린 순서대로 정렬됩니다. 예를들어 문자 앱은 문자를 보여주는 Activity을 가질 수 있습니다. 사용자가 메시지를 선택하면 해당 메시지를 보기위한 새로운 Activity가 열립니다. 이 때 새로운 Activity는 Back Stack 에 추가됩니다. 사용자가 뒤로가기를 탭하거나 제스처를 수행하면 현재 Act..

클린아키텍처라고 들어보셨나요? 그렇다면 DI 도 들어보셨나요? 이번 포스트는 클린아키텍처에 대한 내용보다 DI을 중심으로 외부 라이브러리를 소개하려고 합니다. DI를 사용하는 목적이 다양하겠지만 객체의 생성 시 의존성을 줄이기 위해서 DI 를 활용을 한다고 생각합니다. 이번 포스트는 DI 라이브러리인 Koin과 Hilt 의 차이를 알아보며 DI에 좀더 가까워지겠습니다. Koin 과 Hilt 사용법에 대한 포스트는 정식 사이트 소개로 대체하겠습니다. DI을 왜 사용할까?Android 공식 사이트에서는 DI을 사용하는 목적에 대해서 1) 클래스 재사용 가능 및 종속 항목 분리 2)리팩터링 편의성 3)테스트 편의성 으로 말합니다. ► 클래스 재사용 가능 및 종속 항목 분리: 종속 항목 구현을 쉽게 교체할 수 ..
- 패턴
- push
- 알고리즘
- 선교
- missioon
- 탁구
- swift
- Android
- 스코어헬퍼
- 디자인패턴
- IT
- Android Studio
- 점수판
- Kotlin
- MCC
- RXjava
- missionchina
- view
- flutter
- DI
- 임용고시
- IOS
- 안드로이드
- issue
- 미션차이나센터
- 고시문
- 고시문헬퍼
- 코틀린
- java
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |