Development, Diary

끄투온라인 DB 파헤치기

제목은 거창하지만 사실은 그냥 끄투온라인 단어 DB 뜯어본 결과이다. 끄투온라인은 소스코드와 DB가 모두 Github 쪽에서 공개되고 있기 때문에 뜯어보는건 사실 일도 아니었다. 되게 특이하게 PostgreSQL을 쓰길래 내 서버에 설치해서 Regex 지원하도록 만들어 단어검색용으로 써보려하다가….. 귀찮아져서 테스트겸 무슨 단어 들어가있는지 정도만 확인해보기로 했다.

본 글은 개발자스러움이 매우 많이 (-_-;;) 묻어나 있는 글이므로, 혹시나 끄투온라인 단어 알아보러 들어오신 분이라면 적당히 걸러 읽으며 필요한 정보만 가져가시면 되겠다.

Github에서 DB를 받고, PostgreSQL 윈도우용 버전 설치 후 Import하여 일단 데이터가 잘 나오는지 확인해 보았다.

SQL문을 통해 DB가 제대로 Import 되었는지 확인한다.

잘 나오고 있음이 확인되었다. 이제 예전부터 궁금했던 몇가지를 검색해보자.

  1. 끄투온라인에서 어인정 룰 포함, 가장 긴 단어는 무엇인가?
  2. 끄투온라인에서 10글자 이상의 긴 단어들은 총 몇개인가? 그리고 그 목록은?
  3. 옛 고어나 사투리 조합 등으로 인한 특이한 글자로 끝나는 단어들의 경우 받아칠 수 있는 경우는? (ex. 이믜 -> 믜신것 -> 것챵)

혹시나 본 글을 읽은 사람 중에 궁금하거나 하는 부분이 있다면 최대한 반영하여 업데이트하도록 하겠다.


1. 어인정 포함 가장 긴 단어는?

이를 위한 SQL문을 작성해보면, 다음과 같다.

_id 필드의 길이로 내림차순 정렬하는 SQL문이다. 이에 대한 결과값은 다음과 같다.

끄투온라인에서 가장 긴 단어. 역시나 많이 보던 이거다.

아니나 다를까 많이들 보이는 “인기라이트노벨작가인남고생이연하의클래스메이트이자성우인여자아이에게목을졸리고있다” 되시겠다. 일본애들 4글자로 줄여부르기 좋아하는데 이건 뭐라고 부르는지 찾아도 잘 안나와서 모르겠다….

2. 10글자 이상의 단어 갯수와 목록

아래의 SQL문을 작성하고 실행시킨다.

결과값을 보도록 하자

가장 긴 단어 순위 Top20
10글자 이상의 단어 갯수는 총 615개로 나타났다.

자주보던 단어들은 생각보다 적었다는 사실 보다, 10글자 이상 단어가 이렇게 많이 입력되어 있다는 사실이 더 놀라웠다. 끄투 초기 개발자 이 사람은 도대체 이것들을 어디서 긁어온 것일까….. 쿼리 결과 목록 파일은 아래의 링크를 누르면 다운로드 받을 수 있다.

10글자 이상 단어 목록 다운로드

3. 특이한 단어 받아치기

사실 뜯어보려는 목적은 이게 제일 컸다. 고어나 사투리 같은건 도대체 저런 단어가 존재는 하는지 의심스러울 정도로 받아치기 어렵기 때문이다. 하도 당해서 이젠 익숙한 이믜 → 믜신것 → 것챵 → 챵포검 콤보라던가, 장징궈 → 궈모뤄 → 뤄챵페이 같은 의미도 모르겠는 중국어라던가….

일단 최근에 개인적으로 재미를 보고 있는 단어 의몌를 받아치는 단어가 있는지 검색해보았다.

몌로 시작하는 단어

생각보다 많다!? 끽해야 한두개 정도 생각했는데 역시 DB에 직접 검색하니 정보량이 차이가 많이 난다. 그럼 은근히 어려웠던 으로 시작하는 단어는 어떤지 검색해보았다.

것으로 시작하는 단어

내가 아는게 것챵하고 것구리밖에 없었는데… 것셥 좋다. 그럼 셥은 뭘로 받아쳐야 할까.

셥으로 시작하는 단어

셥삭질이 있었다. 한방단어가 아니니 매너룰에서도 사용할 수 있겠다.

조금 검색의 방향성을 바꿔서, 끄투의 그 유명한 장주릅 -> 늡늡의 2방단어 콤보에서, 장주릅을 다른걸로 바꿔서 좀더 다양하게 점수를 노려볼 수 있는 방법으로는 뭐가 있을까. 릅으로 끝나는 단어를 검색해보자.

릅으로 끝나는 단어

이야 써먹을만한게 많이 보인다. 몇개 외워둬서 매너모드에서도 더티한 플레이를 즐겨보도록 하자.


작성하다보니 단어검색툴을 만들어보고 싶어지긴 했지만 글쎄… 원본이 PostgreSQL 파일이다보니 직접 DB 설치하고 SQL문 작성해서 검색하는 거 말고는 딱히 더 나은 방법이 떠오르질 않는다. 그렇다고 이걸 SQLite로 변환하자니 또 귀찮고….

여튼 심심해서 끄투온라인 DB를 뜯어본 하루였다.

Published by AlphaFactory

프로그래밍을 좋아하는 건축공학도입니다. 블로그는 프로그래밍과 IT쪽으로 현재 운영중이지만 앞으로 건축관련 내용도 다뤄보려고 합니다. 원래 Android 및 Java를 주력으로 다뤘지만 최근에는 개인 프로젝트로 인하여 C#을 주력으로 다루고 있습니다.

4 thoughts on “끄투온라인 DB 파헤치기”

  1. 보습 says:

    DB 뜯는법좀 알려주세요 ㅜㅜ

    1. AlphaFactory says:

      끄투온라인 DB는 Postgre SQL로 작성되어 있으며, Postgre SQL 사용법에 대해서는 다른 블로그에 이미 잘 나와있습니다. 저도 그러한 블로그들을 참고하였습니다.

  2. 보습 says:

    6글자 목록 8글자 목록이 필요해서 해보려고 했는데 역시 이런 분야에 아무것도 모르는 사람은 어럽군요 끄투 데이터베이스 Postgre? 그둘은 깔았는데 어떻게해야할지…

    1. AlphaFactory says:

      PostgreSQL을 비롯해서 모든 SQL DB를 다루시려면 SQL 문법을 배우셔야 합니다. 당장 댓글로 알려드리기엔 내용이 많아서 힘들겠군요. 사실 말씀하신대로 개발해본 경력이 없는 사람이 갑작스럽게 이런 것을 다루기는 힘듭니다. 저도 본문에서 밝혔구요. 그래도 한번 시도해보고 싶으시다면 아래의 사이트를 참고하시기 바랍니다. 조금 구글링 해봤는데 개중엔 여기가 그나마 정리가 잘 되어 있는 느낌이네요.

      http://www.w3ii.com/ko/postgresql/postgresql_select_query.html

댓글은 블로그 운영에 힘이 됩니다!