Gemini Code Assist ile test yapmaya giriş

1. Giriş

Bu laboratuvarda, mevcut bir Python web uygulamasına testler eklemek ve bu uygulamadaki testler tarafından ortaya çıkarılan hataları bulup düzeltmek için Google Cloud'da yapay zeka destekli bir iş arkadaşı olan Gemini Code Assist'i kullanacaksınız. Ardından, yeni işlevler için testler oluşturmak, bu testleri geçmek ve uygulamayı genişletmek üzere kod oluşturmak için Code Assist'i kullanırsınız.

Yapacaklarınız...

  • Mevcut bir web uygulamasının kodunu indirmek için Cloud Shell Düzenleyici'yi kullanacaksınız.
  • Google Cloud hakkında genel sorular sormak için Cloud Shell Düzenleyici'de Gemini Code Assist Chat'i kullanacaksınız.
  • Uygulama için testler oluşturmak, testleri çalıştırmak, hataları bulup düzeltmek ve ardından uygulamanın işlevselliğini genişletmek için Cloud Shell Editor'da Gemini Code Assist satır içi kod yardımını kullanacaksınız.

Öğrenecekleriniz...

  • Test oluşturma ve kod oluşturma gibi çeşitli geliştirici görevleri için Gemini Code Assist'i kullanma
  • Google Cloud hakkında bilgi edinmek için Gemini Code Assist'i kullanma

İhtiyacınız olanlar...

  • Chrome web tarayıcısı
  • Gmail hesabı
  • Faturalandırmanın etkin olduğu bir Cloud projesi
  • Cloud projeniz için Gemini Code Assist'in etkinleştirilmesi

Bu laboratuvar, yeni başlayanlar da dahil olmak üzere her seviyeden geliştiriciye yöneliktir. Örnek uygulama Python dilinde olsa da neler olduğunu anlamak için Python programlamayı bilmeniz gerekmez. Bu oturumda, geliştiriciler için Gemini Code Assist'in özelliklerini tanımaya odaklanacağız.

2. Kurulum

Bu laboratuvarda kullanmak üzere faturalandırmanın etkinleştirildiği bir Cloud projeniz olmalıdır. Şimdi Google Cloud projemizde Gemini API'yi etkinleştireceğiz. Aşağıdaki adımları uygulayın:

  1. https://console.cloud.google.com adresini ziyaret edin ve bu laboratuvarda çalışmayı planladığınız Google Cloud projesini seçtiğinizden emin olun. Sağ üstte gördüğünüz Gemini simgesini tıklayın.

GeminiBanner.png

  1. Gemini for Cloud konsol penceresi, konsolun sağ tarafında açılır. Aşağıda gösteriliyorsa Etkinleştir düğmesini tıklayın. Etkinleştir düğmesini görmüyorsanız ve bunun yerine bir Chat arayüzü görüyorsanız proje için Gemini for Cloud'u zaten etkinleştirmişsinizdir ve doğrudan bir sonraki adıma geçebilirsiniz.

GeminiApiEnable.png

  1. Etkinleştirildikten sonra Gemini'a bir veya iki sorgu sorarak Gemini'ı deneyebilirsiniz. Birkaç örnek sorgu gösterilir ancak Cloud Run nedir? gibi bir sorgu da deneyebilirsiniz.

GeminiChatWindow.png

Kod Asistanı, sorunuzun yanıtını verir. Kod Asistanı sohbet penceresini kapatmak için sağ üst köşedeki f68286b2b2ea5c0a.png simgesini tıklayabilirsiniz.

Cloud Shell Düzenleyici'de Gemini'ı etkinleştirme

Gemini Code Assist, birkaç popüler IDE'de kullanılabilir ve benzer şekilde çalışır. Bu codelab'de tamamen web tarayıcınızda çalışan Google Cloud Shell Düzenleyici'yi kullanacaksınız. Gemini'ı Cloud Shell Düzenleyici'de etkinleştirip yapılandırmanız gerekir. Adımlar aşağıda verilmiştir:

  1. Aşağıda gösterilen simgeyi kullanarak Cloud Shell'i başlatın. Cloud Shell örneğinin başlatılması birkaç dakika sürebilir.

72dc3df7b007fcde.png

  1. Editor (Düzenleyici) veya Open Editor (Düzenleyiciyi Aç) düğmesini tıklayın ve Cloud Shell Düzenleyici'nin görünmesini bekleyin. Yeni düzenleyiciyi deneyin düğmesini görürseniz bu düğmeyi tıklayın.

