최근 Service 개발에서 반복적인 Account 생성이 필요한 테스트 케이스가 있어서 작업 중 Remote Server에서 주민등록번호 Validation 을 하는 바람에 급히 검색하여 다음과 같은 내용을 알아내었다. 예를 들어 640713-1018433 이 주민번호를 예로 들어보죠 우선 주민등록번호 마지막자리수만 제외하고, 각각의 자리수마다 다음과 같은 수를 곱하여 전체를 더한다. 6 4 0 7 1 3 1 0 1 8 4 3 x x x x x x x x x x x x 2 3 4 5 6 7 8 9 2 3 4 5 ----------------------- + + + + + + + + + + + + 즉, (6*2)+(4*3)+(0*4)+(7*5)+(1*6)+(3*7)+(1*8)+(0*9)+(1*2) +(8*3)+(4*4)+(3*5) = 151 그러면 151 이란 수가 나온다. 이 151을 매직키인 11로 나누어 나머지만 취한다. 151 / 11 = 몫: 13 <-- 버림 나머지: 8 마지막 단계로 매직키인 11에서 나머지 8을 빼면 3이란 수가 나오 는데, 이숫자가 주민등록번호 마지막 자리의 숫자와 일치하면 대한민국 국민이다. 11 - 8 = 3 --> 정상적인 주민등록번호임 출처 : http://blog.naver.com/foenix/40040223161 이 내용을 다음과 같은 메서드로 만들어 보았다. public static String getSSN() { Random rand = new Random(); Calendar cal = Calendar.getInstance(); cal.setTimeInMillis(rand.nextLong()); String s1 = new SimpleDateFormat("yyMMdd").format(cal.getTime()); String s2 = null; while(s2 == null || s2.length() < 6) { s2 = Integer.toString
다음 글은 현재 속한 팀에서 공감과 개선을 이끌어 내고자 공유했던 내용이다. 비슷한 상황을 가지고 있는 사람에게 참고가 될 수 있을까해서 포스팅 해본다. 돌아보기 이상적인 개발자의 일상 출근 후 코드를 SVN으로부터 업데이트 받는다. CI 의 리포트 확인. CI 리포트에 오류가 있을 (빌드가 깨져있을) 경우 수정할 수 있다면 직접 수정후 테스트 한 뒤 commit 담당자가 수정하도록 ticket 발급 Stand up meeting 을 가지고 어제 일을 반성하고 할 일에 대해 구성원간 공유를 한다. Issue Tracker에 등록된 ticket이 있는 지 확인하고 처리한다. Story에 기반하여 자신이 할 일을 정의해 eclipse 의 task 목록에 등록한다. (Issue Tracker에 자동으로 등록된다.) 등록한 task 에 대한 test case 를 만든다. test case가 성공하도록 구현한다. 더 이상 task에 대한 구현 사항이 없다면 코드를 commit 한다. 구현 과정에서 특기할 만한 것이 있다면 wiki 에 공유. 오늘 할 일이 끝나면 퇴근. 조엘 테스트 1. Source Control(소스 컨트롤)을 사용하십니까? 예 2. 한번에 빌드를 만들어낼 수 있습니까? 아니오 3. daily build(일별 빌드)를 만드십니까? 아니오 4. 버그 데이타베이스를 가지고 있습니까? 아니오 5. 새로운 코드를 작성하기 전에 버그들을 잡습니까? 아니오 6. up-to-date(최신) 스케줄을 가지고 있습니까? 아니오 7. spec(설계서)를 가지고 있습니까? 아니오 8. 프로그래머들이 조용한 작업환경을 가지고 있습니까? 아니오 9. 돈이 허락하는 한도내의 최고의 툴들을 사용하고 있습니까? 예 10. 테스터들을 고용하고 있습니까? 아니오 11. 신입사원들은 면접 때 코드를 직접 짜는 실기시험을 봅니까? 아니오
유능한 경영이란 무엇인지를 찾는 청년의 이야기를 통해 1분 경영의 방법을 전달 받을 수 있었다. "1분 경영"이란 1분이라는 상징적인 시간 만큼, 최소한의 노력으로 유능한 부하 직원의 능력을 신뢰하고 이를 최대한으로 이끌어 내는 경영방법을 말한다. 나는 이 "1분 경영" 에 대해 찬사들로 가득차 있는 서평과 추천사와는 달리 조금은 비판적인 시각으로 접근해 보고자 한다. 책은 전반적으로 세 가지의 1분 비법으로 존경 받는 상사가 되는 법에 대해 서술하고 있다. 세가지 비법이란 1분 목표, 1분 칭찬, 1분 질책을 말한다. 먼저 "1분 목표"의 내용 자체는 매우 훌륭해 보인다. 실행 가능한 단순 명료한 목표설정에 대해서는 전혀 이견이 없다. 관리자는 부하직원이 스스로 목표를 정할 수 있게끔 이끌어 주는 역할만 가지는 점도 좋다. 아마도 책의 내용을 단순화 하기 위하여 언급하지 않았겠지만, 아쉬운 부분이 몇가지 있다. 첫째로 목표에 대한 가변성이다. 목표 자체는 업무의 방향성을 갖게해주는 목적이기때문에 가급적 변하지 않는 것이 중요하겠지만, 21세기 비지니스의 대부분이 시장상황에 따라 매우 유동적이기 때문에 이것에 대한 배려가 아쉽다. 그 다음은 목표 설정에서 팀에 관한 내용이다. 개인의 목표 설정도 물론 중요하지만, 개인의 한계를 초월하는 팀플레이에 대한 목표는 팀 구성원간의 협의가 반드시 필요하기 때문이다. "1분 칭찬"과 "1분 질책"은 비록 두가지로 나뉘어 있지만, 의도하는 바는 동일하다고 생각한다. 업무 태도에 대한 평가가 즉각 이루어짐으로서 부하직원이 목표를 달성하는 데 있어 진심으로 격려하는 것이다. 나는 다시 한 번 팀의 관점에서 생각해보게 되는 데, 이는 팀 단위의 회고에서 이루어지는 것이 어떨까 한다. 관리자가 의견을 전달하는 것도 도움이 되겠지만, 팀 전체의 의견은 보다 입체적이고 객관적일 수 있기 때문이다. 이 책은 주로 관리자의 입장에서 쓰여져 있다. (
흠.. 자바인가요.. 생소하네..
답글삭제(0(\\d|\\d{2}|\\d{3})-)?(\\d{3}|\\d{4})-\\d{4}
(0(\\d{2,3})-)?(\\d{3,4})-\\d{4}
이렇게 하면은 안 되나요?