În interiorul tehnologiei ConveyThis: construirea crawler-ului nostru de site

Faceți-vă site-ul web multilingv în 5 minute
Transmite acest demo
Transmite acest demo
My Khanh Pham

My Khanh Pham

Îmbunătățirea experienței utilizatorului: ConveyThis introduce managementul URL

Numeroși patroni ConveyThis preferă ca toate adresele URL ale site-ului lor să fie traduse corect, ceea ce poate fi o sarcină solicitantă, mai ales pentru site-urile expansive traduse în mai multe limbi.

Feedbackul utilizatorilor a arătat că unii clienți au considerat începutul proiectelor inițiale de traducere a site-urilor web oarecum dezorientat. Ei s-au întrebat adesea de ce pot vedea numai adresa URL a paginii de pornire în lista de traduceri și cum să creeze traduceri ale conținutului lor.

Acest lucru a indicat o zonă potențială de îmbunătățire. Am văzut o oportunitate de a facilita un proces de integrare mai ușor și un management de proiect mai eficient. Totuși, ne-a lipsit o soluție concretă în acel moment.

Rezultatul, după cum probabil ați bănuit, a fost introducerea funcției de gestionare a adreselor URL. Acesta permite utilizatorilor să scaneze adresele URL ale site-ului lor web și să genereze conținutul tradus prin intermediul ConveyThis Dashboard, rapid și eficient.

Recent, această funcție a fost mutată din Lista de traduceri într-o pagină nouă, mai adaptabilă și mai puternică de gestionare a traducerilor bazată pe URL. Acum, credem că este timpul să dezvăluim povestea din spatele începutului acestei funcții.

921

Embracing Golang: Călătoria lui ConveyThis către servicii de traducere îmbunătățite

922

Debutul blocării din 2020 din cauza pandemiei mi-a oferit șansa de a învăța în sfârșit limbajul de programare Golang, care a fost exclus din cauza constrângerilor de timp.

Dezvoltat de Google, Golang sau Go a câștigat popularitate în ultimii ani. Un limbaj de programare compilat static, Golang a fost conceput pentru a permite dezvoltatorilor să creeze cod eficient, fiabil și simultan. Simplitatea sa sprijină scrierea și întreținerea de programe extinse și complicate fără a sacrifica viteza.

Gândindu-mă la un potențial proiect secundar pentru a mă familiariza cu Golang, mi-a venit în minte un crawler web. A îndeplinit criteriile menționate și a oferit potențial o soluție pentru utilizatorii ConveyThis. Un web crawler sau „bot” este un program care vizitează un site web pentru a extrage date.

Pentru ConveyThis, scopul nostru a fost să dezvoltăm un instrument pentru ca utilizatorii să-și scaneze site-ul și să recupereze toate adresele URL. În plus, am dorit să simplificăm procesul de generare a traducerilor. În prezent, utilizatorii trebuie să își viziteze site-ul într-o limbă tradusă pentru a le genera, o sarcină care devine descurajantă pentru site-urile mari, în mai multe limbi.

Deși prototipul inițial a fost simplu – un program care ia o adresă URL ca intrare și începe să acceseze cu crawlere site-ul – a fost rapid și eficient. Alex, CTO al ConveyThis, a văzut potențialul acestei soluții și a dat voie cercetării și dezvoltării pentru a rafina conceptul și a gândi cum să găzduiască viitorul serviciu de producție.

Navigarea în tendința Serverless cu Go și ConveyThis

În procesul de finalizare a robotului web crawler, ne-am trezit confruntându-ne cu nuanțele diferitelor CMS și integrări. Atunci a apărut întrebarea – cum putem prezenta cel mai bine utilizatorilor noștri bot-ul?

Inițial, am luat în considerare abordarea încercată și testată de utilizare a AWS cu o interfață de server web. Cu toate acestea, au apărut mai multe probleme potențiale. Aveam incertitudine cu privire la încărcarea serverului, utilizarea simultană de către mai mulți utilizatori și lipsa noastră de experiență cu găzduirea programului Go.

Acest lucru ne-a determinat să luăm în considerare un scenariu de găzduire fără server. Acest lucru a oferit beneficii precum gestionarea infrastructurii de către furnizor și scalabilitate inerentă, făcându-l o soluție ideală pentru ConveyThis. Însemna că nu trebuie să ne facem griji cu privire la capacitatea serverului, deoarece fiecare cerere va funcționa în propriul container izolat.

Cu toate acestea, în 2020, calcularea fără server a venit cu o limită de 5 minute. Aceasta s-a dovedit o problemă pentru botul nostru, care ar putea fi necesar să acceseze cu crawlere site-uri mari de comerț electronic cu numeroase pagini. Din fericire, la începutul lui 2020, AWS a extins limita la 15 minute, deși activarea acestei funcții s-a dovedit a fi o sarcină dificilă. În cele din urmă, am găsit soluția prin declanșarea codului fără server cu SQS – serviciul de așteptare a mesajelor AWS.

923

Călătoria către comunicații interactive în timp real cu bot cu ConveyThis

924

Pe măsură ce am rezolvat dilema găzduirii, mai aveam de depășit un alt obstacol. Aveam acum un bot funcțional, găzduit într-o manieră eficientă, scalabilă. Sarcina rămasă a fost să transmitem utilizatorilor noștri datele generate de bot.

Având ca obiectiv o interactivitate maximă, m-am hotărât asupra comunicării în timp real între bot și tabloul de bord ConveyThis. Deși timpul real nu este o cerință pentru o astfel de caracteristică, am vrut ca utilizatorii noștri să primească feedback imediat de îndată ce botul a început să funcționeze.

Pentru a realiza acest lucru, am dezvoltat un server websocket Node.js simplu, găzduit pe o instanță AWS EC2. Acest lucru a necesitat câteva modificări ale botului pentru comunicarea cu serverul websocket și automatizarea implementării. După teste amănunțite, eram gata să trecem la producție.

Ceea ce a început ca un proiect secundar și-a găsit în cele din urmă locul în tabloul de bord. Prin provocări, am acumulat cunoștințe în Go și mi-am perfecționat abilitățile în mediul AWS. Am găsit Go deosebit de benefic pentru sarcinile de rețea, programarea în cooperare și calculul fără server, având în vedere amprenta sa redusă de memorie.

Avem planuri de viitor, deoarece botul aduce noi oportunități. Ne propunem să rescriem instrumentul nostru de numărare a cuvintelor pentru o eficiență mai bună și, eventual, să îl folosim pentru încălzirea memoriei cache. Sper că v-a plăcut această prezentare în lumea tehnologiei ConveyThis la fel de mult pe cât mi-a plăcut mie să o împărtășesc.

Sunteți gata să începeți?

Traducerea, mult mai mult decât cunoașterea limbilor străine, este un proces complex.

Urmând sfaturile noastre și folosind ConveyThis , paginile dvs. traduse vor rezona cu publicul dvs., simțindu-vă native în limba țintă.

Deși necesită efort, rezultatul este plin de satisfacții. Dacă traduceți un site web, ConveyThis vă poate economisi ore cu traducerea automată automată.

Încercați ConveyThis gratuit timp de 7 zile!

gradient 2