ConveyThis 내부 기술: 웹사이트 크롤러 구축

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

My Khanh Pham

사용자 경험 개선: ConveyThis URL 관리 소개

많은 ConveyThis 고객은 웹사이트의 모든 URL이 올바르게 번역되는 것을 선호하지만 이는 까다로울 수 있습니다. 특히 여러 언어로 번역된 광범위한 사이트의 경우 더욱 그렇습니다.

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

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

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

최근에 이 기능은 번역 목록에서 새롭고 적응력이 뛰어나며 강력한 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를 7일 동안 무료로 사용해 보세요!

그라데이션 2