Внутри ConveyThis Технологии: создание нашего веб-сканера

Взгляните за кулисы разработки ConveyThis'' веб-сканера, ключевого технического компонента для эффективного управления веб-сайтом.
Без банковской карты Никаких обязательств

· Обновлено · Alex B · Блог

Подведите итог этому посту следующим образом: 5 мин чтения

Улучшение пользовательского опыта: ConveyThis Внедряет управление URL-адресами

Business 1

Многие ConveyThis посетители предпочитают, чтобы все URL-адреса их веб-сайтов были правильно переведены, что может оказаться сложной задачей, особенно для обширных сайтов, переведенных на несколько языков.

Отзывы пользователей показали, что некоторые клиенты обнаружили начало своего первоначального перевод сайта проекты несколько сбивают с толку. Они часто задавались вопросом, почему в списке переводов они могут просматривать только URL-адрес домашней страницы и как создавать переводы своего контента.

Это указывает на потенциальную область для улучшения. Мы увидели возможность облегчить процесс адаптации и повысить эффективность управления проектами. Однако на тот момент у нас не было конкретного решения.

Результатом, как вы могли догадаться, стало внедрение функции управления URL-адресами. Он позволяет пользователям быстро и эффективно сканировать URL-адреса своих веб-сайтов и генерировать переведенный контент с помощью панели управления ConveyThis.

Недавно эта функция была перенесена из списка Перевод на новую, более адаптируемую и мощную страницу управления переводами на основе URL-адресов. Теперь мы считаем, что пришло время раскрыть историю создания этой функции.

Использование Golang: ConveyThis’ Путь к улучшенным Перевод услугам

Office

Начало карантина 2020 года из-за пандемии дало мне возможность наконец выучить язык программирования Golang, который был отложен из-за нехватки времени.

Разработанный Google, Golang или Go в последние годы набирает популярность. Golang — статически компилируемый язык программирования, разработанный для того, чтобы разработчики могли создавать эффективный, надежный и параллельный код. Его простота позволяет писать и поддерживать обширные и сложные программы без ущерба для скорости.

При обдумывании потенциального стороннего проекта по ознакомлению с Golang мне на ум пришел веб-сканер. Он соответствовал указанным критериям и потенциально предлагал решение для ConveyThis пользователей. Веб-сканер или ‘бот’ — это программа, которая посещает веб-сайт для извлечения данных.

Для ConveyThis нашей целью было разработать инструмент, позволяющий пользователям сканировать свой сайт и извлекать все URL-адреса. Кроме того, мы хотели упростить процесс создания переводов. В настоящее время для их создания пользователям необходимо посещать свой веб-сайт на переведенном языке, что становится сложной задачей для крупных многоязычных сайтов.

Хотя первоначальный прототип был простым – программа, которая принимает URL-адрес в качестве входных данных и начинает сканирование сайта – он был быстрым и эффективным. Алекс, ConveyThis’ технический директор, увидел потенциал этого решения и дал добро на исследования и разработки с целью доработки концепции и обдумывания того, как разместить будущую производственную услугу.

Easy install

В процессе завершения разработки бота веб-сканера мы столкнулись с нюансами различных CMS и интеграций. Тогда возник вопрос – как лучше всего представить бота нашим пользователям?

Первоначально мы рассмотрели проверенный подход использования AWS с интерфейсом веб-сервера. Однако возникло несколько потенциальных проблем. У нас была неопределенность относительно нагрузки на сервер, одновременного использования несколькими пользователями и отсутствия опыта хостинга программ Go.

Это побудило нас рассмотреть сценарий бессерверного хостинга. Это обеспечило такие преимущества, как управление инфраструктурой со стороны поставщика и присущая ему масштабируемость, что сделало его идеальным решением для ConveyThis. Это означало, что нам не нужно было беспокоиться о емкости сервера, поскольку каждый запрос будет работать в своем изолированном контейнере.

Однако еще в 2020 году бессерверные вычисления имели ограничение в 5 минут. Это оказалось проблемой для нашего бота, которому потенциально могло потребоваться сканировать большие сайты электронной коммерции с многочисленными страницами. К счастью, в начале 2020 года AWS увеличила лимит до 15 минут, хотя включение этой функции оказалось сложной задачей. В конце концов мы нашли решение, запустив бессерверный код с помощью SQS – службы очереди сообщений AWS.

Путешествие к интерактивному общению с ботами в реальном времени с ConveyThis

Translation service

Когда мы решили дилемму хостинга, нам пришлось преодолеть еще одно препятствие. Теперь у нас был функциональный бот, размещенный эффективным и масштабируемым образом. Оставшаяся задача заключалась в передаче данных, сгенерированных ботом, нашим пользователям.

Стремясь к максимальной интерактивности, я решил обеспечить связь в режиме реального времени между ботом и панелью управления ConveyThis. Хотя для такой функции не требуется работа в режиме реального времени, я хотел, чтобы наши пользователи получали немедленную обратную связь, как только бот начнет работать.

Для этого мы разработали простой сервер веб-сокетов Node.js, размещенный на экземпляре AWS EC2. Это потребовало некоторых настроек бота для связи с сервером веб-сокетов и автоматизации развертывания. После тщательного тестирования мы были готовы перейти к производству.

То, что начиналось как сторонний проект, в конечном итоге нашло свое место на панели управления. Пройдя испытания, я приобрел знания в Go и отточил свои навыки работы в среде AWS. Я обнаружил, что Go особенно полезен для сетевых задач, кооперативного программирования и бессерверных вычислений, учитывая его малый объем памяти.

У нас есть планы на будущее, поскольку бот открывает новые возможности. Мы стремимся переписать наш инструмент подсчета слов для повышения эффективности и потенциально использовать его для разогрева кэша. Надеюсь, вам понравился этот краткий обзор мира технологий ConveyThis’ так же, как мне понравилось им делиться.

Связанный: Добавление Google Translate на ваш сайт WordPress

Поделиться:
G2 High Performer Spring 2023
G2 Easiest Setup Fall 2024
G2 Best Support Spring 2025