CloudShellEditor.png

  1. Alt durum çubuğunda Cloud Code - Sign in (Cloud Code - Oturum aç) düğmesini tıklayın. Eklentiyi talimatlara uygun şekilde yetkilendirin. Durum çubuğunda "Cloud Code - no project" (Cloud Code - proje yok) ifadesini görürseniz bu ifadeyi ve ardından çalışmayı planladığınız projeler listesinden belirli bir Google Cloud projesini seçin.

CloudCodeSignIn.png

  1. Sağ alttaki durum çubuğunda Gemini simgesini görmüyorsanız Cloud Code'da etkinleştirmeniz gerekir. Bunu yapmadan önce Cloud Code Extension → Settings'e giderek Gemini'ın (eski adıyla Duet AI for Developers) IDE'de etkinleştirildiğinden emin olun ve ardından aşağıda gösterildiği gibi Duet AI: Enable metnini girin. Onay kutusunun işaretli olduğundan emin olun. IDE'nizi yeniden yüklemelisiniz. Bu işlem, Cloud Code'da Gemini'ı etkinleştirir ve IDE'nizde Gemini durum çubuğu görünür.

EnableDuetAiSetting.png

  1. Gösterildiği gibi sağ alt köşedeki Gemini düğmesini tıklayın ve Cloud AI Companion API'yi etkinleştirdiğimiz doğru Google Cloud projesini seçin.

GeminiSelectGoogleCloudProject.png

  1. Google Cloud projenizi seçtikten sonra, durum çubuğundaki Cloud Code durum mesajında projenizi görebildiğinizden ve sağ tarafta, durum çubuğunda Gemini'ın etkinleştirildiğinden emin olun (aşağıdaki resimde gösterildiği gibi).

GeminiEnabledStatusBar.png

Gemini Code Assist kullanıma hazır!

3. Uygulamayı indirip inceleme

Terminal penceresinde, başlangıç koduyla depoyu klonlama komutunu çalıştırın ve ardından yeni dizine geçin (terminal penceresi artık açık değilse Terminal veya Terminali Aç düğmesini tıklayarak geri yükleyin):

git clone https://github.com/GoogleCloudPlatform/testing-with-duet-ai-codelab.git
cd testing-with-duet-ai-codelab

Düzenleyicide main.py dosyasını açın, ardından düzenleyicinin sol tarafındaki Gemini Chat simgesini tıklayarak Gemini ile etkileşim penceresini açın. Bu Gemini Chat penceresi, IDE'nin içinde yer alır ve IDE'deki kod, tartışma için bağlam olarak kullanılabilir. Bunu açıkla istemini girin ve yanıtı görüntüleyin:

GeminiChatExplainThis.png

Yanıtın tamamını görmek için bu sohbet penceresini kaydırabilirsiniz. Açıklamada, bu programı terminal penceresinde python3 main.py komutuyla yerel olarak çalıştırabileceğimiz belirtiliyor.

4. Yerel olarak çalıştırma

Gerekirse cd ~/testing-with-duet-ai-codelab ile depo dizinine geçin ve terminal penceresine python3 main.py komutunu girin:

3bf558e9cea15375.png

Uygulamanın ana sayfasını yeni bir tarayıcı sekmesinde açmak için http://127.0.0.1:8080 bağlantısını tıklayın:

fb06f382a4c03e4c.png

Uygulama "yerel olarak" çalışıyor. Aslında Cloud Shell Düzenleyici burada biraz sihirli bir dokunuş yaptı. Uygulama, kendi bilgisayarınızda değil Cloud Shell'de çalışır. Bağlantıyı tıkladığınızda http://127.0.0.1:8080 adresine değil, Cloud Shell tarafından yalnızca bu amaçla oluşturulan bir proxy sunucusuna yönlendirildiniz. Bu işlem, gerçekten yerel olarak çalıştırıyormuşsunuz gibi aynı etkiyi yaratır.

Hemen deneyin. 25 yazıp Dönüştür!'e basın.

e1b9d5832f6d0058.png

Doğru bildiniz, 25 sayısı Roma rakamlarıyla XXV olarak yazılır. Bu adımı tamamlamış olmanız gerekir.

Belki birkaç numarayı daha kontrol edin. 25 işe yaradı, 24 işe yarar mı?

