ConveyThis 기술 소개: 웹사이트 크롤러 구축

5분 안에 웹사이트를 다국어로 만드세요
Conveythis 데모
Conveythis 데모
My Khanh Pham

My Khanh Pham

사용자 경험 개선: ConveyThis, URL 관리 도입

수많은 ConveyThis 후원자는 모든 웹사이트의 URL이 적절하게 번역되는 것을 선호합니다. 이는 특히 광범위한 사이트가 여러 언어로 번역되는 경우 까다로운 작업이 될 수 있습니다.

사용자 피드백에 따르면 일부 클라이언트는 초기 웹 사이트 번역 프로젝트의 시작이 다소 어리둥절하다고 생각했습니다. 번역 목록에서 홈페이지 URL만 볼 수 있는 이유와 콘텐츠 번역을 만드는 방법에 대해 자주 질문했습니다.

이것은 향상을 위한 잠재적인 영역을 나타냅니다. 우리는 보다 원활한 온보딩 프로세스와 보다 효율적인 프로젝트 관리를 촉진할 수 있는 기회를 보았습니다. 그러나 그 당시에는 구체적인 해결책이 없었습니다.

예상하셨겠지만 그 결과 URL 관리 기능이 도입되었습니다. 이를 통해 사용자는 ConveyThis 대시보드를 통해 웹 사이트의 URL을 스캔하고 번역된 콘텐츠를 신속하고 효과적으로 생성할 수 있습니다.

최근에 이 기능은 번역 목록에서 새롭고 적응력이 뛰어나며 강력한 URL 기반 번역 관리 페이지로 이전되었습니다. 이제 이 기능의 시작 뒤에 숨겨진 이야기를 밝힐 때라고 생각합니다.

921

Golang 수용: 향상된 번역 서비스를 향한 ConveyThis의 여정

922

전염병으로 인한 2020년 봉쇄의 시작은 시간 제약으로 인해 제외되었던 프로그래밍 언어 Golang을 마침내 배울 기회를 제공했습니다.

Google에서 개발한 Golang 또는 Go는 최근 몇 년 동안 인기를 얻고 있습니다. 정적으로 컴파일된 프로그래밍 언어인 Golang은 개발자가 효율적이고 안정적이며 동시 코드를 작성할 수 있도록 설계되었습니다. 그 단순성은 속도를 희생하지 않고 광범위하고 복잡한 프로그램의 작성 및 유지를 지원합니다.

Golang에 익숙해지기 위한 잠재적인 사이드 프로젝트를 숙고하던 중 웹 크롤러가 떠올랐습니다. 언급된 기준을 충족했으며 잠재적으로 ConveyThis 사용자를 위한 솔루션을 제공했습니다. 웹 크롤러 또는 '봇'은 데이터를 추출하기 위해 웹 사이트를 방문하는 프로그램입니다.

ConveyThis의 목표는 사용자가 자신의 사이트를 스캔하고 모든 URL을 검색할 수 있는 도구를 개발하는 것이었습니다. 또한 번역 생성 프로세스를 간소화하고 싶었습니다. 현재 사용자는 웹 사이트를 생성하기 위해 번역된 언어로 웹사이트를 방문해야 하며 대규모 다국어 사이트에서는 이러한 작업이 어려워지고 있습니다.

초기 프로토타입은 간단했지만(URL을 입력으로 받아 사이트 크롤링을 시작하는 프로그램) 빠르고 효과적이었습니다. ConveyThis의 CTO인 Alex는 이 솔루션의 잠재력을 확인하고 개념을 구체화하고 향후 프로덕션 서비스를 호스팅하는 방법을 고려하기 위한 연구 개발을 진행했습니다.

Go 및 ConveyThis로 서버리스 트렌드 탐색

웹 크롤러 봇을 완성하는 과정에서 우리는 서로 다른 CMS 및 통합의 미묘한 차이와 씨름하고 있음을 발견했습니다. 그런 다음 질문이 생겼습니다. 어떻게 하면 사용자에게 봇을 가장 잘 보여줄 수 있을까요?

