전체 글(48)
-
반복문 의존증
많은 엔지니어 및 프로그래머는 공통적으로 문제를 해결할 때 반복문을 사용하는 것에 익숙해져 있다.→ 복잡한 문제를 작고 개별적인 단위(레코드)로 나눈 다음, 그 단위에 반복문을 적용해 해결하는 사고방식이다.“문제가 생기면 일단 분할하고 보자”, “상향 식으로 접근하자”, “모듈을 작게 나누자”의 프로그래밍 철학 이러한 반복문 의존증을 SQL 및 RDB의 패러다임 관점에서 이야기 해보자. SQL 및 RDB의 패러다임SQL에는 본질적으로 반복문이 없다.이는 SQL은 처음부터 반복문이 없는 것이 더 좋다는 철학을 바탕으로 설계됐기 때문인데,이로 인해 사용자에게 편리함을 제공한다. SQL은 기본적으로 집합(Set) 기반의 언어이고,개발자가 개별 레코드를 어떻게 처리할지 명시적으로 반복문을 작성할 필요 없이,원..
2025.08.03 -
절차 지향에서 선언형으로
최근 SQL을 튜닝을 공부하면 할수록 느끼는 건데,단순히 문법을 외우는 걸 넘어서 생각의 체계 자체를 바꾸는게 필요한 것 같다. 절차 지향형 vs 선언형 사고 SQL을 작성하면서 statement 중심의 절차 지향형 사고에 머무를 때가 많다.쿼리를 작성하다 보면, “어떻게 이걸 구현하지?”에 초점이 맞춰진다. 근데 중급자 이상으로 가려면 반드시 넘어야 할 벽이 있다고 한다.바로 expression 중심의 선언형 사고이다.SQL은 프로그래밍 언어가 아니라, 질의(Query) 언어다.무엇을 원하는지를 말하면, DB가 어떻게든 해준다. UNION 쓰지 말자 (웬만하면)조건 분기 때문에 UNION을 여러 번 쓰고 있다면?CASE 식으로 훨씬 자연스럽고 깔끔하게 표현할 수 있다.UNION은 성능적 안티 패턴이..
2025.08.01 -
운영체제와 컴퓨터
TIL (Today I Learn)을 기록하는 것이 목적이기 때문에,두서 없을 수 있음을 미리 밝히고, 양해를 구합니다. 운영체제와 컴퓨터컴퓨터 = 하드웨어, 소프트웨어를 관리하는 OS, CPU, Memory 등으로 구성운영체제(OS) = 사용자가 필요로 하는 프로그램의 실행을 위한 시스템 소프트웨어 중 하나 최근에는 대부분의 시스템 소프트웨어가 운영체제에 포함되어, 같은 의미로 사용됨 운영체제는 쉽게 Window, Linux, Mac OS 등으로 대표할 수 있다. 즉, 컴퓨터 하드웨어 관리와 UI를 담당하는 프로그램으로, 컴퓨터의 성능을 효율적으로 운영 및 관리 감독하며,각종 자원들(CPU, Memory 등)을 효율적으로 관리한다 → 사용자에게 최대의 편의성 제공 운영체제의 역할과 구조OS의 역할1..
2025.08.01 -
신규 가입자의 2주차 재방문율 감소 문제
📌 비지니스 문제 시나리오최근 월간 활성 사용자(MAU)는 안정적이지만, 신규 가입자의 2주차 재방문율이 20% 이하로 떨어짐PM은 "추천 상품 노출 방식"이 문제라고 가설을 세웠지만,마케팅팀은 "신규 사용자 온보딩 프로세스의 부족"이 더 큰 문제라고 주장함.현재 팀의 핵심 과제는 리텐션(사용자 재방문) 개선입니다. 미션:리텐션 분석을 통해 2주차 재방문율이 낮은 원인을 규명하는 코드 작성과,작성한 SQL을 최적화된 방식으로 작성하여 분석 속도를 높이며,최종적으로 실행 계획을 예측 → 옵티마이저 관점에서 성능을 점검해야 함 ➡️ Step 1. 리텐션 분석 기본 프레임 설계이 문제를 해결해 나아가 보자. ❓ 리텐션을 어떤 방식으로 정의할 것인가? (코호트 vs 비코호트)리텐션은 기본적으로 “특정 시점 이..
2025.07.22 -
Poisson Process
왜 Poisson Process를 공부하는가?Linkedin에서 현업 데이터 분석가 분들의 인사이트를 읽다보면,'얼마나 많이'보다 '언제 일어나는가'에 대한 문제를 더 자주 고민하시는 것을 많이 접할 수 있었다. 예를 들어,"한 시간 뒤 고객 몇 명이 우리 웹사이트에 들어올까?""광고를 본 뒤 유저가 앱을 다시 켜는 데까지 시간이 얼마나 걸릴까?"와 같은 시간 기반의 사건들의 확률을 이해하기 위해선 다루는 도구에 대한 이해도 필요하다.Poisson Process는 이런 시간 기반의 사건들을 수학적으로 풀 수 있는 도구 중 하나이다. 평균만 본다고 예측이 되는 게 아니다 💬 우리 콜센터는 시간당 평균 12콜이 와요 → 이 말로는 10분동안 5콜이 몰릴 수도, 0콜이 올 수도 있다는 걸 설명할 수 없다...
2025.05.31 -
A/B 테스트로 알아보는 카이제곱 분포
수리통계학에서 배우고 있는 다양한 dist들이수식과 증명 위주 수업이라 와닿지 않아 학습의 연장선으로실제 데이터 분석에서의 적용 하는 방법에 대해 고민해보려고 한다. 그래서 그 첫 시작은 Chi-square dist 문제 상황한 쇼핑몰 앱에서 "구매 버튼 색상"을 바꿨을 때 CTR(클릭률)이 달라지는지를 A/B 테스트를 통해 확인하려고 한다.Group A: 빨간색 버튼Group B: 파란색 버튼 버튼을 클릭한 유저 수와 미클릭한 유저 수를 다음과 같은 표로 나타냈다고 해보자.Group클릭미클릭전체A (빨강)4555100B (파랑)3070100 우리는 이 표를 통해 다음 질문에 답을 하는 것이 목표이다."버튼 색상과 클릭 여부는 과연 무관한가?아니면 어떤 색상이 더 클릭을 유도하는가?" A/B 테스트..
2025.05.25