Inside ConveyThis Tech: Pagbuo ng Aming Website Crawler

Gawing Multilingual ang Iyong Website sa loob ng 5 Minuto
Ihatid ang demo na ito
Ihatid ang demo na ito
My Khanh Pham

My Khanh Pham

Pagpapahusay sa Karanasan ng User: Ipinakikilala ng ConveyThis ang Pamamahala ng URL

Mas gusto ng maraming ConveyThis na mga parokyano na isalin nang maayos ang lahat ng URL ng kanilang website, na maaaring isang mahirap na gawain, lalo na para sa mga malalawak na site na isinalin sa maraming wika.

Ang feedback ng user ay nagpakita na nakita ng ilang kliyente na medyo nakakalito ang pagsisimula ng kanilang mga unang proyekto sa pagsasalin ng website. Madalas nilang kinuwestiyon kung bakit ang URL ng homepage lamang ang makikita nila sa listahan ng pagsasalin, at kung paano gumawa ng mga pagsasalin ng kanilang nilalaman.

Nagpahiwatig ito ng isang potensyal na lugar para sa pagpapahusay. Nakakita kami ng pagkakataon na mapadali ang mas maayos na proseso ng onboarding at mas mahusay na pamamahala ng proyekto. Gayunpaman, kulang kami ng konkretong solusyon sa sandaling iyon.

Ang resulta, tulad ng naisip mo, ay ang pagpapakilala ng tampok na Pamamahala ng URL. Nagbibigay-daan ito sa mga user na i-scan ang mga URL ng kanilang website at bumuo ng kanilang isinalin na nilalaman sa pamamagitan ng ConveyThis Dashboard, nang mabilis at epektibo.

Kamakailan, ang tampok na ito ay inilipat mula sa Listahan ng Pagsasalin sa isang bago, mas madaling ibagay at makapangyarihang pahina ng pamamahala ng pagsasalin na nakabatay sa URL. Ngayon, naniniwala kami na oras na para ibunyag ang kuwento sa likod ng pagsisimula ng feature na ito.

921

Pagyakap sa Golang: ConveyThis' Journey Towards Enhanced Translation Services

922

Ang pagsisimula ng 2020 lockdown dahil sa pandemya ay nag-alok sa akin ng pagkakataong matutunan sa wakas ang programming language na Golang na na-sideline dahil sa mga hadlang sa oras.

Binuo ng Google, ang Golang o Go ay nagiging popular sa mga nakaraang taon. Isang statically compiled na programming language, ang Golang ay idinisenyo upang paganahin ang mga developer na gumawa ng mahusay, maaasahan, at kasabay na code. Sinusuportahan ng pagiging simple nito ang pagsulat at pagpapanatili ng malawak at kumplikadong mga programa nang hindi sinasakripisyo ang bilis.

Sa pag-iisip ng isang potensyal na side project upang maging pamilyar sa Golang, isang web crawler ang pumasok sa isip ko. Natugunan nito ang pamantayang nabanggit at posibleng nag-alok ng solusyon para sa mga gumagamit ng ConveyThis. Ang web crawler o 'bot' ay isang program na bumibisita sa isang website upang kumuha ng data.

Para sa ConveyThis, ang aming layunin ay bumuo ng isang tool para sa mga user upang mai-scan ang kanilang site at makuha ang lahat ng mga URL. Bukod pa rito, gusto naming i-streamline ang proseso ng pagbuo ng mga pagsasalin. Sa kasalukuyan, dapat bisitahin ng mga user ang kanilang website sa isang isinaling wika upang mabuo ang mga ito, isang gawain na nagiging nakakatakot para sa malalaking, maraming wika na mga site.

Bagama't ang paunang prototype ay diretso - isang program na kumukuha ng isang URL bilang input at nagsimulang i-crawl ang site - ito ay mabilis at epektibo. Nakita ni Alex, ConveyThis' CTO, ang potensyal ng solusyong ito at nagbigay ng go-ahead para sa pananaliksik at pagpapaunlad upang pinuhin ang konsepto at pag-isipan kung paano i-host ang hinaharap na serbisyo sa produksyon.

Pag-navigate sa Serverless Trend gamit ang Go at ConveyThis

Sa proseso ng pag-finalize sa web crawler bot, nakita namin ang aming sarili na nakikipagbuno sa mga nuances ng iba't ibang CMS at integration. Ang tanong ay lumitaw pagkatapos - paano namin pinakamahusay na maipakita sa aming mga gumagamit ang bot?

