우리는 우리의 응용 프로그램에 대한 피드백을 보여 주지만 사용자의 10 % 만 보여주고 싶습니다. 예 : 총 사용자 수가 1000 명이고 피드백이 100 명의 사용자에게만 표시되어야하는 경우.웹 응용 프로그램의 무작위 피드백
구현할 논리가 있습니까? 사전에
감사
우리는 우리의 응용 프로그램에 대한 피드백을 보여 주지만 사용자의 10 % 만 보여주고 싶습니다. 예 : 총 사용자 수가 1000 명이고 피드백이 100 명의 사용자에게만 표시되어야하는 경우.웹 응용 프로그램의 무작위 피드백
구현할 논리가 있습니까? 사전에
감사
random
방법을 사용해보십시오 : 당신은 쿼리와 같은
SELECT TOP X PERCENT select list
FROM TableName
을 가질 수 있습니다 그리고이 방법은 당신이 기록의 10 %를 가져 오기 할 수 있습니다 데이터베이스에서
if(Math.random()<0.1) {
// show feedback
}
을 DB에서 가져 와서 피드백 모듈에 표시하십시오.
희망이 당신이 원하는 것입니다.
이전에 유용했던 패턴은 세션 시작시 임의의 사용자에게 (필요한 배포판에 따라) "레이블을 지정"하는 것입니다. 그런 다음 레이블이있는 사용자가 응용 프로그램에서 수행하는 모든 작업을 자세히 기록하십시오. 그들이 제공 한 피드백은 상황에 맞출 수 있습니다. 이 메커니즘에 관해서는 초기 세션 라벨링을위한 필터를 사용하고 나서 피드백을 제공하는 라벨이 붙은 사용자를 위해 화면 상단에 눈에 잘 띄지 않는 막대를 표시합니다. 막대에 닫기 버튼이 있는지 확인하십시오.
이 코드는 0에서 9까지 임의의 숫자를 생성하고 임의 번호가 0 (기회가 10 %)이면 피드백 코드를 추가 할 수 있습니다.
var randomnumber=Math.floor(Math.random()*10)
if (randomnumber == 0)
{
// do something
}
당신이 정말로, 정말로 오히려 약 10 %보다 정확히 10 %해야하는 경우, 당신은 당신이 때마다 새로운 세션이 시작을 증가 정적 카운터 변수를 유지할 수 있습니다. 10을 치면 사용자에게 의견을 물어보고 카운터를 1로 재설정하십시오.
그러나 다른 스레드에서 요청을 동시에 처리하지 못하도록하려면 변수에 대한 액세스를 동기화해야 할 가능성이 높습니다. 많은 요청을 처리하는 경우 성능 병목 현상이 발생합니다.
좋은 이유가 없으면 다른 사람들이 제안한 임의의 숫자 방법을 사용하는 것이 훨씬 쉽습니다.
나는 이것을 길 아래로 생각할 필요가 있다고 생각합니다. "무작위로 10 %로 표시"하는 것 이상의 것을 원할 수도 있습니다.
것은 당신이 인증 된 사용자를 사용하고, 분석 할 수있는 모든 잠재적 인 필요가있는 경우/그 10 %의 응답을 이해하는 응용 프로그램에 대해 얘기하는 경우에, 당신은 다음을 수행한다고 피드백 표시를 위해 각 사용자를 (true) 또는 out (false)으로 지정하는 데이터베이스에 새 열이나 표를 만듭니다.
무작위로 표시하거나 무작위로 레코드를 가져 오시겠습니까? 이것은 중요합니다 –