37982e385e17baac.png

Belki de her şeyin yolunda olduğunu düşünmekte biraz acele ettik. XXIIII, 24 için doğru dönüşüm mü? XXIV olması gerekmez mi?

XXIIII'nin doğru olduğu söylenebilir ancak bu, kullanıcıların genellikle beklediği bir durum değildir. Ancak bu durum yanlış olmadığı için (birçok saatin 4 rakamını Roma rakamı IIII olarak gösterdiğini unutmayın) bu sorunu gelecekteki bir iyileştirmeye bırakın.

Negatif sayıları denemeye ne dersiniz? Sıfır mı? Bu sayıları Roma rakamlarıyla göstermenin bir yolu yoktur. Kullanıcıya hiçbir şey geri dönmüyor. Bu, düzeltilmesi gereken bir hata gibi görünüyor.

Testler, hataları bulup ortadan kaldırmanıza yardımcı olabilir. Gemini Code Assist ise test yazmanıza ve kullanmanıza yardımcı olabilir.

5. Test Ekleme

Gemini Chat penceresine dönün ve

How can I test the number_to_roman function?

unittest ve pytest modüllerinin tartışılmasını içeren yanıtı okuyun.

Gemini Code Assist'in bu testleri sizin için yazmasını isteyebilirsiniz. Gerçek dönüşüm kodunun bulunduğu calendar.py dosyasını düzenleyicide açın, Gemini Chat penceresine dönün ve tekrar sorun.

How can I test the number_to_roman function?

Yanıt artık daha spesifik. Hatta kopyalayabileceğiniz veya yeni bir dosyaya yerleştirebileceğiniz bir unittest modülü de içeriyor:

import unittest
import calendar

class NumberToRomanTest(unittest.TestCase):

    def test_convert_1(self):
        self.assertEqual(calendar.number_to_roman(1), "I")

    def test_convert_4(self):
        self.assertEqual(calendar.number_to_roman(4), "IV")

    def test_convert_9(self):
        self.assertEqual(calendar.number_to_roman(9), "IX")

    def test_convert_40(self):
        self.assertEqual(calendar.number_to_roman(40), "XL")

    def test_convert_90(self):
        self.assertEqual(calendar.number_to_roman(90), "XC")

    def test_convert_400(self):
        self.assertEqual(calendar.number_to_roman(400), "CD")

    def test_convert_900(self):
        self.assertEqual(calendar.number_to_roman(900), "CM")

    def test_convert_1990(self):
        self.assertEqual(calendar.number_to_roman(1990), "MCMXC")

    def test_convert_2023(self):
        self.assertEqual(calendar.number_to_roman(2023), "MMXXIII")

Yukarıdaki örnekten farklı bir kod görebilirsiniz. Gemini Code Assist'in temel modelleri zaman zaman güncellendiğinden yanıtlar her zaman aynı olmayabilir. Farklı bir kod grubu görüyorsanız burada gösterilen kodu kopyalayarak bu codelab'de gösterilen örneklerle devam etmeyi seçebilir veya Gemini Code Assist'in size verdiği alternatif yanıtı deneyebilirsiniz. Vaktiniz varsa her iki yolu da deneyebilirsiniz. Gemini Code Assist, dilediğiniz şekilde kullanabileceğiniz bir kodlama asistanıdır.

Birim testi kodunu içeren yeni bir dosya oluşturmak için Gemini Chat penceresinin sağ üst köşesindeki çift uçlu oku tıklayın veya IDE'yi kullanarak yeni bir dosya oluşturup bu laboratuvarda gösterilen kodu yapıştırın. Kaydetmek için o pencerede CTRL-S veya CMD-S tuşlarına basın ve kaydedilen dosyayı calendar-unittest.py olarak adlandırın.

Terminale dönün ve daha önce çalışır durumda bıraktığınız web sunucusunu durdurup kabuk istemi almak için CTRL-C tuşlarına basın. Komutu girin

python3 calendar-unittest.py

yeni testleri çalıştırmak için.

Çıkış yok. Bu, beklenen bir durum değildir. Her şey sessizce mi geçti? Bunu kesin olarak bilmek istiyorsunuz. Gemini Code Assist'in test kodunu içeren yanıtına tekrar bakın. Kodun altında, test senaryosunun nasıl çalıştırılacağı hakkında daha fazla bilgi yer alıyordu:

run-unittest.png

