1004 at tsix.net 의 요청으로, 개인별 문제 출제 점유율을 표시하는 기능을 넣었다.
설명하면 읽는 사람도 귀찮고 쓰는 사람도 귀찮은 동시에 이해가 안갈 수도 있으니까, 여느때처럼 스크린샷을 올리고 도망간다.
어제 퍼키님과의 번개에서 알콩달콩 이 얘기 저 얘기 하다가, 타자방 정확도 체크하기에 아주 좋은 녀석을 알아냈다.
파이썬의 difflib 이였다. 오전에 회사에서 살짝 삽질을 해보니
from difflib import ndiff
from string import join
join(ndiff('dkssudgktpdy', 'dkssudgktldb'), '')
이렇게만 하면 되는 이런 간단한 녀석을 봤나! 같으면 앞에 0x20이 2개, 추가면 +, 있어야되는데 없으면 - (diff와 같다) 이제 .. 밀려쓰는 오타가 나도 정확도를 잘 평가할 수 있을 것이다.
문제: '동해물과 백두산이 마르고 닳도록 하느님이 보우하사 우리나라 만세' 답안1: '도해물과 ..' 답안2: '동ㅇ해물과 백두산이 마르ㅗㄱ 닳도록...'
현 구조에서는 답안을 QWERTY로 바꿔서 체크를 하기 때문에 위의 2가지 답안 모두 정확도가 10% 미만으로 인식이 안된다. 답안1에서 동해물과에서는 '동'의 종성이 입력되지 않았고, 답안2에서는 수전증으로 인해 ㅇ이 2회 입력되고 '마르고' 입력시 순서가 뒤바뀌어 한칸 밀리기까지 했으니 말이다.
아아 difflib으로 이제 '#오타' 명령까지 만들 수 있겠구나~!
그런데 아직 연동되지 못했다. 그 이유는..
타자봇은 자바라서 JNI로 C에서 Python을 pure로 임베딩해서 difflib 모듈을 로드하고.. 뽕뽕 하게 해놨는데, 이녀석이 이상하게도.. 그냥 C에서 임베딩만 했을때는 difflib 모듈이 잘 로드되고 실행도 잘 되는데, 이상하게 이녀석을 JVM에서 로드해서 사용하면 difflib을 찾을 수 없다고 한다.
Py_NoStruct 가 undefined symbol 이라나 뭐라나 .. 이거가지고 1시간 넘게 삽질하다가 잠시 접어두고 회사일 했다. --; 구글링해도 맘에 드는 답을 못찾았으니.. 런쳐만 C나 Python으로 만든담에 이녀석이랑 자바 타자봇이랑 통신해버려?;;;
주중에는 회사일을 열심히 해야겠다.
Comments
6 thoughts shared
rath
difflib.ndiff 보다 덜 직관적이여서 좀 헤매긴했는데 잘 되네요 흐흐. 고마워요~ -ㅇ- 짬뽕안하고 그냥 bmsi.util 써야겠어요 :D
rath
오, 파라미터에 double minimum이 있는게 아주 인상적이군요. 리턴값도 double 이고.. ㅎㅎ
rath
리턴값이 double에 파라미터도 double 뿐이라 게임에 쓰기는 어렵겠군요..
rath
퍼키님의 많은 도움으로 -ㅇ-; bmsi.util.Diff를 공부해서 문장인식 및 오타 보여주는 부분 다 만들었어요. ㅎㅎㅎ 아이 뿌듯~ 뿌듯~
Continue Reading
Discover more thoughts and insights
Tomcat 안녕
Resin 3.0.10 으로 바꿨다. 아아 역시 난 resin 매니아. Tomcat 은 즐! 내가 Resin 을 좋아하는 이유 남들이 잘 안쓴다. WAS 땜에 개발자를 삽질하게 만들지 않는다. (한글처리 매우
2006년 2학기 성적 뜨다
2006년 한양 사이버대학교 컴퓨터공학과 3학년에 편입한 나. 반년전 A+로 거의 도배된 1학기 성적표를 자랑하는 포스팅을 올렸었다. 하지만 이번엔 호락호락하지 않았다. -\_- 의외인 과목이 2개다. 바로
구글 맵 vs 야후 맵
헤이님의 미투에서 본 소식, 구글맵 한국 서비스 시작! 을 보고 몇 자 남겨봅니다. 지난번 야후 맵 데이 참석 후, 국내 최고의 지도 서비스는 야후라고 생각하고 있었기에.. 이것저것