brunch

You can make anything
by writing

C.S.Lewis

by 안영회 습작 Sep 11. 2023

일됨으로 보기 vs 로그인 세션으로 나누기

한국의 마틴 파울러가 되기

이 글은 구독하는 메일링에서 본 이미지가 내 관심사를 붙잡아서 그 우연한 자극이 불러내는 생각을 담은 글입니다.

출처: https://analyticsmarketing.co.kr/digital-analytics/5692/

그림 자체가 이분법을 효과적으로 쓴 사례 아닌가 싶습니다. 사실 원문을 찾아가 보면 구글이 제공하는 GA라는 측정 서비스를 설명하는 내용입니다. 그러나 저는 이와 무관하게 이분법으로 깔끔하게 그린 그림 자체가 주는 영감에 대해 글을 쓰고자 합니다.


이벤트는 일됨의 표현 방식

<소프트웨어 설계에서 입자의 응용>편에서도 최봉영 선생님의 '일됨' 정의를 활용했습니다. 위 그림에서 이벤트 중심 (데이터) 모델을 생각해 보면 어떤 일에 사용자가 관계한 내용을 데이터로 정의하는 방식입니다. '일됨'의 정의에 따르면 사용자는 이쪽이거나 저쪽의 형태로 이벤트(일)와 관계를 맺어 '일됨'이라는 문구를 이룹니다.


GA의 세션의 정의

반면에 세션 중심 모델은 사용자와 시간의 관계를 나누어 정의한 것입니다. 그래서 이벤트와 관계를 맺을 수도 있고 아닐 수도 있습니다. GA의 경우는 세션에서 벌어질 수 있는 관계의 종류는 페이지뷰(사전에 정의한 페이지 방문)이거나 이벤트 둘 중 하나네요.

포괄적인 정의인 '일됨'의 관점에서는 일됨 중에 페이지뷰 하나만 특별하게 구분한 것입니다. 결과적으로 이분법이지만, 개발자 출신으로 짐작해 보면 처음에는 페이지뷰 위주로 하다가 포괄적인 구조화를 시도한 것을 '이벤트'라고 부르는 것이 아닌가 웹 분석의 메커니즘(mechanism) 중심으로 추정하게 됩니다.


우리의 세션 정의: Login Session

여기서 생각이 전환되었습니다. <우리가 시도하는 추적성은 무엇인가?>를 쓴 이후 몇 달 동안 진도를 나가다 멈춘 베터 어드민의 추적 기능에서 세션의 정의가 아직도 모호하다는 사실이 떠올랐습니다. 동료와 함께 할 일이지만, 사전 준비 차원에서 떠다니는 생각을 기록으로 남깁니다.


우선 단어 의미로 Session 뜻도 찾아보았습니다.

A session of a particular activity is a period of that activity.

특정 행위를 하는 기간(period)을 뜻했습니다. 그리고 위키피디아를 찾아보니 우리가 추적하는 세션은 사실 Login Session이라고 부르는 편이 조금 더 객관적이었습니다.

In computing, a login session is the period of activity between a user logging in and logging out of a (multi-user) system.


생각을 잠시 접으며

이 글은 <Strangler Fig 패턴과 점진적 IT 투자>편을 마지막으로 작년 8월부터 올해 5월까지 고민했던 내용을 담은 베터코드 인사이트 시리즈를 한국의 마틴 파울러가 되기 하위 주제로 편입하여 재개하는 글입니다. 앞으로 베터코드가 펼칠 활동과 제품의 아이디어를 스케치하는 공간이 될 것입니다.


지난 한국의 마틴 파울러가 되기 연재

1. 현실과 시스템의 불일치, 그리고 UX의 역할

2. 대상과 조건 그리고 자기 속도에 부합하는 조건 만들기

3. Code Smells 비유와 기술 부채

4. 기술 부채를 Code Smell로 관리할 수 있는가?

5. 형상 구성단위로 TestCase 유용할까?

6. 설계 요소의 사분면

7. 입자와 파동의 이중성을 소프트웨어 설계에 응용하기

8. 즉흥적으로 그린 그림에 입자와 파동 이중성 적용하기

9. 소프트웨어 설계에서 입자의 응용

10. 소프트웨어 설계에서 파동의 응용

11. 설계란 무엇인가 IV Part.1

12. 설계란 무엇인가 IV Part.2

13. 설계는 변화에 대한 준비인가?


지난 베터코드 인사이트의 시작 연재

1. 추적성(Traceability)과 그 쓰임새

2. 베터 어드민의 아기 발걸음 그리고 작명

3. Funnel을 마케팅 말고 engagement 분석에?

4. 디지털 대전환기란 나에게 무엇인가?

5. 기술 부채는 무엇인가?

6. 폭포수 방식 설계는 기술 부채를 남긴다

7. 기술 부채는 낮은 코드 품질에 대한 것이 아니다

8. loosely-coupled: 빠르게 재구성하는 힘

9. 건강한 조직이 만들어지는 배경

10. 구축 사업 관리에 가려진 기술 부채

11. 기술은 쓰임새(use case)에 따라 고르고 조합한다

12. Ubiquitous Language 만들 결심

13. 회사 대표가 엔지니어에게 충분한 권한을 주는가?

14. Cloud Native가 무슨 말인가?

15. Cloud Native가 만드는 규모의 경제

16. Cloud Native 승자는 집적이 가능한 개발 조직

17. CNCF는 PaaS를 대체한다

18. 두레이를 이용한 팀 OKR 활용하기

19. 다시 보는 웹 앱의 미래

20. 내가 풀려는 문제가 무엇인지 분명히 하자

21. 개념과 실제의 간극을 메우는 기술적 직무

22. Strangler Fig 패턴과 점진적 IT 투자

작가의 이전글 언어는 본능이다
브런치는 최신 브라우저에 최적화 되어있습니다. IE chrome safari