간만에 글 쓰는데 게임글이 아니라 죄송합니다. 아마 이 글은 저만 알아볼 수 있을듯. 새벽녘에 3일간의 근성작업을 끝내고 쓰는 거다 보니...
공무원시험 준비를 시작하고 이런저런 것들을 하다 보니 수능 단어장, 토익 단어장용 트위터 봇은 있는데 공무원시험 준비하는 사람용 단어장 봇이 없어서 직접 만들어 보았습니다. 공시쪽의 단어 수준은 수능과 비교하면 좀 더 난이도가 있고 토익보다는 쉽죠. 이걸 만족시킬 단어를 뽑아서 만드는 것이 관건입니다. 그리고 덤으로, 핸드폰의 단어장이 너무 구질구질해서 이걸 한방에 정리할 타이밍이기도 했고. 겸사겸사 시작했는데 3일이나 걸렸습니다.
그러러면 일단 단어 원 데이터가 필요합..니다만, 이걸 어디서 구할 수 있는 방법은 사실상 존재하지 않기 때문에 직접 손으로 전부 입력해 기초 데이터를 만들었습니다.
근데 저같은 경우는 단어장을 앱을 이미 사용중이었기 때문에 이런저런 단어장을 이미 몇개 만들어 둔 상태였습니다. 다만, 정확한 단어의 중요도 파악을 위해선 기출 단어장이 필요했기 때문에 이걸 구해서 따로 입력을 진행했습니다. 대략 1800여개. 대략 1주일.
단어장과 별개로 숙어장도 기출 데이터가 필요했는데 이건 서울시 시험 전에 신문에 무료로 실린 것이 있어서 이것도 1000개를 수동입력 완료. 대략 4일.
이제 결합만 하면 됩니다.
아까 만든 기출 단어장, 기출 숙어장 외에 3개 선생 4개의 단어+숙어장을 확보해서 엑셀을 다 입력했다면 이를 한꺼번에 합칩니다. 그러면 대략 6000여개의 거대한 엑셀 지옥이 펼쳐지죠.
이것을 중요도 순으로 골라내야 하는데 저 같은 경우 '똑같은 단어가 몇 번 반복되는가'로 정했습니다. 서로 다른 교수가 똑같이 중요하다고 집어넣은 것, 거기에 기출까지 되었다면 그야말로 최빈출 단어라 할 만하죠. 그래서 그걸 1단계로 두고 그 이하 중복된 개수가 많을 수록 높은 순위를 가지도록 재배치합니다. 이 작업이 단어 1일, 숙어 1일 해서 총 2일. 각종 단어장에서 2회 이상 중복되었던 단어와 숙어는 약 1만개 중 2천개 정도였습니다.
이 다음부터는 좀 쉬워집니다. 이 앞까지의 과정은 정말 헬게이트가 펼쳐지는 신세계이므로 패기만으로 시작하는 것은 금물. 영타속도가 딸리면 더더욱 무리.
앞서 말했던 각 단계별 단어+숙어들을 각각의 파일로 저장합니다. 그리고 단어의 순서를 무작위로 재배치합니다. 이걸 몰라서 한참을 찾은 적이 있는데 가장 편한 방법은,
1. 입력된 단어들 옆에 (예를 들어) RAND라는 이름의 열을 하나 만듭니다.
2. 그 밑의 칸에 =RAND() 라고 입력하면 0~1 사이의 난수를 만들게 됩니다. 이걸 단어장 끝까지 복사.
3. 엑셀 자동 필터를 적용한뒤 RAND열을 오름차순 or 내림차순 정렬합니다.
4. RAND 열을 지우고 저장
뭐 스크립트까지 쓰는 방법을 봤지만...이게 가장 편하네요. 여기서 단어를 무작위로 배열하지 않으면 알파벳 순서대로 된 것을 다음 단계에서 수동으로 복붙해야 하는데 이러면 시간 너무 걸립니다. 여기서 무작위로 한번 섞어주고 진행하는게 확실히 빠름.
자동 트윗을 하는 서비스는 여러개 있지만 역시 twittbot 사이트가 가장 많이 이용하고 있죠. 일단 단어장봇 계정으로 로그인한 뒤, 세팅 메뉴에서 자동트윗 방식을 정해둔 뒤 tweet 메뉴를 통해 자동으로 올릴 단어들을 올립니다. 이게 꼬박 하루 걸렸습니다.
원래라면 그냥 아무렇게나 집어넣으면 되는데 첫 단어는 무조건 최빈출 단어로 하고 하는 나름대로의 규칙성이 있는데 여기에 적어봤자 별로 중요한 것도 아니고...아무튼 작업 전부 일단락되었으니 슬슬 자야겠네요.