Sa una, isinasaalang-alang namin ang sinubukan at nasubok na diskarte ng paggamit ng AWS na may interface ng web server. Gayunpaman, maraming mga potensyal na isyu ang lumitaw. Nagkaroon kami ng kawalan ng katiyakan tungkol sa pag-load ng server, ang sabay-sabay na paggamit ng maraming user, at ang aming kakulangan ng karanasan sa pagho-host ng programa ng Go.

Ito ay humantong sa amin na isaalang-alang ang isang walang server na senaryo sa pagho-host. Nag-aalok ito ng mga benepisyo tulad ng pamamahala sa imprastraktura ng provider at likas na scalability, na ginagawa itong perpektong solusyon para sa ConveyThis. Nangangahulugan ito na hindi namin kailangang mag-alala tungkol sa kapasidad ng server dahil ang bawat kahilingan ay gagana sa sarili nitong nakahiwalay na lalagyan.

Gayunpaman, noong 2020, may kasamang 5 minutong limitasyon ang serverless computing. Pinatunayan nito ang isang problema para sa aming bot na maaaring kailanganin upang i-crawl ang malalaking e-commerce na site na may maraming pahina. Sa kabutihang palad, noong unang bahagi ng 2020, pinalawig ng AWS ang limitasyon sa 15 minuto, bagama't ang pagpapagana sa feature na ito ay napatunayang isang mapaghamong gawain. Sa kalaunan, natagpuan namin ang solusyon sa pamamagitan ng pag-trigger ng serverless code na may SQS - ang serbisyo sa pagpila ng mensahe ng AWS.

923

Ang Paglalakbay sa Interactive Real-Time Bot Communications kasama ang ConveyThis

924

Habang nalutas namin ang problema sa pagho-host, mayroon kaming isa pang hadlang na dapat lampasan. Mayroon na kaming functional na bot, na naka-host sa isang mahusay, nasusukat na paraan. Ang natitirang gawain ay ihatid ang data na binuo ng bot sa aming mga user.

Naglalayon para sa maximum na interaktibidad, nagpasya ako sa real-time na komunikasyon sa pagitan ng bot at ng ConveyThis dashboard. Bagama't hindi kinakailangan ang real-time para sa naturang feature, gusto kong makakuha ang aming mga user ng agarang feedback sa sandaling magsimulang gumana ang bot.

Upang makamit ito, bumuo kami ng isang simpleng Node.js websocket server, na naka-host sa isang AWS EC2 instance. Nangangailangan ito ng ilang pag-aayos sa bot para sa pakikipag-ugnayan sa websocket server at pag-automate ng deployment. Pagkatapos ng masusing pagsubok, handa na kaming lumipat sa produksyon.

Ang nagsimula bilang isang side project sa huli ay natagpuan ang lugar nito sa dashboard. Sa pamamagitan ng mga hamon, nakakuha ako ng kaalaman sa Go at hinasa ang aking mga kasanayan sa kapaligiran ng AWS. Nakita kong partikular na kapaki-pakinabang ang Go para sa mga gawain sa networking, cooperative programming, at serverless computing, dahil sa mababang memory footprint nito.

Mayroon kaming mga plano sa hinaharap dahil ang bot ay nagdadala ng mga bagong pagkakataon. Nilalayon naming muling isulat ang aming tool sa pagbilang ng salita para sa mas mahusay na kahusayan, at posibleng gamitin ito para sa pag-init ng cache. Sana ay nagustuhan mo ang sneak peek na ito sa tech na mundo ng ConveyThis gaya ng nasiyahan ako sa pagbabahagi nito.

Handa nang magsimula?

Ang pagsasalin, higit pa sa pag-alam sa mga wika, ay isang masalimuot na proseso.

Sa pamamagitan ng pagsunod sa aming mga tip at paggamit ng ConveyThis , ang iyong mga isinalin na pahina ay makikinig sa iyong madla, na nararamdamang katutubong sa target na wika.

Habang nangangailangan ito ng pagsisikap, ang resulta ay kapakipakinabang. Kung nagsasalin ka ng isang website, ang ConveyThis ay makakapagtipid sa iyo ng mga oras gamit ang automated machine translation.

Subukan ang ConveyThis nang libre sa loob ng 7 araw!

gradient 2