처음 시작은 google vision api 로 이미지를 인식하여 텍스트로 변환하는 방법을 시도했었다.
그러나 이미지의 텍스트를 100% 정확하게 인식하지 못했고 100개중 1개정도의 인식실패 패턴이 생겼다.
그 1프로를 해결하기 위해 많은 시간을 투자했지만 해결책을 얻지못했고 크롤링으로 방법을 바꾸어 보았다.
golang 의 goquery 패키지 외에도 크롤링을 할 수 있는 패키지는 더 있었지만 goquery 의 예제가 더 깔끔해보였다.
goquery 로 크롤링하여 문자열을 바이너리로 바이너리를 자료형으로 리플렉션하는데까지 그리 오랜시간이 걸리지 않았을정도로 간단했다.(참고로 난 golang 완전 초보자)
가장 많은 시간이 소요된 부분은 역시 gui 였다. golang으로 gui를 렌더링 할 수 있는 패키지를 찾다보니 2가지로 압축되었다.
fyne.io 과 lxn.walk 이었다. 이 두가지의 차이점은 플랫폼이라고 생각된다.
lxn 은 완전히 윈도우기반 윈폼 gui를 표현할 수 있고 많은 기능을 지원해주는 것 같았다.
fyne 은 맥 윈도우 리눅스 모든 플랫폼 빌드가 가능하고 UI가 굉장히 세련되었다. 일단 내 개발환경은 맥이기때문에 고민없이 fyne를 선택했다.
fyne 패키지가 익숙해지기까지 약 1~2주 걸린것 같고 여전히 아직 모르는게 많은것 같다. 하지만 목적이 GUI 가 아니고 단순히 출력과
이벤트만 받으면 되기때문에 빨리빨리 넘어갔다.
맥용으로 빌드도 해보고 실행 아이콘까지도 쉽게 설정이 가능한 부분이 매력있게 느껴졌다.
UI 기능도 만족스러웠기때문에 golang 문법이 아직 취약한 나에게 많은 도움이 된 것 같다.
앞으로 몇가지 기능을 더 추가할 예정이다.