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으로 만든담에 이녀석이랑 자바 타자봇이랑 통신해버려?;;;
주중에는 회사일을 열심히 해야겠다.