본문 바로가기

전체 글59

두 문자열의 유사도 측정방법 뜻이 정반대인 "I love you" 라는 문자열과 "I hate you" 라는 문자열의 유사도는 어떻게 구할까? 스펠링검사, 표절검사 같은 분야에 사용되어지는 Levenshtein distance algorithm (A.K.A edit distance)을 이용하여 문자열의 유사도를 측정해보자. 1. 원리는 간단하다. 비교 대상이 되는 두 문자열을 각 a, b 라 할 때, a를 b로 수정하는데 필요한 문자의 추가, 삭제, 수정 횟수를 덧셈하면 그것이 곧 유사도가 된다.. 즉, "I love you"가 "I hate you"가 되기 위해선 I love you ↓↓↓ I hate you "lov" 세글자가 "hat" 로 수정되야 한다. 문자바뀜횟수는 3회이고 따라서 레벤시테인 거리 알고리즘에 의한 유사도는 .. 2011. 3. 9.
음파칫솔 지름도우미! 음파칫솔이라 불리우는 전동칫솔. 칫솔모가 초고속으로 진동하면서 발생시키는 음파?가 치아 깊숙한 곳까지 침투해 플라그와 찌꺼기를 깨끗이 제거해준다는데... 작년말부터 한 3,4개월 써본 결과 이건 진리! ☞ 빨리 살수록 좋다는 결론에 도달하였고 지름에 조금이나마 도움이 되고자 포스팅 합니다. 아, 사용소감 간단하게 하자면 -일반 칫솔에 비해 100배 더 깨끗하게 닦이는 것 같음 -회사에서 일반칫솔 쓰는데 도저히 못쓰겠어서 회사용으로 하나 더 살 예정 -처음엔 양치하고나서 치아에 입술이 붙었버렸음 -혀끝에 항상 걸리던 아래 앞니 치석이 지금 대어보니 없어져 있음 정도로 요약 할 수 있겠습니다~ 그럼 구매 가이드 아래 나갑니다. [브랜드] 필립스, 브라운오랄비 두개가 각각 1, 2위(에누리기준) 필립스는 .. 2011. 3. 4.
웹 서핑 하다 일하는 시간 다 까먹고 맨날 야근하는 사람을 위한 크롬 확장 StayFocusd 넘어가도 되는 이야기 웹 서핑을 하다 보면 시간 가는 줄 모르기 십상입니다. 매일 같이 새롭게 쏟아지는 정보를 탐닉하다 보면 해놓은 일 없이 어느새 시간이 훌쩍 지나가 버리기 때문에 잔여 업무 처리를 위해 매일같이 야근하기도 하구요. 이제 그만 봐야지 하고 용기 내어 브라우저를 닫아보기도 하지만 자료 찾으러 검색 좀 하다 보면 어느새 또 삼천포로 빠져버리곤 합니다. 저도 한번 호기심이 발동하면 편집증적으로 관련 정보를 섭렵하는 습관 때문에 업무시간에 집중하지 못하고 시간을 낭비한 적이 많습니다. 습관이 쉬이 고쳐질리 만무하다 싶어, 자구책으로 제 컴퓨터에 localhost 파일을 수정해 시간낭비의 주범인 몇 개 사이트들을 등록해 놓고 아에 접속 하지 못하게 만들어 놓고 써보니 제법 통제가 되는듯 했습니다.. 2010. 12. 15.
[iBATIS 2.x] insert 성공 여부 판단 1. insert 전에는 추가할 레코드의 기본키가 무엇이 될 지 모르는 경우 selectKey 를 이용해 추가된 레코드의 기본키를 반환 받아 확인한다. iBATIS 2.x 의 insert 메서드는 selectKey 와 함께 쓰일 경우 기본키 객체에 추가된 레코드의 기본키를 넣어 반환한다. ProductDao.java public class ProductDao { SqlMapClient sqlMapClient; public boolean insertProduct(Product product) { Integer id = (Integer) sqlMapClient.insert(“insertProduct”, product); return id > 0; // product.productId 에도 같은 값이 저장됨 .. 2010. 11. 18.