번역 대상 원본 파일을 플랫폼 내부에서 처리할 수 있는 형태로 변환하는 도메인 개발

영상, 문서, 웹툰, 스트리밍 등 번역 대상물에 따라 파일의 형태가 다르고 그에 따라 전처리 방법이 다르므로 이를 효율적으로 관리할 수 있는 도메인을 설계하였습니다

먼저 도메인의 역할을 전처리 가능 여부 확인, 하위 전처리 도메인 호출, 전처리 결과물 처리 단 계로 추상화하였고 각 전처리 기능의 코드 응집성을 높이기 위하여 상위 도메인에서는 적합한 하 위 전처리 도메인에 대한 맵핑과 전처리 서브 도메인을 호출할 수 있는 인터페이스만을 갖고 구 체적인 logic, failover의 구현은 서브 도메인이 책임지도록 하였습니다. (영상 전처리의 경우 영상의 길이, fps등의 기본 정보 추출과 VAD, 원문 자막 추출 등의 전처리를, 웹툰 전처리의 경 우 PSD파일을 PNG파일로 변환하고 사내 AI API를 통해 OCR 처리를 하는 등) 위 구조를 통하여 서브 도메인의 구현과 서브 도메인의 맵핑 책임을 분리하였고 지원하는 전처리 개수가 늘어나더라도 도메인을 단순하게 유지할 수 있도록 의도하였습니다

레거시 번역 에디터의 여러 문제점을 개선한 차세대 번역 에디터 도메인 설계

기존 에디터의 형태는 에디터 타입에 에디터 상에서 표현되는 요소(번역 대상, 원문, 번역문 등)

들의 조합과 납품을 위한 후처리 로직이 강하게 결합되어있어 에디터의 수정이 어렵고 끊임없이

새로운 에디터가 추가되어야 하는 상황에 대응하기 점점 힘들어지는 문제가 있었습니다. 이를 해

결하기 위하여 먼저 에디터의 요소를 각각 분리하여 재사용이 가능하도록 하였고 에디터가 에디

터 요소에 필요로 하는 추가, 삭제, 병합, 분할, 후처리 등의 기능을 추상화, 구현을 각 에디터 개

체에 위임하여 에디터 개체에 대한 추가 변경 작업이 간단해지도록 설계하였습니다

에디터 개체의 라이프사이클 부분에서는 git에서 영감을 받아 한 에디터 개체가 원본에서부터 수

정되는 모든 과정을 linked-list 처럼 가짐으로서 이력 추적, 롤백, 브랜칭 등이 가능한 구조로

설계하였고 프로토타입 개발 이후 원문 변경 이력 추적 등의 기능을 추가하는데 큰 어려움을 겪

지 않을 수 있었습니다