처음에는 웹 서버 인터페이스와 함께 AWS를 사용하는 검증된 접근 방식을 고려했습니다. 그러나 몇 가지 잠재적인 문제가 나타났습니다. 서버 부하, 여러 사용자의 동시 사용, Go 프로그램 호스팅 경험 부족에 대한 불확실성이 있었습니다.

이로 인해 우리는 서버리스 호스팅 시나리오를 고려하게 되었습니다. 이것은 공급자에 의한 인프라 관리 및 고유한 확장성과 같은 이점을 제공하여 ConveyThis에 이상적인 솔루션이 되었습니다. 이는 각 요청이 자체 격리된 컨테이너에서 작동하기 때문에 서버 용량에 대해 걱정할 필요가 없음을 의미했습니다.

그러나 2020년에는 서버리스 컴퓨팅에 5분 제한이 적용되었습니다. 이것은 잠재적으로 수많은 페이지가 있는 대규모 전자 상거래 사이트를 크롤링하는 데 필요할 수 있는 우리 봇에 문제가 있음을 입증했습니다. 다행스럽게도 2020년 초에 AWS는 제한을 15분으로 연장했지만 이 기능을 활성화하는 것은 어려운 작업으로 판명되었습니다. 결국 AWS 메시지 대기열 서비스인 SQS로 서버리스 코드를 트리거하여 솔루션을 찾았습니다.

923

ConveyThis와 대화형 실시간 봇 통신으로의 여정

924

호스팅 딜레마를 해결하면서 극복해야 할 또 다른 장애물이 생겼습니다. 이제 효율적이고 확장 가능한 방식으로 호스팅되는 기능적인 봇이 생겼습니다. 남은 작업은 봇이 생성한 데이터를 사용자에게 전달하는 것이었습니다.

최대한의 상호 작용을 목표로 봇과 ConveyThis 대시보드 간의 실시간 통신을 결정했습니다. 이러한 기능에 대한 실시간 요구 사항은 아니지만 봇이 작동하기 시작하자마자 사용자가 즉각적인 피드백을 받기를 원했습니다.

이를 달성하기 위해 AWS EC2 인스턴스에서 호스팅되는 간단한 Node.js 웹소켓 서버를 개발했습니다. 이를 위해서는 websocket 서버와의 통신 및 배포 자동화를 위해 봇에 약간의 조정이 필요했습니다. 철저한 테스트를 거친 후 프로덕션으로 전환할 준비가 되었습니다.

사이드 프로젝트로 시작한 것은 결국 대시보드에서 제자리를 찾았습니다. 도전을 통해 Go에 대한 지식을 얻었고 AWS 환경에서 기술을 연마했습니다. 저는 Go가 차지하는 메모리 사용량이 적기 때문에 네트워킹 작업, 협력 프로그래밍 및 서버리스 컴퓨팅에 특히 유용하다는 것을 알았습니다.

봇이 새로운 기회를 제공하므로 향후 계획이 있습니다. 더 나은 효율성을 위해 단어 수 도구를 다시 작성하고 잠재적으로 캐시 워밍에 사용할 수 있습니다. ConveyThis의 기술 세계를 공유하는 것이 즐거웠던 만큼 여러분도 즐겁게 ConveyThis의 기술 세계를 엿볼 수 있기를 바랍니다.

시작할 준비가 되셨습니까?

번역은 단순히 언어를 아는 것 이상으로 복잡한 과정입니다.

팁을 따르고 ConveyThis를 사용하면 번역된 페이지가 대상 언어에 고유한 느낌을 주며 청중의 공감을 얻을 것입니다.

노력이 필요하지만 그 결과는 보람이 있습니다. 웹 사이트를 번역하는 경우 ConveyThis는 자동 기계 번역으로 시간을 절약할 수 있습니다.

ConveyThis를 7일 동안 무료로 사용해 보세요!

그라데이션 2