웹마스터 팁

list($usec,$sec) = explode(" ",microtime());

/*
Test: Each get rand sequence are 10time.
ex) 5.3point meaning 5point integer + 3point decimal
*/

/*
PHP Manual 4 본문에 제시된 예문
5.0point - 1time
6.0point - 9time
*/
// $rand = (double)microtime()*1000000;

/*
PHP Manual 4 유저가 포스팅한 예문
decimal 값이 나오는 문제점이 있다.
8.6point - 1time
9.4point - 1time
9.5point - 7time
10.3point - 1time
*/
// $rand = (double)$sec * $usec;

/*
2002-02-17 07:13:45 양창민에 의하여 생성된 알고리듬 - 방법 1
분포는 전항 결과값이 평균적으로 8~10자리인데 최소 자릿수인 8자리에 고정
8.0point - 10time
*/
$rand = explode(".",$usec * $sec); $rand = (double)substr($rand[0]*$rand[1],0,8);

/*
2002-02-18 08:08:05 양창민에 의하여 생성된 알고리듬 - 방법 2
평균분포 9자리를 유지하는 plus연산
9.0point - 9time
10.0point - 1time
*/
// $rand = explode(".",$usec * $sec); $rand = $rand[0] + $rand[1];


mt_srand($rand);
srand($rand);

// ycm_debug( (double)microtime()*1000000  , (double)$sec * $usec ,   $rand );


P.S in 2002-02-21 03:29:17
위 마지막 ycm_debug() 는  위의 각 시드 배정방법들의 작용결과를
테스트하기 위하여 10단계 히스토리 3원소 나열하는 form 구조체로서
해당 시드별 생성 난수 분포를 파악하기 위하여 만든 함수로,
위의 함수를 바탕으로 무수한 난수결과값을 얻는 과정을 거쳐
해당 시드별 난수 분포 유형을 명확히 파악한 뒤
다른 분들 참고하길 바라는 마음에 적은 것인데...
개선요지는
- 가능한 integer값의 분포가 0~9까지 골고루 될 것.
- 자릿수 변화가 적을 것.
- 연산시간상 불리함을 최소화할 것.
참고로 저는 홈퓌 방문자에게 메인 대문역할 게시판에 38원소 배열,
BGM 플레이어에서 곡 인덱싱에 사용되는 30~100원소 배열,
게시판 메뉴 칼러 패턴을 얻는데 사용되는 컬러코드값 3원소 배열,
상단 타이틀 배경색에 사용되는 컬러코드값 3원소 배열들에
대하여 난수를 사용하는데 정밀 난수가 필요치않아
그냥 5-7포인트정도 integer 값이 나오는(위 주석처리안된) 사용중인데
아무리 난수발생알고리듬이 뛰어나도 필연적으로 중복값은 발생하죠.
그 중복값 발생의 빈도를 줄이고자 시드배정 방법을 달리하는 것인데
(요 부분 제가 와서 찜찜해 수정 ^^ 아공 배고파랑..)
이 부분에 있어 난수의 한계성을 느끼고 궁극적으로 전체 배열값에서
결코 중복되지않도록 하는 다른 알고리듬 구현을 모색하다가
그냥 최대효과, 최소소요시간에 만족하기로 한 상태입니다.
제목 글쓴이 날짜
사용자정의 중 전화번호 형식을 쓰는경우 - 사이에 한칸씩 여백이 생기는 걸 없애는방법 [1] sejin7940 2015.01.23
xe 폰갭 제작시 admob 광고 글쓰기 방해 하지 않으려면 한꼬마 2015.01.26
부트스트랩 관련 버튼안에 체크박스 돼지코구뇽 2015.01.25
DB LOCK으로 인한 사이트 마비와 사례, 조치 [2] onTrust 2015.01.24
제로보드 DTREE 메뉴 적용하기 ( 카테고리 선택기 흉내 냈습니다.) [5] file 조성우371 2009.01.17
게시판에서 태그 기준으로 검색하면 임시저장글들도 노출되는 버그 수정 sejin7940 2015.01.23
문서권한 지정 애드온 1.7에서 동작하게 [2] socialskyo 2015.01.17
kin 모듈 게시물 -> board로 게시물 옮기기 편법 file 꾸링 2015.01.20
한글지원하는 글자수 자르기 함수 [3] pezex 2014.08.11
사이트 종합해서 접속자 아이피 검색 file StyleRoot 2015.01.19
웹서버 php에서 한글언어 깨지거나 오류날때 방법@ 뭘봐첨봐 2015.01.19
포인트 부족 시 글 열람 금지 설정해도, 글을 볼 수 있는 버그 수정 [1] sejin7940 2015.01.18
파일첨부 컨트롤러에 관하여 (첨부파일이 문자열이나, 인코딩되어있는 이미지 등) [1] 410contents 2015.01.16
스팸 단어가 뭔지 스패머들에게 알려주지마세요. 썰레발리오 2015.01.16
[시니시즘] 비회원에게 파일 다운로드 권한이 없다고 뜰 때 시니시즘 2015.01.15
추천 웹 디자인, 모바일 디자인, CSS3, UI/UX 애니메이션을 확인할 수 있는 블로그 file 나도모름 2015.01.14
Centos yum을 이용한 매일밤 자동업데이트 ひりゅう. 2015.01.14
폰갭 어플 연결시 admob 광고 추가 방법 지인에드컴 2015.01.14
1.7.9 mp3확장명 통합검색시 다운로드 문제 임시 조취 꾸링 2015.01.13
윈도즈에서 PHP3와 MySQL 설치 [40] zero 2000.03.06