8월 24일 (토)

요즘 일상

Posted by Yan on August 24, 2024

8/9 토스뱅크의 테크밋업 Tech.nic에 가다.

토스는 내가 대학생때부터 송금 앱으로 사용하던 서비스이다. 나 또한 토스뱅크의 고객이기도 하고, 토스의 다양한 서비스들은 지금까지 매일 수차례 사용하는 서비스다. 편리하고 간단명료하고 매력적이다. 몇 년간 팬의 마음으로 SLASH 영상들을 챙겨보았다. 좋았던 주제를 가끔 다시보기도 하다가, Tech.nic 테크밋업에 가게 되었다! 열정적인 분위기도 좋았고, 이런 곳에서 일해보고 싶다는 생각이 많이 든 시간이었다.

요즘 내가 하고 싶어서 한 일, 🌈메타 용어 검색 도구 개발

메타 검색 도구의 필요성을 느끼게 된 이유

최근 다국어를 지원하는 웹 애플리케이션을 개발하면서 메타 용어 검색 솔루션이 없는 프로젝트에서 중요한 문제를 경험했다. 한글과 영어 두 가지 언어를 지원하는 이 프로젝트는 사용자 설정에 따라 화면에 표시되는 언어를 다국어 테이블에 저장된 라벨 값에 따라 선택하도록 구현되었다. 그러나 화면에서 사용하는 용어나 에러 메시지와 관련된 다국어 데이터가 1만 건 이상 등록되면서, 개발자들이 개별적으로 용어를 번역하고 등록하는 과정에서 일관성 문제가 발생했다.

이로 인해 동일한 단어가 다르게 번역된 채 등록되어 비슷한 용어 간의 불일치가 빈번하게 일어났고, 이는 전체 프로젝트의 일관성을 저해하는 원인이 되었다. 업무 용어가 통일되지 않다 보니, 추후 어떤 용어가 올바른 것인지 식별하기 어려워지고, 잘못된 용어를 사용하는 경우 삭제하거나 수정하기도 어려운 상황이 발생했다. 결과적으로 이러한 혼란은 생산성 저하로 이어졌다.

용어의 파편화가 발생한 이유

사실, 용어 통일을 위한 노력을 전혀 기울이지 않은 것은 아니었다. 화면 개발 초기 단계에서 주요 업무 용어를 영어로 번역하여 정리한 엑셀 파일(일명 ‘딕셔너리’)을 제작했다. 이 엑셀 파일에 있는 모든 용어를 다국어 테이블에 추가했지만, 여전히 같은 단어가 다르게 등록되는 현상이 발생했다.

그 이유는 이미 다국어 테이블에 기존의 화면 개발과 UI에서 사용 중인 수천 개의 기본 단어가 등록되어 있었고, 데이터 품질을 고려하여 초기에 이 데이터를 정제하지 않았기 때문이다. 따라서, 정제되지 않은 상태에서 엑셀에 있는 단어들을 대량으로 삽입하게 되어 다국어 테이블 내 데이터가 혼재되는 상황이 발생했다. 더불어, 엑셀 파일 자체도 검색 기능이 불편하여 개발자들이 점점 사용하지 않게 되면서, 각자의 편의에 따라 다국어 테이블에 용어를 등록하게 되었고, 이로 인해 데이터의 질이 점점 더 나빠지게 되었다.

메타 용어 검색 도구의 개발 및 효과

이러한 문제를 해결하기 위해, 표준화된 업무 용어를 보다 효과적으로 사용할 수 있는 방법을 모색했다. 이를 위해, 데이터를 쉽고 빠르게 검색하고 조회할 수 있는 시스템이 필요하다고 판단했다. 빠르게 개발하고 배포할 수 있는 도구를 찾던 중, 파이썬 기반의 Streamlit 라이브러리를 발견하게 되었다. Streamlit은 설치에서 배포까지 매우 간단하고 빠르게 진행할 수 있는 도구로, 단 3시간 만에 검색 페이지를 완성하고 Streamlit cloud로 배포할 수 있었다. 이후, 이 도구를 팀원들과 공유하여 바로 활용할 수 있도록 했다.

아주 심플한 단어장 조회 서비스다. KFTC meta dictionary라고 이름을 지었다. 금융결제원에서 사용하는 용어를 단어장에서 조회하듯 검색할 수 있기 때문이다.

부분적으로 일치하는 단어를 리스트로 조회할 수 있고, 필요한 경우(문서작성할 때는 다건 검색이 필요하다) 다건으로 검색을 할 수 있도록 하였다. 그리고 여러 업무별 용어가 조금씩 다른 것을 고려하여, 업무별 조건 검색도 넣었다. 그리고 완전 일치하는 단어가 나올 경우, 하이라이팅 하여 바로 눈에 띄게 하였다.

이 메타 용어 검색 도구는 개발자들이 표준화된 용어를 쉽게 검색하고 사용할 수 있게 함으로써, 용어의 일관성을 유지하고 데이터의 품질을 향상시키는 데 아주 조금이라도 기여할 수 있었으면 좋겠다. 메타가 이렇게나 중요한 도구라는 것을 깊이 느낀 프로젝트였다.