본문 바로가기

전체 글

(686)
2. 안드로이드 기본 구조의 이해 (4) - 앱 디렉토리와 파일 이번 아티클에서는 안드로이드 스튜디오에서 앱을 개발하게 될 때, 개발자가 이해해야 하는 파일, 디렉터리 구조를 살펴보도록 하겠습니다. 우선 프로젝트에서 '모듈(앱)' 레벨의 작업이 시작되었을 때 주로 확인해야 하는 폴더는 아래와 같습니다. {n}:\{폴더명}\{프로젝트명}\{모듈명}\app\src\main 안드로이드 스튜디오를 실행했을 때를 기준으로 보면, 위 폴더에 있는 파일들 중 개발자와 직접 관련이 되는 리소스 파일들은 다음과 같이 확인이 가능합니다. 주요 파일들의 이름과 용도를 살펴보자면 다음과 같습니다. · AndroidManifest.xml : 앱의 메인 환경 파일. 여기서 정의한 대로 앱이 실행되며, 이를 분석하거나 수정하면서 개발을 진행 · java/MainActivity.java : 화면..
7. GA4 데이터 분석하기 : Explorations (8) - 잠재고객 생성 이번에는 audience 생성과 관련한 기능을 살펴보도록 하겠습니다. 앞서 segment 아티클에서도 잠깐 다룬 적이 있지만, GA4에서 audience는 언뜻 보면 user segment와 같은 것처럼 보이지만, 상당히 다른 개념입니다. 눈치가 빠른 분들은 아셨겠지만, 이것은 event와 conversion의 관계와 거의 유사하다고 보시면 됩니다. user segment가 audience로 설정되면, 해당 고객 분류 군집은 여러 가지 기능을 추가로 적용할 수 있게 되는 것이지요. 예를 들어 GA4에서 해당 고객을 중심으로 리포트를 조회할 수 있고, Google Ads에서 해당 audience만을 대상으로 타깃 마케팅을 진행할 수도 있습니다. 잠재고객은 admin 메뉴에서 audience 메뉴로 진입하면..
7. GA4 데이터 분석하기 : Explorations (7) - Cohort expolation 이번 아티클에서는 동질 집단 분석(Cohort exploration) 분석에 대해서 살펴보도록 하겠습니다. 우리는 앞선 아티클에서 세그먼트에 대해서도 살펴보았는데요, 간혹 세그먼트와 코호트의 개념을 혼동하여 사용하는 경우가 많습니다. 이를 혼동하여 사용하는 경우도 많은데, GA4에서 Explorations 메뉴에 각각 분리되어 템플릿이 제공되는 것을 보면, 이는 명백히 다른 개념이라는 것을 알 수 있습니다. 앞선 아티클에서 segment는, 공통점을 가진 집단에 대한 분류라는 광의의 의미로 사용된다는 것을 확인했습니다. 7. GA4 데이터 분석하기 : Explorations (6) - Segment overlap 이번에는 Segment overlap(세그먼트 중복 분석) 메뉴에 대해서 살펴보도록 하겠습니..
컬렉션 프레임워크(4) - Map 컬렉션 2 : HashMap[2/2] 앞서서 살펴본 예제를 이어서 진행해 보겠습니다. 컬렉션 프레임워크(4) - Map 컬렉션 2 : HashMap[1/2] HashMap은 Map의 인터페이스를 구현하는 대표적인 Map 컬렉션입니다. HashMap에서 키로 사용할 객체는, hashCode( )와 equals( ) 메서드를 오버라이드 하여 동등 객체가 되는 조건을 정해야 합니다. 쉽게 설 nozeroslope.tistory.com import java.util.*; public class ExampleMain { public static void main(String[] args) { // Map 컬렉션의 생성 Map map = new HashMap(); // 객체 저장(중복 key 사용) map.put("SWINGS", 90); map.pu..
컬렉션 프레임워크(4) - Map 컬렉션 2 : HashMap[1/2] HashMap은 Map의 인터페이스를 구현하는 대표적인 Map 컬렉션입니다. HashMap에서 키로 사용할 객체는, hashCode( )와 equals( ) 메서드를 오버라이드 하여 동등 객체가 되는 조건을 정해야 합니다. 쉽게 설명하자면, 키는 유니크 값이기 때문에 중복으로 존재할 수 없기 때문이죠. 키가 같다면 이는 동일한 Entry로 취급해야 하기 때문입니다. 같은 객체로 판단하는 프로세스는 다음과 같습니다. 1. 우선, hashCode( )의 리턴 값이 같으면 equals( )의 리턴 값을 점검합니다. > 만일 hashCode( )의 리턴 값이 다르면 이는 즉시 다른 키로 인식합니다. 2. equals( )의 리턴 값까지 true라면, 이는 같은 키로 판정을 완료합니다. > 만일 false가 리턴..
7. GA4 데이터 분석하기 : Explorations (6) - Segment overlap 이번에는 Segment overlap(세그먼트 중복 분석) 메뉴에 대해서 살펴보도록 하겠습니다. 사실, GA나 firebase를 이용할 때 이 세그먼트는 굉장히 중요한 개념입니다. 통상적으로 segment에 대해서 '공통점을 가진 고객의 군집'이라고 통용되어 사용됩니다. 물론, 엄격하게 협의의 의미로 살펴보면 아래와 같이 설명됩니다. [GA4] Segment - Analytics Help A subset of users, sessions, or events. You can apply segments to explorations to focus on specific data sets. Segment builder support.google.com 즉, 고객에 대한 분류만이 아닌 어떤 조건을 기반으로 한 하..
2. 안드로이드 기본 구조의 이해 (3) - 리소스 외부화, XML 안드로이드 개발 시 주요 특징 중 하나는, '리소스의 외부화'를 극대화한다는 점입니다. 리소스를 외부화하여, 모듈로서 사용하는 방식은 비단 안드로이드뿐만 아니라 다른 언어나 IDE 등에서 많이 사용되는 기본 원리이긴 합니다. 하지만 안드로이드에서 이러한 리소스 외부화를 강조하는 이유는 무엇일까요? 한번 차근차근 살펴보겠습니다. 일단 여기서 말하는 '외부화'가 진행되는 리소스는 정적인(static) 리소스 입니다. JAVA에서의 static과 혼동하지는 않기를 바랍니다. 여기서 말하는 정적인(static) 리소스는 누가 언제 실행하든 항상 같은 결과가 나오는 콘텐츠를 의미합니다. 대표적인 것이 바로 문자열(String)입니다. 예를 들어서 어떤 장문의 스트링 "안녕하세요, 회원가입을 하려면 .......을..
7. GA4 데이터 분석하기 : Explorations (5) - Path Exploration 유저 경로 탐색(Path Exploration)도 살펴보도록 하겠습니다. 우선 Explore 메뉴에서 [Path exploration]을 선택해서 해당 메뉴로 진입해 보겠습니다. 그러면 아래 그림과 같은 화면을 확인할 수 있습니다. 이 경우에는 Starting Point를 이벤트 [session_start]로 잡고 각각의 단계별 흐름을 확인할 수 있는 상태입니다. 지금 모든 스텝을 구분하는 기준이 [Event name]으로 설정되어 있습니다. 이것을 페이지 명이나 클래스 명, 경로명 등으로 바꾸어 설정할 수 있습니다. 특히, 스텝별로 다르게 적용이 가능하므로 '특정 페이지 진입 -> 특정 이벤트 발생'의 경로도 확인이 가능하기 때문에 유용하게 사용할 수 있습니다. 그리고 Path Exploration에서..