Önerilen komutu çalıştırmayı deneyin:

python -m unittest discover

Makineniz python3 komutunu python olarak adlandırmıyorsa bir sorun yaşıyor olabilirsiniz. Bu durumda şu komutu çalıştırın:

python3 -m unittest discover

Komut çalışır ancak Ran 0 tests in 0.000s döndürür. Modül, çeşitli testler içerir. Neler oluyor?

Komuttaki son kelime discover. Kaynağı neydi? Görünüşe göre Gemini Code Assist, test kodunun discover veya discover.py adlı bir dosyaya kaydedilmesini bekliyordu ancak bunu yapmanız gerektiğini belirtmedi. Dosyayı calendar-unittest.py olarak kaydettiğiniz için şu komutu çalıştırmayı deneyin:

python3 -m unittest calendar-unittest

Şimdi, aşağıdakine benzer bir şeyle başlayan çok sayıda çıkış görüyorsunuz:

$ python3 -m unittest calendar-unittest
.F.FFFFFF
======================================================================
FAIL: test_convert_1990 (calendar-unittest.NumberToRomanTest)
----------------------------------------------------------------------
Traceback (most recent call last):
  File "/home/charles_engelke/testing-with-duet-ai-codelab/calendar-unittest.py", line 28, in test_convert_1990
    self.assertEqual(calendar.number_to_roman(1990), "MCMXC")
AssertionError: 'MDCCCCLXXXX' != 'MCMXC'
- MDCCCCLXXXX
+ MCMXC

İlk satırda, her başarılı test için bir nokta, her başarısız test için ise F işareti gösterilir. Testlerin çoğu başarısız oluyor. Ardından, başarısız olan testleri tek tek listeleyerek beklenen çıkışı ve gerçek çıkışı gösterir. Bu testlerin hangi sırayla yürütüldüğü biraz belirsiz. Testler, dosyada göründükleri sırayla değil, test adına göre alfabetik olarak sıralanıyordu. Bu nedenle önce test_convert_1, ardından test_convert_1990, sonra test_convert_2023 ve diğerleri çalıştırıldı. Yalnızca 1 ve 2023 için test senaryoları başarılı oldu.

Bu kodu ilk denediğinizde 24 karakterini XXIIII karakterine dönüştürdüğünü fark ettiniz. Bu tam olarak yanlış olmasa da IIII karakterinin IV karakterine dönüştürüldüğü yaygın bir biçim değildi. Başarısız olan tüm testler benzer durumlarla ilgiliydi. Bu sorun ilk olarak fark edildiğinde laboratuvar, "Ancak bu durum aslında yanlış olmadığından (birçok saatin 4 rakamını IIII şeklinde gösterdiğini unutmayın) bu sorunu gelecekteki bir iyileştirmeye bırakın." demişti.

Test senaryolarını, kodun verdiği "tam olarak yanlış olmayan" cevapları bekleyecek ve kabul edecek şekilde değiştirebilir veya "gelecekteki iyileştirme" zamanının geldiğini kabul edebilirsiniz. Bu nedenle, bir sonraki adımınız, testlerin beklediği daha kabul edilebilir yanıtları vermek için Gemini Code Assist'in yardımıyla kodu düzeltmektir.

6. Kodu geliştirme

XXIV yerine 24 için XXIIII gibi yanıtların "tam olarak yanlış olmadığı" ve gelecekteki bir iyileştirme için ertelendiği hatırlatılır. O gelecek artık geldi. "Tam olarak yanlış olmayan" yanıtlar yine de can sıkıcı.

Romen rakamlarında tekrarlanan rakamlarla ilgili ilk kural şudur: Arka arkaya dört özdeş rakam olduğunda, bu rakamlar, kendilerinden sonra gelen daha yüksek bir rakamla değiştirilmelidir. Bu nedenle XXIIII, XXIV ile değiştirilmelidir. Benzer şekilde, XXXX, XL olarak değiştirilmeli ve CCCC, CD olmalıdır.

Gemini Code Assist'e, number_to_roman tarafından döndürülmeden hemen önce roman değişkeninin değerini bu şekilde nasıl değiştireceğinizi sorun:

If the final value of roman has IIII in it, that should be replaced by IV. Similarly XXXX should be replaced by XL, and CCCC should become CD. How can I make those changes?

Önerilen kod, sonuna eklenmesi gereken koddur:

6437c3fa2c5fabd1.png

