본문

IT로그/프로그래밍

자바로 만든 글자수 카운팅 프로그램

제작 동기

<소스 코드 - github 링크>

블로그를 하시는 분들이라면 한번쯤 글자수 세기 기능을 이용해보셨을겁니다. 블로그 운영의 꽃이라 할 수 있는 애드센스를 승인받기 위해선 암암리에 떠도는 몇자이상의 텍스트를 포함한 포스팅을 해야한다는 기준이 형성되어 있기 때문이죠. 또한 이력서를 쓰거나 할때도 글자수 제한이 있기 때문에 꼭 블로거 분들이 아니더라도 한번쯤은 사용해보셨을겁니다. 저 또한 블로그에 글을 쓴다거나 이력서를 쓸 때 종종 네이버에 들어가서 글자수 세기 기능을 이용하곤 합니다.

하지만 필요할 때마다 사파리를 켜고 기본 사이트로 설정된 구글에서 네이버로 이동 후 네이버에서 ''글자수 세기'' 로 검색한 후 작성한 내용을 붙여넣기까지 과정이 너무 많고 작업을 하다보면 사파리엔 이미 여러개의 탭이 띄워져 있을 때가 많습니다.

요즘 사용하고 있는 에디터 Typora 에서도 기본적으로 글자수를 카운팅해주지만 공백이 포함된 전체 글자 수만 카운팅 해주므로 가장 중요한 공백을 제외한 글자수 기능이 조금 아쉽습니다.

그런 저런 이유로 인터넷을 안키고도 글자수를 셀 수 있는 프로그램을 만들어보기로 했습니다. 어짜피 작성된 글의 전체 길이를 구해서 제외할 문자들만 걸러주면 되는것이기 때문에 간단해보였죠. 그러나 한가지 잊고있던것이 있었으니 그동안 너무 쉬었더니 머리가 텅~하고 자바 기본 문법도 헷갈리고 오랫만에 GUI를 쓸려니 막막해집니다.

제작 과정

<설계 및 구현>

  • 공백을 제외한 글자 수를 카운팅 할 수 있어야 한다.
  • 콘솔을 이용하는 형태가 아닌 GUI를 이용한다.
  • 내용을 붙여넣으면 다른 동작 필요없이 글자수가 카운팅 되어야한다.
  • 내용이 수정되면 실시간으로 글자수가 카운팅 되어야 한다.

<테스트 후 아쉬운점>

  • 실수로 붙여넣기가 두번되거나 실수로 내용을 지운 경우 되돌리기가 불가능합니다. (cmd+z 같은 시스템 단축키가 안먹힘)
  • 내용을 붙여넣었을 때 문장의 길이에 따라 입력필드의 가로 스크롤이 한없이 길어집니다.
  • 프로그램이 켜지고 종료될 때 약간의 딜레이가 있습니다.

<개선>

  • 시스템 단축키를 이용한 Undo(cmd+z) & Redo(cmd+shift+z) 기능 추가.
  • 입력필드의 가로 스크롤을 없애고 창 크기가 늘어나거나 줄어들면 텍스트가 자동 정렬되어 보여지도록 개선.

dasom_wc_demo.gif

평가

기능만 생각하면 굉장히 간단할것이라 생각했는데 설계하고 구현하고 테스트하고 일부 기능 개선까지 제법 시간이 걸려서 겨우 만들었네요... 역시 프로그램 만들어보는 것도 꾸준히 해야할 것 같습니다. 귀찮음을 줄이기 위해 더욱 귀찮은 짓을 한 것 같지만 혼자 그럭저럭 쓰기에 괜찮게 만들어 진것 같습니다.

네이버의 것과 비교했을때도 동일한 수치로 카운팅이 되는 것을 보니 이젠 더 이상 글자수를 세기 위해 인터넷을 켜서 찾아 들어가지 않아도 될 것 같습니다. 간단한 프로그램이고 혹시나 찾아보면 더 가볍고 괜찮게 제작된 프로그램이 있을수도 있겠지만 프로그래밍 공부를 시작했던 이유 중 하나인 필요한 프로그램을 직접 만들어서 써본다는 것에 의미를 두며 이번 포스팅을 마칩니다.

dosom_wc_image.png

댓글 0

티스토리 툴바