전체 글

개발로그

    [Android] WebView와 React Web간 데이터 전달

    보호되어 있는 글입니다.

    [Android] implemantation을 Version Catalog로 바꿔보자

    들어가기 전우리의용기 프로젝트를 -v2 로 마이그레이션 하는 과정에서 기존 의존성 버전 관리 방법에서 버전 카탈로그 방식으로 변경하였다. 이러한 변경의 과정과, 왜 이 변경이 필요했고 어떤 장점이 존재하는지 이번 포스팅에서 알아보고자 한다.Gradle 버전 카탈로그를 활용한 의존성 관리: 왜 필요할까?기존 방식의 문제점build.gradle에서 의존성을 관리할 때, 보통 아래와 같은 방식으로 버전을 명시한다.implementation("org.jetbrains.kotlinx:kotlinx-coroutines-core:1.5.2")이 방식은 간단하고 익숙하지만, 프로젝트가 커지면서 다음과 같은 문제가 발생할 수 있다.버전 중복: 여러 모듈에서 동일한 의존성을 사용하는 경우, 각 모듈마다 버전을 반복적으로 ..

    [Android] Github Actions로 업무 생산성 향상 시키기 feat. APK 자동 추출

    목표GithubActions CI/CD 파이프라인을 구축해 서버에 APK 업로드를 자동화 하자.개발 프로세스의 효율성과 생산성을 극대화하기 위함.문제의식기존 방법의 문제점가상화 서버에 안드로이드 어플을 업로드하기 위해서 포털을 이용하여 직접 APK 파일을 업로드 하였다.하지만 새로운 업데이트가 있을 때 마다 변경된 사항을 Android Studio Build로 APK를 추출하고, 포털에 들어가서 업로드를 진행해야하는 번거로움이 있었다.Github로 관리하는 코드어플 프로젝트 코드 및 파일은 Github로 관리하고 있었다.따라서 이 점을 활용해 GithubActions를 이용하여 APK를 자동으로 추출하고, 추출 뿐만 아니라 서버 업로드까지 자동화하면 어떨까? 라는 생각이 들었다.GithubActions로..

    [React] Google Map 사용기 (feat. Router, API키 숨기기)

    들어가기 전Native로 안드로이드 어플을 개발하는 경우도 있지만, 웹을 만들어 안드로이드 앱 내에 웹뷰로 띄워주는 경우도 있습니다. 저는 이번에 웹뷰 테스트를 위해 React 웹에 Google Map API를 이용해 지도를 띄워야 했습니다. 이 과정에서 배운 Google Map API를 사용하는 방법과 외부 API를 사용할 때 중요한 API 키를 숨기는 방법을 작성하고자 합니다.Google Map API 사용하기구글 가이드구글 API를 사용하기 위해서는 Google Cloud Platform에 Project를 생성해야 합니다.여기서 가장 중요한 것은 구글 API Key를 발급 받는 것입니다.위 사진과 같이 첨부된 구글 가이드를 통해서 프로젝트를 생성합니다.API 활성화를 통해 API 키를 발급 받습니다..

    [Android] Menu 데이터는 어디에 저장하는 게 성능이 좋을까? (RoomDB vs Object)

    들어가기 전모바일 휴대폰의 설치된 어플리케이션 목록처럼, 화면에 이동 가능한 Activity 버튼들이 나열되어 있는 화면을 구현하고 있습니다. RecyclerView로 구현하여 각 item에 담을 리스트 데이터가 저장되어 있는데 .. 이 리스트를 RoomDB에 저장하는게 좋을지, Object에 선언하는 것이 좋을지. 성능 측면에 이점이 궁금해 각각을 알아보고, 분석을 하고자 합니다.

    [Android/공부] NDK(네이티브 개발 키트) 사용과 ABI 빌드 환경 톺아보기

    들어가기 전가상화 솔루션은 x86 환경에 안드로이드 앱을 올린다. 이 때 안드로이드 앱에서 사용한 네이티브로 작성된 라이브러리(.so)가 x86 환경에서는 실행되지 않는 경우가 있었다.왜 이런 상황이 발생하는지, 어떻게 NDK를 사용 및 빌드해야 해결할 수 있는지를 알아보고자 이 포스팅을 작성하게 되었다.NDK란?네이티브 개발 키트(NDK)는 Android에서 C및 C++코드를 사용할 수 있게 해주는 일련의 도구 모음이다.NDK의 호환 가능한 아키텍처ARMarmeabi-v7a : 32비트 ARM 아키텍처arm64-v8a : 64비트 ARM 아키텍처x86x86 : 32비트 Intel 아키텍처x86_64 : 64비트 Intel 아키텍처NDK는 다양한 아키텍처에 대한 지원을 제공하며, 각 아키텍처는 ABI를 ..

    [Terraform] Window에서 chocolatey, terraform 설치하기

    들어가기 전인프라 자동화를 위해 Terrafrom 설치를 하고자 한다.Terraform 을 설치하기 위해 chololatey를 설치하는 과정과, 발생했던 오류 해결 방법에 대해 쓰고자 한다.Chocolatey 설치Installing Chocolatey해당 사이트에 들어가서 Install Chocolatey for Individual Use 아래 내용을 복사한다.빨간색으로 선택한 부분을 복사하면 된다.Window PowerShell 실행이 후 Window PowerShell을 관리자 권한으로 실행한다.그리고 복사한 내용을 붙여넣는다.발생 오류 : Installation of Chocolatey to default folder requires Administrative permissions.원인 : Powe..

    [프로그래머스/Kotlin] Lv2 튜플

    문제 내용셀수있는 수량의 순서있는 열거 또는 어떤 순서를 따르는 요소들의 모음을 튜플(tuple)이라고 합니다. n개의 요소를 가진 튜플을 n-튜플(n-tuple)이라고 하며, 다음과 같이 표현할 수 있습니다.(a1, a2, a3, ..., an)튜플은 다음과 같은 성질을 가지고 있습니다.중복된 원소가 있을 수 있습니다. ex : (2, 3, 1, 2)원소에 정해진 순서가 있으며, 원소의 순서가 다르면 서로 다른 튜플입니다. ex : (1, 2, 3) ≠ (1, 3, 2)튜플의 원소 개수는 유한합니다.원소의 개수가 n개이고, 중복되는 원소가 없는 튜플 (a1, a2, a3, ..., an)이 주어질 때(단, a1, a2, ..., an은 자연수), 이는 다음과 같이 집합 기호 '{', '}'를 이용해 표..

    [Compose] Compose에서 MVVM 패턴을 적용해보자

    보호되어 있는 글입니다.

    [우테코] 3주차 프리코스 회고

    보호되어 있는 글입니다.