data-generate

빅데이타 인프라를 구축했는데 막상 뭔가 테스트 해보고 싶어도 돌릴만한 예제가 없는 분들을 위해서 만들어 본 라이브러리입니다. 뭐 대단한 것은 아니고 ‘ID,TIMESTAMP,TRANSACTION’ 형식으로 세개짜리 필드로 은행권 로그를 모방했습니다. 일단 급한대로 만들어 쓸려고 만든것이기 때문에 더 만들어야 할게 많습니다. 나름 동접처리를 한다고 쓰레드 방식으로 동접으로 접속해서 처리하는 것도 시뮬레이션 했습니다.

추후에는 - 트랜잭션중에 자주 일어나는 것에 대한 빈도수 조절이 가능해질 것입니다. - 현재는 랜덤으로 사용자를 뽑아오지만 충성고객에 대한 범위를 지정할 수가 있을것입니다. - MAC 이나 IP Address 생성룰을 고민해서 붙일 수도 있을것입니다.




결과입니다. 


EDITED:

TIMESTAMP 가 yyyyMMddHHmmss 에서 yyyyMMddHHmmss.SSS 형식으로 밀리세컨드까지 표현하게 바꼈습니다. 


사용법

  • 설명 보기
$ java -jar data-generate.jar 
  • 예제
$ java -jar data-generate.jar -a 1000000 -f 2014-03-07 -t 2014-05-06

2014년 3월 7일 부터 2014년 5월 6일까지 하루에 백만개의 로그를 생성하는 명령입니다.

License

Copyright © 2014 Comjuck

Distributed under the Eclipse Public License either version 1.0 or (at your option) any later version.



data-generate.jar



프로그래밍을 하다보면 수학적 귀납법의 원리를 이용하여 함수가 제대로 작성 됐는지 검증하면 편할 때가 많습니다. 

수학적 귀납법

자연수 n과 관련된 명제 P(n)을 증명하려고 할 때, 다음 두 가지만 증명하면 된다.
1) n=1일 때, 참이다.
2) n=k일 때, 참이라고 가정하면 n=k+1일 때도 참이다.
1)과 2)에 따라서 모든 자연수일때 명제가 성립한다.

살아오면서 수학과 프로그래밍에 대해서는 별다른 연관성을 못 느끼고 있었습니다. '수학적 사고나 논리력 증대가 프로그래밍에 도움이 되는 것이겠지' 정도로만 치부하고 살았는데, 최근에 결국 프로그램의 대부분이 아무리 많은 데이터를 다루더라도 index 형태로 처리하게 된다면, 함수를 작성할 때 귀납법을 고려해서 작성하면 좋구나 하고 느낄 때가 있었습니다. 

함수를 작성할 때 위에 쓰여진 귀납법 형태대로 따르면 n=k 일 때 제대로 돌아간다고 생각하고 작성해 줍니다. 그리고 n=1 일때 실제로 맞게 돌아가는지 확인을 하고 n=k+1 일 때 제대로 돌아가는지 체크를 해주면 깔끔하게 작성이 됩니다. 

딱히 방법이랄 것은 아니지만, '맞아 이런거였지?' 정도로만 인식해도 함수를 잦은 디버그 없이 작성할 수 있게 되는 요령이 됩니다. 



+ Recent posts