ConveyThis Tech の内部: Web サイト クローラーの構築

5 分でウェブサイトを多言語化
このデモを伝える
このデモを伝える
My Khanh Pham

My Khanh Pham

ユーザー エクスペリエンスの向上: ConveyThis による URL 管理の導入

ConveyThis の利用者の多くは、Web サイトのすべての URL を適切に翻訳することを好みますが、特に複数の言語に翻訳された大規模なサイトの場合、これは困難な作業になる可能性があります。

ユーザーからのフィードバックによると、一部のクライアントは最初の Web サイト翻訳プロジェクトの開始に多少戸惑ったと感じています。彼らは、なぜ翻訳リストではホームページの URL しか表示できないのか、またコンテンツの翻訳をどのように作成するのかという疑問をよく抱いていました。

これは、強化の余地がある領域を示しています。私たちは、よりスムーズなオンボーディング プロセスとより効率的なプロジェクト管理を促進する機会があると考えました。しかし、その時点では具体的な解決策がありませんでした。

その結果、ご想像のとおり、URL 管理機能が導入されました。これにより、ユーザーは Web サイトの URL をスキャンし、 ConveyThisダッシュボードを介して翻訳されたコンテンツを迅速かつ効果的に生成できるようになります。

最近、この機能は翻訳リストから、より適応性があり強力な新しい URL ベースの翻訳管理ページに移動されました。今こそ、この機能の誕生の背後にあるストーリーを明らかにする時が来たと考えています。

921

Golang の採用: 翻訳サービスの強化に向けた ConveyThis の旅

922

2020年にパンデミックによるロックダウンが始まったことで、時間の制約で遠ざかっていたプログラミング言語Golangをついに学ぶ機会が与えられた。

Google によって開発された Golang または Go は、近年人気が高まっています。静的にコンパイルされるプログラミング言語である Golang は、開発者が効率的で信頼性の高い同時実行コードを作成できるように設計されています。そのシンプルさにより、速度を犠牲にすることなく、大規模で複雑なプログラムの作成と保守がサポートされます。

Golang に慣れるためのサイド プロジェクトの可能性について考えているときに、Web クローラーが頭に浮かびました。これは前述の基準を満たしており、ConveyThis ユーザーにソリューションを提供する可能性がありました。 Web クローラーまたは「ボット」は、Web サイトにアクセスしてデータを抽出するプログラムです。

ConveyThis の場合、私たちの目標は、ユーザーがサイトをスキャンしてすべての URL を取得できるツールを開発することでした。さらに、翻訳を生成するプロセスを合理化したいと考えていました。現在、ユーザーは翻訳言語で Web サイトにアクセスして言語を生成する必要がありますが、大規模な多言語サイトではこの作業が困難になります。

最初のプロトタイプは単純なものでしたが、入力として URL を受け取り、サイトのクロールを開始するプログラムでしたが、それは迅速かつ効果的でした。 ConveyThis の CTO である Alex は、このソリューションの可能性を認識し、コンセプトを改良し、将来の実稼働サービスをホストする方法を検討するための研究開発にゴーサインを出しました。

Go と ConveyThis でサーバーレス トレンドをナビゲートする

Web クローラー ボットを完成させる過程で、私たちはさまざまな CMS と統合の微妙な違いに取り組んでいることに気づきました。そこで疑問が生じました。ユーザーにボットを最適に提示するにはどうすればよいでしょうか?

当初、私たちは Web サーバー インターフェイスで AWS を使用するという実証済みのアプローチを検討しました。ただし、いくつかの潜在的な問題が浮上しました。私たちは、サーバーの負荷、複数のユーザーによる同時使用、および Go プログラムのホスティングの経験の不足について不確実性を抱えていました。

これにより、サーバーレス ホスティング シナリオを検討するようになりました。これにより、プロバイダーによるインフラストラクチャ管理や固有のスケーラビリティなどの利点が得られ、ConveyThis にとって理想的なソリューションとなりました。これは、各リクエストが独自の隔離されたコンテナーで動作するため、サーバーの容量を心配する必要がないことを意味します。

ただし、2020 年当時、サーバーレス コンピューティングには 5 分の制限がありました。これは、多数のページがある大規模な電子商取引サイトをクロールする必要がある可能性があるボットにとって問題であることが判明しました。幸いなことに、AWS は 2020 年の初めにこの制限を 15 分に延長しましたが、この機能を有効にするのは困難な作業であることが判明しました。最終的に、AWS メッセージ キュー サービスである SQS を使用してサーバーレス コードをトリガーすることで解決策を見つけました。

923

ConveyThis によるインタラクティブなリアルタイム ボット通信への旅

924

ホスティングのジレンマを解決する一方で、乗り越えなければならないハードルがまた一つ増えました。これで、効率的かつスケーラブルな方法でホストされた、機能的なボットが完成しました。残りのタスクは、ボットが生成したデータをユーザーに中継することでした。

最大限の双方向性を目指して、ボットと ConveyThis ダッシュボード間のリアルタイム通信を採用することにしました。リアルタイムはこのような機能の要件ではありませんが、ボットが動作し始めたらすぐにユーザーがフィードバックを得ることができるようにしたいと考えました。

これを実現するために、AWS EC2 インスタンスでホストされるシンプルな Node.js WebSocket サーバーを開発しました。これには、WebSocket サーバーとの通信と展開の自動化のためにボットにいくつかの調整が必要でした。徹底的なテストを経て、本番環境に移行する準備が整いました。

サイド プロジェクトとして始まったものが、最終的にダッシュボードにその場所を見つけました。挑戦を通じて、Go の知識を獲得し、AWS 環境でのスキルを磨きました。 Go はメモリ使用量が少ないため、ネットワーク タスク、協調プログラミング、サーバーレス コンピューティングに特に有益であることがわかりました。

ボットが新たな機会をもたらすとして、私たちは将来の計画を立てています。私たちはワードカウントツールを書き直して効率を高め、キャッシュウォーミングに使用できる可能性を目指しています。私がこの ConveyThis のテクノロジーの世界を共有するのを楽しんだのと同じように、皆さんもこの ConveyThis のテクノロジーの世界を楽しんでいただければ幸いです。

始める準備はできましたか?

翻訳は、単に言語を理解するだけではなく、複雑なプロセスです。

私たちのヒントに従ってConveyThis を使用すると、翻訳されたページがターゲット言語のネイティブであると感じられ、視聴者の共感を得るでしょう。

努力は必要ですが、その結果にはやりがいがあります。 Web サイトを翻訳している場合、ConveyThis の自動機械翻訳により時間を節約できます。

ConveyThis を 7 日間無料でお試しください!

グラデーション2