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
근황
12월 2일(금요일, 작성중인 오늘)은 기분이 열라 별로였다. 1개.. 2개.. 3개.. .6개.. 나 된다 -- 불쾌하고 짜증나고 고민되고 걱정되는 일 투성이였다. 확실히 요새 밤에 잠을 자서 -- 그런지
문제점 자가분석
스스로 진단한 가장 큰 문제 2개는 불면증과 일중독 일중독이 불면증을 유발시켰다. 일중독이 가장 나쁜것 같다. 일중독에 대해 검색한 몇가지 정의. "몸 속에 있는 에너지가 한 곳으로 집중되면서 자율성을 침해,
미숙함이 당당해진 시대
30년 전에도 미숙한 사람들은 무수히 많았지만 눈치 주고받으며 대단히 한국스럽게 균형을 맞추며 살아왔던 것 같다. 그때와 지금에 다른 점이 있다면 마케팅의 고도화로 미숙한 사람들이 본인의 부족함을 인식하기