본문 바로가기

전체 글

(686)
7. GA4 데이터 분석하기 : Explorations (2) - 도넛차트(+세그먼트) 도넛 차트는 역시 Free form 템플릿에서 생성이 가능합니다. Free form의 VISUALIZATION 메뉴에서 [Donut chart] 메뉴를 클릭하면 현재 사용 중이던 데이터가 아래 그림처럼 도넛 차트로 변경됩니다. 도넛 차트에서 사용하는 가장 큰 항목은 바로 두 가지, [Breakdowns]와 [Values]입니다. 어떤 분류를 카운트 기준으로 삼을 것인지를 결정하는 것이 Breakdowns이고, 해당 분류 별로 표시할 값 의 종류를 결정하는 것이 Values입니다. Breakdowns에는 Dimensions가 적용되고, Values에는 Metrics가 적용되고 있습니다. 이제 이 기능을 통해서, '세션 기본 채널 그룹'의 '세션 수'를 도넛 차트를 통해서 표시해 보도록 하겠습니다. 우선 D..
2. 안드로이드 기본 구조의 이해 (2) - 컴포넌트(component) 1 안드로이드의 큰 특징이자, 안드로이드 아키텍처 이해에 있어서 중요한 컴포넌트(component)에 대해서 살펴보도록 하겠습니다. 1. 컴포넌트는 앱의 구성단위이다 컴포넌트는 안드로이드 앱을 구성하는 구성 단위입니다. 안드로이드 앱은, 여러 개의 컴포넌트를 개발자가 작성하고 이를 조합하여 완성하게 되는 개념입니다. 그런데 '컴포넌트'라는 개념 자체가 가시적인 개념이 아니어서 이해가 안 될 수도 있습니다. 2. 컴포넌트의 물리적 단위는 클래스이다 눈치채신 분들도 있겠지만, (광의의 의미에서)컴포넌트는 클래스라는 물리적인 단위로 구분됩니다. 예를 들어, 어떤 하나의 앱이 A.class, B.class, C.class라는 세 개의 클래스로 구성되어 있다면 이 앱은 3개의 컴포넌트 클래스로 구성되어 있다고 말할 ..
컬렉션 프레임워크(3) - Set 컬렉션 1 : Set의 개념 List와 차별화되는 Set 컬렉션의 가장 큰 특징은, 수학의 집합과 유사한 성질을 갖는다는 것입니다. 기본적으로 Set 컬렉션은 인덱스가 사용되는 List와 달리 (1) 순서가 없고, (2) 중복이 허용되지 않습니다(null도 하나만 저장할 수 있습니다). 기본적으로 Set 컬렉션의 종류에는 HashSet, LinkedHasSet, TreeSet 등이 있습니다. 그리고 아래의 메서드들은 Set 컬렉션에서 공통으로 사용 가능한 Set 인터페이스의 메서드들입니다. List 컬렉션과 달리, 인덱스 개념이 없기 때문에 인덱스를 파라미터로 갖는 메서드가 없다는 것이 특징이지요. 기능 메서드 description 객체 추가 boolean add(E e) 주어진 객체를 저장한다. 저장 성공 시 true, 실패 시 ..
2. 안드로이드 기본 구조의 이해 (1) - 안드로이드 아키텍쳐 ○ 안드로이드 아키텍처 안드로이드 아키텍처를 자세하게 이해하기보다는, 상식 수준에서 읽어두시기 바랍니다. 플랫폼 아키텍처 | Android 개발자 | Android Developers Android is an open source, Linux-based software stack created for a wide array of devices and form factors. The following diagram shows the major components of the Android platform. The foundation of the Android platform is the Linux kernel. For example… developer.android.com - 안드로이드 플랫폼은 리눅스 커..
7. GA4 데이터 분석하기 : Explorations (1) - 테이블 차트 기본적으로 GA4에서 제공하는 Reports 메뉴가 아닌, Explore에서 제공하는 탐색 리포트는 쉽게 설명하자면 커스텀 리포트를 의미하게 됩니다. UA 버전에서는 제공하지 않던 기능으로, 다양한 템플릿과 기능을 통해 디테일한 분석과 시각화가 가능한 메뉴이므로, 반드시 익혀야 하는 기능들입니다. 우선 가장 기본적인 테이블 타입의 차트를 살펴보겠습니다. Reports 메뉴에서도 기본적으로 비슷한 유형의 차트를 확인할 수 있었는데요, 여기서 좀 더 편집과 폭넓은 기능을 제공하는 테이블 차트를 살펴보겠습니다. 일단 [Explorations] > [Free form]을 클릭하겠습니다. 기본 구성에 대해서 먼저 개념을 잡겠습니다. Variables(변수)탭은 일종의 '재료' 영역입니다. 여기에 준비된 여러 요소..
컬렉션 프레임워크(2) - List 컬렉션 4 : Vector Vector는 기본적으로 ArrayList와 동일한 구조를 갖고 있습니다. 그래서 생성, 사용 방식 자체는 ArrayList와 크게 다르지 않습니다. List list = new Vector(); 그럼, ArrayList와 동일한 형태인데 굳이 Vector를 사용해야 하는 이유가 있을까요? 간단하게 요약하면, 이것은 Thread Safe - 즉, 스레드 상황에서 안전성을 보장하기 때문입니다. ArrayList와 다른 점은 Vector의 경우 동기화된(synchronized) 메서드로 구성되기 때문에 멀티 스레드일 경우, 동시에 이 메서드를 실행할 수 없다는 특징을 갖습니다. 즉, 하나의 스레드가 실행을 완료해야만 다른 스레드를 실행할 수 있다는 것이죠. 결국 멀티 스레드에서 안전하게 객체를 추가하거나 삭..
6. GA4 이벤트 생성 고급(2) - JS기반 이벤트 생성 3 : ClickElement + CSS 선택자로 동적 변수 생성 우리는 앞선 아티클에서 HTML문서 요소들의 class나 id를 이용해, 해당 요소에 대한 이벤트를 정의했습니다. 이 과정에서 Javascript 함수를 이용했죠. 그러나, 모든 HTML 요소들이 class나 id를 지정하지는 않습니다. 그럼 class나 id가 없는 요소는 어떤 기준으로 이벤트를 생성할까요? 이번 아티클에서는 이렇게 class나 id가 없는 경우, ClickElement와 CSS 선택자를 통해서 동적 변수를 생성하는 방법을 살펴보도록 하겠습니다. 현재 우리가 생성해 둔 [click_btn] 이벤트에는 'btn_name'이라는 event parameter가 있습니다. 이 값이 'heart'라는 스트링 값으로 지정되어 있는데, 이 value를 Javascript를 이용해 동적 변수를 적용한..
6. GA4 이벤트 생성 고급(2) - JS기반 이벤트 생성 2 : 댓글 수, 작성 일자 파라미터 생성 앞선 아티클에서 우리는 GTM에서 유용하게 사용할 수 있는 메서드를 살펴보았습니다. 이제 이 메서드들을 실제로 적용해서 기존에 발생시켰던 이벤트를 확장해 보도록 하겠습니다. 6. GA4 이벤트 생성 고급(2) - JS기반 이벤트 생성 1 : Class, ID 리턴 메서드 이번 아티클부터는 기존의 GTM에서 좀 더 확장된 기능을 사용하기 위해서 Javascript를 사용해 이벤트를 생성하고 적용하는 방법을 알아보도록 하겠습니다. 물론, 단순한 작업이야 기존의 GTM에서 nozeroslope.tistory.com 우리가 생성했던 하트 버튼 클릭 이벤트, 즉 [click_btn] 이벤트는 파라미터로 btn_name을 갖고 있습니다. 그리고 page_title도 기본적으로 갖고 있습니다. 그런데 우리는 여기에 ..