PHP 및 MySQL의 까다로운 백엔드 문제를 해결한 방법

王林
풀어 주다: 2024-07-17 21:13:21
원래의
893명이 탐색했습니다.

How I Solved a Challenging Backend Problem with PHP & MySQL

안녕하세요. 오랜만에 블로그 포스팅을 작성하게 되었습니다. 음, 여기에서는 제가 겪었던 가장 어려운 문제 중 하나와 이를 해결한 방법에 대한 개요를 쓰고 있습니다.

백엔드 개발자로서 특히 당신을 힘들게 하는 과제는 피할 수 없습니다. 최근 PHP와 MySQL을 사용하여 광고 네트워크에서 작업하는 동안 특정 기준에 따라 게시자를 위한 CPM(Cost Per Mille)을 최적화하는 것과 관련된 복잡한 문제에 직면했습니다. 이 문제는 내 기술 능력을 테스트했고 귀중한 학습 경험을 제공했습니다. 이 게시물에서는 제가 이 문제를 어떻게 해결했는지 단계별로 설명하고 직면한 과제와 구현된 솔루션을 강조하겠습니다. 효율적으로 구현하는 방법이나 더 나은 방법에 대해 제가 얻을 수 있는 제안이 있으면 기쁠 것입니다.

문제

이 작업은 다음 기준에 따라 게시자의 CPM을 조정하는 것이었습니다.

  1. 지난 10분 동안 10개의 다른 IP 주소에서 클릭이 발생한 경우 5% 증가.
  2. 지난 10분 동안 동일한 IP 주소에서 5번 클릭이 발생하면 8% 감소합니다.
  3. 같은 국가에서 10번 연속 클릭하면 2% 증가

솔루션 여정

1단계: 요구 사항 이해

구현을 시작하기 전에 요구 사항에 대한 명확한 이해가 필요했습니다. CPM 조정을 위한 기준과 원하는 동작을 확인하기 위해 이해관계자들과 논의했습니다. 이 초기 단계는 솔루션을 효과적으로 계획하는 데 매우 중요했습니다.

2단계: 데이터베이스 설정

이미 데이터베이스와 테이블이 생성되어 있고 프로젝트도 이미 진행 중이었기 때문에 기준만 추가하면 되었습니다. 클릭 추적에 필요한 정보를 저장하고 수용할 수 있도록 데이터베이스와 테이블이 설정되었는지 확인했습니다. 테이블 스키마에는 클릭 타임스탬프, IP 주소 및 국가 코드를 저장하기 위한 필드가 포함되어 있습니다(이 게시물의 목적에 그다지 중요하지 않기 때문에 포함하지 않을 다른 필드/열이 있습니다).

3단계: 클릭 데이터 캡처

다음으로 사용자가 광고를 클릭할 때마다 IP 주소와 국가 코드를 가져와 저장하는 기능을 구현했습니다. 이 데이터는 클릭수 테이블에 저장되었습니다.

4단계: 기준 확인 구현

데이터가 캡처되면 다음 단계는 기준을 확인하고 이에 따라 CPM을 조정하는 로직을 구현하는 것이었습니다.

  1. 고유한 IP 주소 확인하기 그룹의 각 행에 대한 표현식을 평가하고 null이 아닌 고유한 값의 수를 반환하는 COUNT 함수와 DISTINCT 키워드를 사용하여 지난 10분 동안 고유한 IP 주소를 계산합니다.
으아아아
  1. 반복되는 IP 주소 확인하기 그런 다음 SQL COUNT 함수를 사용하여 지난 10분 동안 반복되거나 고유하지 않은 IP 주소를 확인합니다.
으아아아
  1. 동일 국가의 연속 클릭 확인하기 여기서는 동일한 국가의 연속 클릭을 확인하는 세 번째 기준을 적용합니다.
으아아아

5단계: CPM 업데이트

이 부분에서는 게시자의 CPM을 업데이트하고 이를 사용하여 특정 클릭에 대한 수익을 계산합니다.

결과

이 솔루션을 구현함으로써 광고 네트워크는 이제 사용자의 클릭 데이터를 기반으로 CPM을 동적으로 조정합니다. 이는 게시자에게 공정하고 최적화된 수익 모델을 보장하여 광고 네트워크의 전반적인 효율성을 향상시킵니다.

나 소개와 왜 HNG 인턴십인가요?

저는 확장 가능하고 효율적인 시스템 구축에 열정을 갖고 있는 백엔드 개발자 Kingsley Gbutemu Kefas입니다. 나는 문제 해결자이고, 새로운 일과 일을 하는 방법을 배우는 것을 좋아합니다. 개발자로서 저는 문제, 특히 비판적 사고를 하게 만드는 복잡한 문제를 해결함으로써 동기를 부여받습니다. 저는 HNG 인턴십이 실제 프로젝트에 참여하고 업계 전문가로부터 배우면서 개발자로서 성장할 수 있는 기회라는 것을 알고 있습니다. HNG 인턴십으로 여정을 시작하고 기술 커뮤니티에 기여하게 되어 기쁩니다. 저는 이 여정이 제 기술을 연마하고 영향력 있는 프로젝트에 기여할 것이라고 믿으며 HNG Premium의 혜택을 통해 더 많은 혜택을 누릴 것이라고 확신합니다.

위 내용은 PHP 및 MySQL의 까다로운 백엔드 문제를 해결한 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

원천:dev.to
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿
회사 소개 부인 성명 Sitemap
PHP 중국어 웹사이트:공공복지 온라인 PHP 교육,PHP 학습자의 빠른 성장을 도와주세요!