본문 바로가기

SW Engineering41

[Android] 안드로이드 CI/CD # 1 : Bitrise + Firebase [Android] 안드로이드 CI/CD : Bitrise + Firebase 작성일 : 22/07/24 CI (Continuous Integration) CD (Continuous Delivery) 지속적인 통합(Integration)이란 코드 및 기능이 수정되면, 지속적으로 빌드와 테스트를 수행하는 Repository로 Merge 하는 것을 의미한다. 즉 형상 관리와 검증 프로세스의 추가로 코드 품질을 유지한다. 지속적인 전달(Delivery)는 개발자가 개발에만 집중할 수 있도록 빌드, 테스트, 배포 등을 자동화하여 효율성을 높인다. CI/CD는 GitHub, BitBucket, Bitrise 등 다양한 툴로 구성이 가능한데, Bitrise는 모바일 스택(Android, IOS, Flutter, Re.. 2022. 7. 24.
[AWS Amplify] Amplify 환경 설정 for Windows [AWS Amplify] Amplify 환경 설정 for Windows AWS Amplify는 빠르게 서버리스 환경을 구축하기 위한 많은 기능을 제공하며, 원래 백앤드에 따로 구축해야 하는 많이 쓰이는 기능들을 모듈화 시켜놓았기 때문에 서비스 구축 속도를 높일 수 있다. Amplify는 AWS에서 빠르고 간편하다고 강조하기에 써보면 정말 환경 설정부터 구현까지 쉽게 되어 있다. 인증, 스토리지, 데이터 관련 기능을 제공하며 시장성을 검증하고 싶은 서비스가 있다면 빠르게 테스트해 볼 수도 있다. (심지어 각종 프런트엔드 웹 프레임워크 또는 모바일 앱 프레임워크 별로 빠르게 UI를 구성할 수 있는 SDK까지도 제공한다.) AWS는 Amplify를 "AWS Amplify는 사용 사례가 발전함에 따라 프런트엔드.. 2022. 6. 29.
[Android] 저전력 블루투스(Bluetooth LE) #1 - BLE 기본 개념 [Android] 저전력 블루투스(Bluetooth LE) #1 - BLE 기본 개념 저전력 블루투스(Bluetooth Low Energy, LE) 기술은 앱과 연결되는 각종 장치들의 통신에서 소모되는 전력량을 줄이기 위해 탄생한 기술로, 많은 블루투스 기기들이 앱과 연결하여 데이터를 주고받을 때 활용된다. 블루투스 아키텍처는 전부다 서술하기엔 (물론 전부 다 공부하지도 못했지만) 양이 매우 많아, 저전력 통신 구현에 필요한 최소한의 필수 아키텍처 구조를 먼저 알아보고, 안드로이드(Kotlin)에서 실제 구현은 어떻게하는지는 다음 포스트에서 이어가겠다. 1. 안드로이드 블루투스 아키텍쳐 2. GAP와 GATT 3. 블루투스 시스템 API와 권한 처리 안드로이드 블루투스 아키텍처 우선 그림으로 보면 다음과.. 2022. 6. 24.
[Jetpack AAC] 뷰모델(ViewModel) #1 : MVVM [Jetpack AAC] 뷰모델(ViewModel) #1 : MVVM 뷰모델(ViewModel)은 안드로이드에서 MVVM 패턴을 구현하고자 할 때 필수로 사용되는 AAC(안드로이드 아키텍처 구성요소) 중 하나다. MVVM은 모델(Model)-뷰모델(ViewModel)-뷰(View)의 책임 집합으로 나뉘는 설계 패턴으로, 안드로이드의 Jetpack에서 제공하는 뷰모델은 위와 같은 패턴을 구현할 때 많은 도움을 준다. 따라서 MVVM이 무엇이고 기존에 비해 나은 점이 무엇이며, 안드로이드에서 간단히 뷰모델 라이브러리를 사용하는 방법에 대해 리뷰하겠다. 뷰모델은 필연적으로 LiveData와 함께 쓰이는데, 이것은 다른 포스트에서 이어 서술하겠다. 1. MVVM 과 MVC 2. ViewModel 과 SIS(Sa.. 2022. 6. 13.
[Firebase] Analytics Event #1 : Android 연동 [Firebase] Analytics Event #1: Android 연동 Firebase Analytics는 출시된 애플리케이션의 사용성을 분석할 때 아주 강력한 도구로 활용된다. 사용자가 어떤 기종을 사용해 서비스를 이용하는지, 각 화면 별 체류 시간은 어느 정도 되는지, 특정 이벤트(Event)를 정의하여 해당 이벤트가 얼마나 발생하는지 등 다양한 분석 기능을 제공한다. 이벤트는 사용자의 행동이나 시스템 이벤트, 오류 등을 추적하기위해 발생시키는 데이터로, 사용성을 확인하고자 하는 비즈니스 로직에서 이벤트를 발생시키면 된다. 안드로이드 연동 안드로이드에서 Analytics를 연동하고 잘 활용하기 위해선 다음의 과정이 필요하다. 1. Firebase 기본 연동 2. 이벤트 로깅 3. ADB 설치 및 .. 2022. 6. 2.
[Android Studio] ADB(Android Debug Bridge) 설치 [Android Studio] ADB(Android Debug Bridge) 설치 ADB, 안드로이드 디버그 브릿지는 기기와 통신할 수 있는 명령 도구이다. 기본적인 개념은 Unix Shell에 대한 접근을 제공하는 클라이언트-서버 프로그램이라 할 수 있다. adb 명령어로 클라이언트를 실행할 수 있으며 이 클라이언트를 통해 우리는 기기(개발 머신)에 명령을 전달할 수 있다. 전달된 명령어는 데몬(adbd)에 의해 수행된다. 이것을 안드로이드 스튜디오에서 어떻게 설치하고 사용하는지 알아보겠다. 안드로이드 스튜디오에서 설치 1. 설치 [File] -> [Settings] 를 통해 Settings 창을 띄운다. 이후 [Appearnace & Behavior] -> [System Settings] -> [An.. 2022. 6. 2.
[Kotlin] 동시성(Concurrency) 프로그래밍 #1 : 스레드 & 코루틴 [Kotlin] 동시성(Concurrency) 프로그래밍 #1 : 스레드 & 코루틴 안드로이드 애플리케이션과 같은 응용 프로그램들을 개발하다 보면 비즈니스 로직을 짤 때 스레드가 굉장히 많이 쓰이곤 한다. 특히 구글이 코틀린을 안드로이드의 메인 언어로 채택한 이후, 코틀린은 안드로이드 진영에서 이제 선택이 아닌 필수가 되었다. 그러므로 코틀린에서 어떻게 스레드를 다루고, 동시성 프로그래밍은 어떻게 하는지 정리해보도록 하겠다. 1. 프로세스와 스레드의 기본 개념 2. Kotlin에서 스레드와 코루틴 3. 코루틴의 우수성 프로세스와 스레드의 기본 개념 프로세스(Process) 프로세스(Process)는 보통 한 프로그램(Program)의 커다란 하나의 태스크(Task)를 말한다. 프로그램이 하나의 프로세스로.. 2022. 5. 26.