본문 바로가기

전체 글134

[Kafka] 카프카 메시지 저장 방식, 오프셋이 2개씩 증가? 카프카 저장 단위카프카 메시지는 세그먼트라는 저장 단위로 관리되며 세그먼트 내부에 레코드가 쌓이는 형식입니다.[Topic]└── [Partition] ├── 00000000000000000000.log # 활성 세그먼트 (Active Segment) ├── 00000000000000000000.index # 오프셋 인덱스 ├── 00000000000000000000.timeindex # 타임스탬프 인덱스 ├── 00000000000000456789.log # 이전 세그먼트 ├── 00000000000000456789.index └── 00000000000000456789.timeindex 실제로 카프카에 접속해 토픽 데이터를 확인할 수 있습니다. test1이.. 2024. 11. 25.
[AdTech 플랫폼 개발] 1. 프로젝트 계획 3번째 사이드 프로젝트의 주제를 AdTech 로 결정했습니다. 이번 사이드 프로젝트는 대용량 데이터 처리를 위한 구조를 만들어보고, 실제 대용량 트래픽을 발생시켜 여러 가지 이슈에 부딪혀 보는 것입니다. AdTech 가 궁금하다면 이 글을 참고해주세요1. 요구사항1.1 도메인 분석AdTech의 주요 사용자는 광고주, 매체사, 유저입니다. 광고주가 광고를 원하면 매체사에서 그 광고를 노출해 주고 이 광고가 유저에게 노출되는 것이죠.   이 광고의 경우 광고주는 토스이고, 매체사는 X이며, 유저는 저를 포함한 X 사용자입니다.  AdTech 플랫폼을 개발하려면 필요한 도메인 지식은 아래 정도가 있습니다. 앞서 예시로 들었던 토스 광고를 예시로 들어보겠습니다. Campaign, AdGroup, Ad- Camp.. 2024. 11. 10.
AdTech? AdTech?Advertising Technology의 줄임말로, 디지털 광고 산업에서 사용되는 다양한 기술과 도구를 총칭하는 용어 주요 구성 요소1. DSP (Demand-Side Platform): 광고주를 위한 플랫폼2. SSP (Supply-Side Platform): 퍼블리셔를 위한 플랫폼3. DMP (Data Management Platform): 데이터 관리 및 분석 플랫폼4. Ad Exchange: 광고 거래소5. Ad Server: 광고 전달 및 성과 측정 시스템6. Attribution Tools: 광고 효과 측정 도구 AdTech의 장점- 정확한 타겟팅- 실시간 캠페인 최적화- 투명한 성과 측정- 비용 효율성 증대- 광고 인벤토리의 효율적 관리AdTech 핵심 시스템1. 수요측 플랫폼.. 2024. 10. 2.
Ben's 삶의 지도 프로그래머가 되고 싶었던 고등학생중학교 때 진로 목표를 적어내는 시간이 있었는데 저는 항상 프로그래머라고 적었습니다. 사실 그렇게 간절하지는 않았고요 그냥 재미있을 거 같았습니다.   부끄럽지만 중학교 때 게임에 빠져있었고 이때 프리 게임 서버도 운영했었어요. 퀘스트나 아이템도 직접 만들어서 적용했었는데, 내가 무언가 창조한다는 것과, 누군가 사용해준다는 사실이 너무 너무 너무 재미있었습니다. 이 경험을 통해 프로그래밍에 흥미가 생겼고 컴퓨터 관련 특성화 고등학교에 진학하게 되었어요.  근데 성적이 부족해 1지망 학과에 들어가지는 못했어요 ㅎㅎ!... 대신 공모전에 참가하고 얻은 상품들을 판매하여 개발에 필요한 컴퓨터와 책을 사서 개발을 독학하기 시작했습니다. 이때 여러 가지 안드로이드 어플을 만들었었는.. 2024. 9. 20.
[Spark] SparkSQL (DataFrame, DataSet) 구조와 장점 2024. 8. 21.
[Spark] Spark란? Spark?데이터 센터나 클라우드에서 대규모 분산 데이터 처리를 하기 위해 설계된 통합형 엔진 2024. 8. 21.
[Kafka] Log Compaction, Message Compression TL;DR- 모두 저장 공간 효율을 위해 사용될 수 있는 기능이다.- Log Compaction은 같은 record key를 갖는 가장 최신 로그만 남기고 삭제하는 것을 말한다.- Message Compression은 메시지 자체를 압축해서 전달하는 것을 말한다. 1. Message Compression (메시지 압축)- Message Compression은 메시지의 크기를 줄이는 기술- 메시지 크기를 줄임으로써 네트워크 대역폭을 절약하고 저장 공간을 효율적으로 사용하며, 더 빠른 전송 및 처리 속도를 제공- 주로 사용되는 압축 알고리즘에는 Gzip, Snappy, LZ4 등이 있음- 프로듀서 레벨 압축이 있고, 브로커 레벨 압축이 있음- 프로듀서 레벨 압축은 전송되는 데이터 양을 줄이기 위해 데이터가 .. 2024. 7. 30.
4Ls (Liked, Learned, Lacked, Longed For) 4Ls는 팀의 활동에 대한 네 가지 측면을 반영하여 회고하는 방법입니다. 4Ls는 팀의 활동에 대한 네 가지 측면을 반영하여 회고하는 방법입니다.Liked (좋았던 점): 팀이 특히 좋았다고 느낀 점을 공유합니다.예시: "새로운 도구 도입 덕분에 생산성이 향상되었다."Learned (배운 점): 팀이 배운 것들, 새로운 통찰이나 지식을 공유합니다.예시: "효과적인 팀 커뮤니케이션이 프로젝트 성공에 얼마나 중요한지 깨달았다."Lacked (부족했던 점): 팀이 필요했지만 충분하지 않았던 것들을 논의합니다.예시: "설계 단계에서의 명확한 가이드라인이 부족했다."Longed For (바랐던 점): 팀이 원했지만 이루지 못한 것들, 다음에 시도하고 싶은 것들을 이야기합니다.예시: "더 많은 시간적 여유를 가지고.. 2024. 7. 27.
KPT 회고 (Keep, Problem, Try) KPT는 팀이 무엇을 유지하고, 문제를 해결하며, 새로운 시도를 할 것인지를 논의하기 위한 프레임워크입니다.  Keep (유지): 잘 된 점 또는 효과적이었던 것을 계속해서 유지하기 위해 기록합니다.예시: "매일의 스탠드업 미팅이 팀의 협력을 증진시켰다."Problem (문제): 문제가 있었던 점이나 개선이 필요한 부분을 논의합니다.예시: "테스트 과정에서 커뮤니케이션 오류로 인해 시간 지연이 발생했다."Try (시도): 다음 스프린트에서 시도해 보고 싶은 새로운 아이디어나 개선 방안을 제안합니다.예시: "다음 스프린트에서는 테스트 계획을 더욱 상세히 작성하고 팀 내 모든 구성원과 공유하자." 예시: 웹 애플리케이션 개발 프로젝트KPT 예시Keep: "주기적인 코드 리뷰가 코드 품질 향상에 도움이 되었다.. 2024. 7. 27.
5F 회고 (Fact, Feelings, Findings, Future Action, Feedback) 5F는 의사결정 또는 분석 과정을 지원하는 다섯 가지 요소를 의미하며, 특정 분야나 상황에 따라 다르게 정의될 수 있습니다. 일반적으로는 다음과 같은 다섯 가지 요소를 포함합니다:Fact (사실): 객관적이고 검증 가능한 데이터나 정보. 예를 들어, 회사의 매출액, 시장 점유율, 고객 만족도 조사 결과 등이 있습니다.Feeling (감정): 개인이나 조직의 주관적인 감정이나 의견. 예를 들어, 직원들이 새로운 프로젝트에 대해 느끼는 기대감이나 우려 등이 포함될 수 있습니다.Finding (발견): 분석을 통해 도출된 통찰이나 새로운 사실. 예를 들어, 특정 제품이 특정 연령대에서 인기가 있다는 사실을 발견한 경우가 이에 해당됩니다.Forecast (예측): 미래에 대한 예측이나 전망. 예를 들어, 시장 .. 2024. 7. 27.