안녕하세요 아해팀 김종인 입니다. 이번 포스팅에서는 더미 데이터 생성에서 랜덤 데이터 생성을 어떻게 진행해서 목표에 도달 했는지에 대해서 말씀드리고 싶어 작성 하게 되었습니다. 저희는 데이터 속성에 대해서 생각을 해 보았습니다. 그러면서 확장성과 정확성을 잡기 위한 방법을 생각해보기로 했죠. 그와 중에 흔히 사용하던 정규 표현식에 대해서 떠올려 봤습니다. 다들 써보셔서 아시겠지만 정규표현식은 원하는 조건을 작성하면 입력 데이터에 대한 검색과 치환 기능을 하게 됩니다. 다른 개발자들도 많이 사용해본 정규표현식을 이용해서 랜덤데이터를 생성 하면 학습비용을 줄일수 있으므로 괜찮을 거라 생각 되어 찾아보기로 하였습니다. 검색을 해서 찾은 xeger이라는 라이브러리를 찾게 되었고 예제와 설명을 보니 저희가 원하던 랜덤 데이터 생성을 해주는 프로젝트 였습니다. String regex = “[ab]{4,6}c”; Xeger generator = new Xeger(regex); String result = generator.generate(); assert result.matches(regex); 위의 예제를 보시면 “[ab]{4,6}c” 정규식에 대한 랜덤 데이터를 생성하게 됩니다. 이 정규식을 해석 하자면 a와b만으로 4~6자리의 데이터와 맨마지막에 c를 붙이라는 의미 입니다. 해당 정규식조건을 xeger에서 제공하는 객체에 넣어 주고 generate함수를 호출하면 조건에 맞는 데이터를 랜덤으로 생성하게 됩니다. 위의 xeger을 활용해서
- 전화번호 정규식
- 이름 정규식
- 주민등록번호 정규식
- 이메일 정규식
등 원하는 정규식을 만들면 조건에 맞는 랜덤 데이터를 생성 함으로 써 확장성과 정확성 거기에 덤으로 학습비용 까지 줄이게 되어 되었습니다.