사이드 프로젝트.1 로또번호 추천 프로그램(21.07.17 updated)
↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑
위의 링크로 로또 번호를 추천받아보세요.
이왕 누르면서 미스클릭으로 광고도 눌러줘요...ㅎㅎ
0. 패치노트
-----2021.07.17
(1) DB문제 해결
(2) 시놀로지 버전 업데이트 적용 완료
(3) 귀차니즘 극복...
-----2021.01.10
(1) 자동으로 최신 로또번호를 받아와서 DB에 Insert 하는 기능 추가 (스케쥴링)
(2) 1~10, 10~20, 20~30, 30~40, 40~45 구간마다 구의 색상이 다르도록 함
(3) Page 반응형으로 개선, 디자인은 좀 더 개선작업 진행 중...
-----2021.01.02
(1) 출력결과 오름차순 정렬
ㄴ 막상 써보니, 정렬이 안되어 있는 결과를 로또용지에 적어넣는게 불편했음
(2) 출력결과 애니메이션 적용
ㄴ 순차적으로 애니메이션이 적용될 수 있도록 함
1.개요
개발하게 된 목적은 단순하다.
올해가 가기전에 사이드 프로젝트를 하나 꼭 만들어보고 싶었고, 여러 후보가 있었지만, 오랜만에 개발을 시작한 만큼, 재활훈련이 필요했다. 그래서 어려운거보단 쉬운 프로젝트를 진행했다. 그렇게 생각한 로또 프로그램이다.
그래도 단순히 로또 번호를 뽑아내는 프로그램이라면 너무 쉽고 재미 없지 않나? 생각했다.
그렇다고 뭔가 대단한 알고리즘이라고 할만한것을 집어넣은것도 아니다.
그냥 내가 생각하는걸 코드로 바꿔서 구현하는 연습을 위해 시작했다.
2. 구조 및 내용
스프링 웹 프로젝트를 기반으로 진행했다.
전자정부프레임을 가지고 할까? 싶었는데, 연습의 의미가 없을것 같아서
완전 비어있는 스프링 프로젝트를 가지고
메이븐, MyBatis 등, 바닥부터 세팅한다고 생각하고 진행했다.
메인 DB에 여지껏 로또 당첨 번호들을 싹다 밀어넣었다.
num = 로또 각 회차,
a~f 는 로또번호, bn은 보너스번호이다.
역대 로또 당첨 번호들이 많을꺼라 생각했는데, 최근것이 942회인걸 보고 좀 의외라고 생각했다.
기존에 흔히 돌아다니는 로또 번호 추출기?는
그냥 랜덤으로 1~45까지의 숫자를 가지고, 6자리 중복없는 숫자를 나열하는게 대부분이다.
여기서 생각한게, 기존의 로또 당첨번호들을 사용해서 뽑아내면, 뭔가....뭔가 당첨확률이 늘지 않을까?
라는 생각이 들었다.
a~f열, bn열에 속해있는 숫자를 각 열별로 분석해서,
1~45까지 숫자 중, 번호의 출현률을 계산했다.
설정한 출현률보다 높게 나온 숫자들을 뽑아냈다.
이제 여기서 중복을 제거하고, 6개의 숫자를 랜덤하게 뽑아내는 방식이다.
3. 결론
적어놓고보니, 진짜 별거 아닌거 같네...
그래도 이걸 진행하면서, Bean 개념을 다시 연습할 수 있었고
DB설정하고, SQL로그 찍히도록 셋팅하는법, 배포하면서 발생하는 문제해결하는 법...
재활훈련으로는 딱 적당했던 프로젝트였던것 같다.
추후에, 뭔가 숫자가 돌아가는 애니메이션이나, 색깔이 이쁘게 바뀌는 애니메이션 같은걸 연습해볼 생각이다.
이 글을 보고 사용하는 사람들이 있다면 그냥 재미로 즐겨주길 바란다.
다음에 이걸로 로또 사본 후기를 올려야지...ㅎㅎㅎ
일단은 여기까지....
크리스마스 이브에도 삽질하는 3류 개발자의 허접한 사이드 프로젝트 개발이다.
내년에도 열심히 하자.