경품 추첨 DB 로직
경품 갯수가 n 개일 때, 경품 전체 데이타를 미리 만들어 놓고, update 하는 방식으로 세팅할 수도 있지만.. 여기에서는, 경품을 관리하는 경품테이블을 두고.. 추첨이 일어날 때마다 이벤트테이블에 insert 하는 방식. insert 하는 방식 보다는 update 할 때 동시성 문제가 발생할 수 있으므로, 데이타도 적게 적재되는 insert 방식으로 구현하는게 좋음. insert into 이벤트테이블( 이벤트시퀀스 ,이벤트카테고리 ,사용자아이디 ,경품코드 ) select 이벤트시퀀스.nextval ,a.* from (select 이벤트카테고리 ,사용자아이디 ,(case when today = 1 -- 좋은 경품은 1인 1건만 당첨, 한 번만 당첨 or c.cnt_mid >= 2 -- 중간 경품은 1..
주민등록번호 CI
원문 : https://m.post.naver.com/viewer/postView.nhn?memberNo=15460571&volumeNo=23359254 지자체번호, 주민센터번호, 해당일 등록번호, 검증번호. 검증번호는 사족에 해당. 왜냐면, 일정한 규칙에 맞게 생성하면 되기 때문. 주민등록번호 생성규칙이 있다 보니, 13자리만으로 한 사람을 특정지을 수 있다는 것 자체가 문제라고 보는 시각이 존재. CI 도 따지고 보면 13자리 주민등록번호를 기준으로 생성하는 것이기 때문에 문제의 소지는 있지만, 13자리 정도는 외울 수 있고 어디다 옮겨적기 쉽지만 88자리(바이트)는 어렵지 않냐는 것이 CI 가 나온 배경(?). 다만, 요즘은 메모리 기능이 들어간 정보기기(이를테면 휴대폰, 노트북, USB메모리, 외..