Bu satırları kopyalayıp düzenleyiciye yapıştırın veya düzenleyiciye yazın ve ardından ne olduğuna bakın:

dcefa568cab82fb7.png

Gemini Code Assist, ilk değişiklikleri yaptıktan sonra karşılaşabileceğiniz durumları ele almak için daha fazla satır ekledi. Örneğin, 19 önce XVIIII'ye, ardından XVIV'e ve son olarak doğru olan XIX'e dönüştürülür.

Gemini Code Assist, görünüşe göre faydalı önerilerde bulunduysa Tab tuşuna basarak önerileri kabul edin, dosyayı kaydedin ve web sunucusunu tekrar çalıştırın. Aksi takdirde, örnekte gösterilen satırları manuel olarak ekleyin ve dosyayı kaydedin. Zor bir dönüşümü deneyin: 1999:

a206999587fdc9.png

Doğru cevabı verdiniz.

Testleri şimdi yeniden çalıştırın. Hepsi geçerli.

Web uygulaması, üretime hazır görünüyor.

7. Cloud Run'a dağıt

Cloud Run, container mimarisine alınmış bir uygulamayı internette sizin için çalıştırır. Flash gibi yaygın çerçeveler kullanılarak yazılan uygulamalar için gcloud run deploy komutu, dağıtmadan önce bu kapsayıcıyı sizin için oluşturur. Komutu çalıştırın:

gcloud run deploy

Terminalde. Kaynak kodunun konumu sorulduğunda, önerilen doğru konumu kabul etmek için Enter tuşuna basın. Benzer şekilde, hizmet adı istendiğinde öneriyi kabul etmek için Enter tuşuna basın.

gcloud hangi projeyi kullanacağını belirleyemediğinden komut başarısız olabilir. Bu durumda şu komutu çalıştırın:

gcloud config set core/project <project-id>

yerine projenizin kimliği yazılır. Bu kimlik, projenizin adıyla aynı olabilir. Ardından gcloud run deploy komutunu yeniden çalıştırın.

  • Komut, belirli API'lerin gerekli olduğunu ve henüz etkinleştirilmediğini belirtir. Bu özellikleri etkinleştirmek için y girin.
  • Bölge seçmeniz istendiğinde size uygun olanı belirleyin. us-central1 ile eşleşen numarayı girmek güvenli bir seçenektir.
  • İstendiğinde devam etmek için Y tuşuna basın.
  • Bu Cloud Run hizmetinin kimliği doğrulanmamış çağrılmasına izin vermek istiyorsunuz. Cloud Run tarafından kullanılan kimlik doğrulama seçeneği, hizmeti çağıran programlar tarafından kullanılmaya uygundur. Bu bir web sitesi olduğundan kimlik doğrulama kullanmayacaksınız.

Google Cloud, kapsayıcıyı oluşturur, dağıtır, trafiği kapsayıcıya yönlendirir ve erişim politikalarını ayarlar. Ardından, ana sayfanın bağlantısını gösterir:

94ba7d8d63a44afd.png

Bu bağlantıya giderek uygulamanıza erişebilirsiniz.

a2e51666dfd33a9f.png

Bir sayı girip Enter tuşuna basın. İşte bu kadar!

5021535ac991a95c.png

Ne!?!

Makinenizde çalıştı! Neden tamamlanmadı?

Öğrenin. Gemini Code Assist'e sorun.

Why am I getting an internal server error on cloud run?

4b24321251d6eddf.png

Gemini Code Assist, günlük dosyasını okuyabiliyor ve benzer bir mesaj veriyor. Gemini Code Assist'e günlükleri kendiniz nasıl inceleyebileceğinizi soralım:

92d1855be73ef1d.png

Devam edip bu işlemi gerçekleştirin. Aşağıdaki örnekte gösterildiği gibi, kırmızı !! hata göstergeleri içeren satırları bulun:

9bed4f9ed82de21c.png

Bunu, buraya ulaşan çağrı yığınıyla ilgili birçok ayrıntı satırı izler ancak ardından şu ifade yer alır:

47fc93be845f4e3f.png

calendar.py dosyanıza baktığınızda number_to_roman işlevini hemen orada görürsünüz. Makinenizde çalıştığı için doğru olduğunu bilirsiniz. Cloud Run'da farklı olabilecek noktalar nelerdir?

