Çok sayıda ConveyThis kullanıcısı, tüm web sitelerinin URL'lerinin düzgün bir şekilde çevrilmesini tercih ediyor; bu, özellikle geniş sitelerin birçok dile çevrilmesi durumunda zorlu bir görev olabilir.
Kullanıcı geri bildirimleri, bazı müşterilerin ilk web sitesi çevirisi projelerinin başlamasını biraz şaşırtıcı bulduğunu göstermiştir. Çeviri listesinde neden yalnızca ana sayfa URL'sini görüntüleyebildiklerini ve içeriklerinin çevirilerini nasıl oluşturacaklarını sık sık sorguladılar.
Bu, geliştirme için potansiyel bir alanı gösterdi. Daha sorunsuz bir işe alım sürecini ve daha verimli proje yönetimini kolaylaştırmak için bir fırsat gördük. Ancak o an elimizde somut bir çözüm yoktu.
Sonuç, tahmin edebileceğiniz gibi, URL Yönetimi özelliğinin kullanıma sunulması oldu. Bu özellik, kullanıcıların web sitelerinin URL'lerini tarayıp çevrilmiş içeriklerini ConveyThis Kontrol Paneli aracılığıyla hızlı ve etkili bir şekilde oluşturmalarına olanak tanıyor.
Son zamanlarda, bu özellik Çeviri Listesinden yeni, daha uyarlanabilir ve güçlü bir URL tabanlı çeviri yönetimi sayfasına taşındı. Şimdi, bu özelliğin başlangıcının ardındaki hikayeyi açıklamanın zamanının geldiğine inanıyoruz.
Pandemi nedeniyle 2020 kilitlenmesinin başlangıcı, bana zaman kısıtlamaları nedeniyle bir kenara bırakılan programlama dili Golang'ı nihayet öğrenme şansı verdi.
Google tarafından geliştirilen Golang veya Go son yıllarda popülerlik kazanıyor. Statik olarak derlenmiş bir programlama dili olan Golang, geliştiricilerin verimli, güvenilir ve eşzamanlı kod oluşturmasını sağlamak için tasarlanmıştır. Sadeliği, kapsamlı ve karmaşık programların hızdan ödün vermeden yazılmasını ve sürdürülmesini destekler.
Golang'ı daha yakından tanımak için olası bir yan proje düşünürken aklıma bir web tarayıcısı geldi. Belirtilen kriterleri karşılıyor ve potansiyel olarak ConveyThis kullanıcıları için bir çözüm sunuyordu. Bir web tarayıcısı veya 'bot', veri çıkarmak için bir web sitesini ziyaret eden bir programdır.
ConveyThis için amacımız, kullanıcıların sitelerini tarayıp tüm URL'leri alabilecekleri bir araç geliştirmekti. Ayrıca, çeviri oluşturma sürecini de kolaylaştırmak istedik. Şu anda, kullanıcıların çeviri oluşturmak için web sitelerini çevrilmiş bir dilde ziyaret etmeleri gerekiyor; bu da büyük, çok dilli siteler için göz korkutucu bir görev haline geliyor.
İlk prototip basit olmasına rağmen (giriş olarak bir URL alıp siteyi tarayan bir program), hızlı ve etkiliydi. ConveyThis' CTO'su Alex, bu çözümün potansiyelini gördü ve konsepti geliştirmek ve gelecekteki üretim hizmetinin nasıl barındırılacağını düşünmek için araştırma ve geliştirme çalışmalarına onay verdi.
Web crawler botunu tamamlama sürecinde, kendimizi farklı CMS ve entegrasyonların nüanslarıyla uğraşırken bulduk. O zaman şu soru ortaya çıktı: Kullanıcılarımıza botu en iyi nasıl sunabiliriz?
Başlangıçta, AWS'yi bir web sunucusu arabirimiyle kullanmanın denenmiş ve test edilmiş yaklaşımını düşündük. Ancak, birkaç potansiyel sorun ortaya çıktı. Sunucu yükü, birden çok kullanıcı tarafından aynı anda kullanım ve Go programı barındırma konusundaki deneyim eksikliğimiz hakkında belirsizlik yaşadık.
Bu bizi sunucusuz barındırma senaryosunu düşünmeye yöneltti. Bu senaryo, sağlayıcı tarafından altyapı yönetimi ve doğal ölçeklenebilirlik gibi avantajlar sunarak ConveyThis için ideal bir çözüm haline geldi. Her istek kendi izole konteynerinde çalışacağı için sunucu kapasitesi konusunda endişelenmemize gerek kalmadı.
Ancak 2020'de sunucusuz bilgi işlem 5 dakikalık bir sınırla geldi. Bu, çok sayıda sayfaya sahip büyük e-ticaret sitelerini taramak için potansiyel olarak gerekli olabilecek botumuz için bir sorun olduğunu kanıtladı. Neyse ki 2020'nin başlarında AWS, bu özelliği etkinleştirmenin zorlu bir görev olmasına rağmen sınırı 15 dakikaya çıkardı. Sonunda çözümü, sunucusuz kodu AWS mesaj kuyruklama hizmeti olan SQS ile tetikleyerek bulduk.
Barındırma ikilemini çözerken, aşmamız gereken bir engel daha vardı. Artık verimli ve ölçeklenebilir bir şekilde barındırılan işlevsel bir botumuz vardı. Geriye kalan görev, bot tarafından oluşturulan verileri kullanıcılarımıza iletmekti.
Maksimum etkileşimi hedefleyerek, bot ile ConveyThis panosu arasında gerçek zamanlı iletişim kurmaya karar verdim. Gerçek zamanlılık böyle bir özellik için zorunlu olmasa da, kullanıcılarımızın bot çalışmaya başlar başlamaz anında geri bildirim almasını istedim.
Bunu başarmak için, bir AWS EC2 bulut sunucusunda barındırılan basit bir Node.js websocket sunucusu geliştirdik. Bu, websocket sunucusuyla iletişim ve dağıtımı otomatikleştirmek için botta bazı ince ayarlar gerektirdi. Kapsamlı testlerden sonra üretime geçmeye hazırdık.
Bir yan proje olarak başlayan şey, sonunda kontrol panelinde yerini buldu. Zorluklar sayesinde Go hakkında bilgi edindim ve becerilerimi AWS ortamında geliştirdim. Düşük bellek alanı göz önüne alındığında Go'nun özellikle ağ oluşturma görevleri, ortak programlama ve sunucusuz bilgi işlem için yararlı olduğunu gördüm.
Bot yeni fırsatlar sunduğu için geleceğe yönelik planlarımız var. Kelime sayımı aracımızı daha verimli hale getirmek için yeniden yazmayı ve potansiyel olarak önbellek ısıtma için kullanmayı hedefliyoruz. Umarım ConveyThis'nin teknoloji dünyasına bu gizli bakışı siz de benim paylaşmaktan keyif aldığım kadar keyifle izlediniz.
Çeviri, sadece dilleri bilmenin çok ötesinde, karmaşık bir süreçtir.
İpuçlarımızı takip ederek ve ConveyThis etiketini kullanarak, çevrilen sayfalarınız hedef kitlenizde yankı uyandıracak ve hedef dile özgü bir his yaratacaktır.
Emek gerektirse de sonuç tatmin edicidir. Bir web sitesini çeviriyorsanız, ConveyThis otomatik makine çevirisiyle size saatler kazandırabilir.
ConveyThis'yi 3 gün boyunca ücretsiz deneyin!