Yanıt yanıltıcı. number_to_roman işlevinin tanımlandığı calendar.py dosyası gibi, Python3 ile birlikte gelen calendar adlı standart bir modül vardır. Yerel makinenizde Python, calendar adlı bir modülü ararken önce uygulama dizininizi aradı. Görünüşe göre Cloud Run'daki Python önce standart modülleri arıyor, bunları içe aktarıyor ve number_to_roman işlevini bulamıyordu.

Ortamlarda bu tür farklılıklar her zaman olabilir. Neyse ki bir uygulama container mimarisine alındığında ortamını da beraberinde taşır. Bu nedenle, uygulamayı nerede çalıştırırsanız çalıştırın aynı davranışı bekleyebilirsiniz. Aynı kapsayıcılı uygulamayı Cloud Run'ın yaptığı gibi yerel olarak çalıştırsaydınız aynı sorunla karşılaşırdınız.

Bu sorunu düzelt. Yerel takvim modülünüzün adını, standart modül adı olmayan bir adla değiştirmeniz gerekir. calendar.py dosyasını my_calendar.py olarak yeniden adlandırın, ardından main.py ve calendar-unittest.py dosyalarındaki import calendar satırlarını import my_calendar olarak değiştirin. Son olarak, çizgiyi değiştirin.

roman = calendar.number_to_roman(number)

to

roman = my_calendar.number_to_roman(number)

Yerel olarak deneyin, testleri çalıştırın ve ardından yeniden dağıtın:

gcloud run deploy

Şimdi çalışıyor:

ed288801c6825eb1.png

Bu URL'yi paylaşabilirsiniz. Romen rakamlarına dönüştürme aracına ihtiyacı olan herkes sizin aracınızı kullanabilir.

8. İsteğe bağlı: Daha güzel görünmesini sağlama

Uygulamanız sorunsuz çalışıyor ve web'deki herkes tarafından erişilebiliyor. Ancak biraz sade görünüyor. Herkese bahsetmeden önce Gemini Code Assist'ten görünümünü iyileştirmesini isteyebilirsiniz.

templates/index.html dosyasını açın. Gemini ile etkileşim penceresinde şu soruyu sorun:

Make this index.html file use material design.

Yanıt, mevcut dosyaya eklemeler yapılmasıdır. Sonuç, aşağıdakine benzer bir şey olur:

<!DOCTYPE html>
<html>
<head>
    <title>Roman Numerals</title>
    <link rel="stylesheet" href="https://code.getmdl.io/1.3.0/material.indigo-pink.min.css">   
    <script defer src="https://code.getmdl.io/1.3.0/material.min.js"></script>     
</head>
<body>
    <h1 class="mdl-typography--title">Roman Numerals</h1>
    <form action="/convert" method="post">
        <div class="mdl-textfield mdl-js-textfield">
            <input class="mdl-textfield__input" type="text" id="number" name="number" required />
            <label class="mdl-textfield__label" for="number">Enter a number:</label>
          </div>
          <button class="mdl-button mdl-js-button mdl-button--raised mdl-button--colored">
            Convert!
          </button>
    </form>
</body>
</html>

Önerilen kodu kopyalamak ve index.html dosyasının mevcut içeriğinin üzerine yapıştırmak için simgeyi kullanın. Terminalde python3 main.py komutunu çalıştırın ve önizleme penceresini açmak için bağlantıyı tıklayın. Sayfa artık biraz daha az sade:

295643ec03fcaafc.png

İsterseniz bu işlemi convert.html dosyasıyla da tekrarlayabilirsiniz.

Gemini Code Assist, CSS konusunda oldukça bilgili olduğundan uygulama sayfalarını çeşitli şekillerde stilize etmenize yardımcı olabilir. Bu sadece bir başlangıç.

Bu uygulamayı paylaşmak istediğiniz için Cloud Run'a yeniden dağıtmayı unutmayın:

gcloud run deploy

URL'yi, Romen rakamlarına dönüştürmesi gereken kişilerle paylaşabilirsiniz.

9. Tebrikler!

Tebrikler. Gemini Code Assist'i kullanarak uygulamaya test ekleme, hataları düzeltme ve gelişmiş işlevler ekleme işlemlerini başarıyla tamamladınız.

Oluşturduğunuz uygulamayı kullanmayı bitirdiğinizde, gelecekteki olası ücretleri önlemek için uygulamayı bulut konsolu kontrol panelinden silebilirsiniz.

Referans belgeler...