Gemini Code Assist ile test yapmaya giriş

1. Giriş

Bu laboratuvarda, Google Cloud'da yapay zeka destekli bir ortak çalışan olan Gemini Code Assist'i kullanarak mevcut bir Python web uygulamasına test ekleyecek ve söz konusu uygulamadaki testlerde ortaya çıkan hataları bulup düzelteceksiniz. Ardından, yeni işlevler için testler oluşturmak ve bu testleri geçip uygulamayı genişletmek üzere kod oluşturmak için Code Assist'i kullanacaksınız.

Yapmanız gerekenler...

  • 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 Sohbeti'ni kullanacaksınız.
  • Cloud Shell Düzenleyici'de Gemini Code Assist Satır içi kod yardımını kullanarak uygulamayla ilgili testler oluşturun, testleri çalıştırın, hataları bulup düzeltin ve ardından uygulamanın işlevselliğini genişletin.

Neler öğreneceksiniz?

  • Gemini Code Assist'i test ve kod oluşturma gibi çeşitli geliştirici görevleri için 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 etkinleştirildi

Bu laboratuvar, yeni başlayanlar da dahil olmak üzere her düzeyden geliştiriciye yöneliktir. Örnek uygulama Python dilinde olsa da, neler olup bittiğini anlamak için Python programlamasına aşina olmanız gerekmez. Geliştiriciler için Gemini Code Assist'in özelliklerini öğrenmeye odaklanacağız.

2. Kurulum

Bu laboratuvarda kullanabilmek için faturalandırmanın etkin olduğu bir Cloud Projeniz zaten olmalıdır. Şimdi Google Cloud projemizde Gemini API'yi etkinleştireceğiz. Aşağıda verilen 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. Cloud Console için Gemini 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 onun yerine bir Chat arayüzü gösteriliyorsa bu, projede Cloud için Gemini'ı zaten etkinleştirdiğiniz anlamına gelir. Doğrudan sonraki adıma geçebilirsiniz.

GeminiApiEnable.png

  1. Etkinleştirildikten sonra Gemini'ı bir veya iki sorgu göndererek test edebilirsiniz. Birkaç örnek sorgu gösterilmiştir ancak Cloud Run nedir? gibi bir sorgu girmeyi deneyebilirsiniz.

GeminiChatWindow.png

Code Assist sorunuzu cevaplayarak size yanıt verir. Code Assist 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, bazı popüler IDE'lerde kullanılabilir ve benzer şekilde davranı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ştirmeniz ve yapılandırmanız gerekir. İlgili 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ı bir veya iki dakika sürebilir.

72dc3df7b007fcde.png

  1. Düzenleyici veya Düzenleyiciyi Aç düğmesini (duruma göre) tıklayın ve Cloud Shell Düzenleyici'nin görünmesini bekleyin. Yeni düzenleyiciyi dene düğmesini görüyorsanız bu düğmeyi tıklayın.

CloudShellEditor.png

  1. Gösterildiği şekilde alt durum çubuğunda Cloud Code - Oturum Aç düğmesini tıklayın. Eklentiyi talimatlarda belirtildiği gibi yetkilendirin. Durum çubuğunda "Cloud Code - no project" (Cloud Code - proje yok) ifadesini görüyorsanız, bunu seçin ve ardından birlikte çalışmayı planladığınız projelerin listesinden ilgili 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. Bu işlemi gerçekleştirmeden önce IDE'de Gemini'ın (önceki adıyla Geliştiriciler için Duet AI) etkin olduğundan emin olmak için Cloud Code Uzantısı → Ayarlar'a gidip aşağıda gösterildiği gibi Duet AI: Etkinleştir metnini girin. Onay kutusunun seçili olduğundan emin olun. IDE'nizi yeniden yüklemeniz gerekir. Bu, Cloud Code'da Gemini'ı etkinleştirir ve IDE'nizde Gemini durum çubuğu görünür.

EnableDuetAiSetting.png

  1. Gösterildiği şekilde 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 bunu görebildiğinizden ve sağ taraftaki durum çubuğunda da aşağıdaki gibi Gemini'ın etkinleştirildiğinden emin olun:

GeminiEnabledStatusBar.png

Gemini Code Assist kullanıma hazır!

3. Uygulamayı indirip inceleme

Terminal penceresinde, başlangıç koduyla depoyu klonlamak için komutu çalıştırın ve ardından yeni dizine geçin (terminal penceresi artık açık değilse, geri yüklemek için Terminal veya Terminali aç düğmesini tıklayın):

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

Düzenleyicide main.py'yi açın, ardından düzenleyicinin sol tarafındaki Gemini sohbet simgesini tıklayarak Gemini Chat penceresini açın. Bu Gemini Chat penceresi IDE'dedir ve IDE'deki kodu tartışma için bağlam olarak sunar. Bunu açıkla istemini girip yanıtı görüntüleyin:

GeminiChatExplainThis.png

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

4. Yerel olarak çalıştır

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

3bf558e9cea15375.png

Uygulamanın ana sayfasına yeni bir tarayıcı sekmesi 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'de ufak ufak sihirli katkı sağladık. Uygulama kendi bilgisayarınızda değil Cloud Shell'de çalışıyor. Bağlantıyı tıkladığınızda gerçek yerel adres olan http://127.0.0.1:8080 değil, yalnızca Cloud Shell tarafından bu amaçla oluşturulmuş bir proxy sunucu açılır. Sonuç, uygulamayı gerçekten yerel olarak çalıştırdığınızla aynıdır.

Hemen deneyin. 25 yazın ve Dönüştür! tuşuna basın

e1b9d5832f6d0058.png

Doğru, 25 Romen Rakamları için XXV'dir! Yapmanız gerekenler burada.

Birkaç numara daha kontrol edelim. 25 işe yaradı, 24'e ne dersiniz?

37982e385e17baac.png

Belki her şeyin yolunda olduğunu düşünmek için biraz aceleci davrandık. XXIIII 24 için doğru dönüşüm müdür? XXIV olması gerekmiyor mu?

XXIIII'nin doğru olduğu söylenebilir, ancak insanlar genellikle bu tür bir beklenti değildir. Ancak gerçekten yanlış olmadığından (birçok saat 4'ü Roma Rakamı II olarak gösterir) sorunu ileride geliştirme amacıyla bırakır.

Negatif sayıları denemeye ne dersiniz? Sıfır? Bu sayıların Romen Rakamlarıyla temsil edilmesi mümkün değildir. Kullanıcıya geri dönüş yapılmadı ve düzeltilmesi gereken bir hata var gibi görünüyor.

Testler, hataların bulunmasına ve ortadan kaldırılmasına yardımcı olabilir. Gemini Code Assist ise testler yazıp kullanmamıza yardımcı olabilir.

5. Test Ekleme

Gemini Sohbet penceresine dönüp sorun

How can I test the number_to_roman function?

Yanıtı okuyun. Bu bölümde, unittest ve pytest modülü hakkında açıklamalar yer alır.

Gemini Code Assist'in bu testleri sizin için yazmasını isteyebilirsiniz. Dönüşüm kodunun yer aldığı calendar.py dosyasını açın, düzenleyicide Gemini Sohbet penceresine dönün ve tekrar sorun

How can I test the number_to_roman function?

Yanıt artık daha spesifik: Kopyalayabileceğiniz veya yeni bir dosyaya ekleyebileceğiniz bir unittest modülü de dahil:

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ı olmaz. Farklı bir kod grubu görürseniz burada gösterilen kodu kopyalayarak bu codelab'de gösterilen örneklerle devam edip etmemeyi seçebilir veya Gemini Code Assist'in size verdiği alternatif yanıtı deneyebilirsiniz. Zamanınız varsa her iki yöntemi de deneyebilirsiniz. Gemini Code Assist, uygun gördüğünüz şekilde kullanabileceğiniz bir kodlama yardımcısıdır.

Birim test kodunu içeren yeni bir dosya oluşturmak için Gemini Sohbet 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. Pencereyi kaydetmek için CTRL-S veya CMD-S tuşlarına basın, ardından kaydedilen calendar-unittest.py dosyasını çağırın.

Daha önce çalışır durumda bıraktığınız web sunucusunu durdurmak ve kabuk istemi almak için terminale geri dönün ve CTRL-C tuşlarına basın. Şu komutu girin:

python3 calendar-unittest.py

uygulamanız yeterlidir.

Çıkış yok. Beklenen bu değildi. Her şey sessizce geçti mi? Bunu kesinlikle bilmek istersiniz. Gemini Code Assist'in test kodunu içeren yanıtına tekrar bakın. Kodun altında, test durumunun nasıl çalıştırılacağıyla ilgili daha fazla bilgi yer alıyordu:

run-unittest.png

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

python -m unittest discover

Makineniz python3 komutunu python için takma ad olarak adlandırmıyorsa bir sorun yaşayabilirsiniz. Bu durumda şunu çalıştırın:

python3 -m unittest discover

Komut çalışır ancak Ran 0 tests in 0.000s değerini döndürür. Modülde birkaç test vardır. Sorun nedir?

Bu, komuttaki son kelimedir, discover. Bu neden burada? Görünüşe göre, Gemini Code Assist test kodunun discover veya discover.py adlı bir dosyaya kaydedilmesini bekliyor, ancak ne yapmanız gerektiğini belirtmedi. Dosyayı calendar-unittest.py içinde kaydettiğiniz için şu komutu çalıştırmayı deneyin:

python3 -m unittest calendar-unittest

Şimdi, aşağıdakine benzer bir yolla 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ır her başarılı test için bir nokta, başarısız olan her test için ise F gösterir. Testlerin çoğu başarısız oluyor. Ardından, beklenen çıkışı ve gerçek çıkışı göstererek başarısız testler tek tek listeler. Bu testlerin hangi sırayla çalıştırıldığı biraz belirsizdir. Dosya, testlerin dosyada görünme sırasına göre değil, test adına göre alfabetik olarak sıralanmıştır. Dolayısıyla önce test_convert_1, ardından test_convert_1990, ardından test_convert_2023 ve diğerleri bu şekilde çalıştı. Yalnızca 1 ve 2023 ile ilgili test durumları başarılı oldu.

Bu kodu ilk kez denediğinizde 24 kodunu XXIIII biçimine dönüştürdüğünü fark ettiniz. Bu kod tam olarak yanlış bir durum değildi, IIII özelliğinin IV biçimine dönüştürüldüğü yaygın biçim değildir. Başarısız olan tüm testler benzer durumlara yönelikti. Bu sorun ilk kez tespit edildiğinde laboratuvar, "Aslında yanlış olmadığı için (pek çok saatin 4 rakamları IIII olarak gösterdiğine dikkat edin) sorunu ileride geliştirmeler yapmak üzere bırakmıştır."

Test durumlarını, kodda verilen "gerçekten yanlış değil" yanıtlarını bekleyecek ve kabul edecek şekilde değiştirebilir veya "gelecekteki geliştirme" zamanının geldiğini kabul edebilirsiniz. Dolayısıyla bir sonraki adımınız, testlerin beklediği daha kabul edilebilir yanıtları vermek için Gemini Code Assist yardımıyla kodu düzeltmektir.

6. Kodu iyileştirme

Daha yaygın olan XXIV yerine 24 için XXIIII gibi yanıtların "gerçekten yanlış" olarak kabul edildiğini ve ileride iyileştirilmek üzere kaldırıldığını unutmayın. İşte gelecek artık. Bu "gerçekten yanlış" yanıtları hâlâ can sıkıcı.

Roma Rakamlarında tekrarlanan rakamlar için ilk kural şudur: Bir satırda dört birbirinin aynısı olan basamağınız varsa, bu basamaklar rakamlardan biriyle, ardından bir sonraki büyük basamakla değiştirilmelidir. Dolayısıyla XXIIII, XXIV ile değiştirilmelidir. Benzer şekilde XXXX, XL olarak ve CCCC, CD olarak değiştirilmelidir.

Gemini Code Assist'e roman değişkeninin, number_to_roman tarafından döndürülmeden hemen önce bu şekilde nasıl değiştirileceğini 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?

Sona birkaç kod eklemenizi öneririz:

6437c3fa2c5fabd1.png

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

dcefa568cab82fb7.png

Gemini Code Assist'e ilk değiştirme grubunu yaptıktan sonra karşılaşabileceğiniz destek yazışmalarıyla ilgilenmek için daha fazla satır eklendi. Örneğin, 19 değeri XVIIII'e, sonra XVIV'ye ve son olarak da doğru XIX'e dönüştürülür.

Gemini Code Assist yararlı görünen önerilerde bulunduysa önerileri kabul etmek, dosyayı kaydetmek ve web sunucusunu tekrar çalıştırmak için Sekme tuşuna basın. Aksi takdirde, örnekte gösterilen satırları manuel olarak buraya ekleyin ve dosyayı kaydedin. Zor bir dönüşümü deneyin: 1999:

a206999587fdc9.png

Doğru cevabı verdiniz.

Testleri şimdi tekrar çalıştırın. Hepsi başarılı!

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

7. Cloud Run'a dağıt

Cloud Run, internette sizin için container mimarisine alınmış bir uygulama çalıştırır. Flash gibi ortak çerçeveler kullanılarak yazılan uygulamalarda, gcloud run deploy komutu kapsayıcıyı dağıtmadan önce sizin için derler. Şu komutu çalıştırın:

gcloud run deploy

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

gcloud hangi projenin kullanılacağını belirleyemeyeceğinden komut başarısız olabilir. Bu durumda, şu komutu çalıştırın:

gcloud config set core/project <project-id>

Burada ifadesinin yerine projenizin adıyla aynı olabilir. Ardından gcloud run deploy komutunu yeniden çalıştırın.

  • Bu komut, belirli API'lerin gerekli olduğunu ve henüz etkinleştirilmediğini belirtir. Bunların sizin için etkinleştirilmesini sağlamak üzere y değerini girin.
  • Bir bölge seçmeniz istendiğinde, size uygun olanı seçin. us-central1'a karşılık gelen sayıyı girmek güvenli bir seçimdir.
  • Sorulduğunda, devam etmek için Y yazın.
  • Bu Cloud Run hizmetinin unauthenticated çağrılarına izin vermek istersiniz. 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ğu için kimlik doğrulama kullanmayacaksınız.

Google Cloud container'ı oluşturur, dağıtır, trafiği buna yönlendirir, erişim politikalarını belirler ve ana sayfanın bağlantısını size gösterir:

94ba7d8d63a44afd.png

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

a2e51666dfd33a9f.png

Bir sayı girin, Enter tuşuna basın ve tada'yı tıklayın.

5021535ac991a95c.png

Ne??!

Bu işlem makinenizde çalıştı. Bu işlem neden tamamlanmadı?

Görelim. Gemini Code Assist'e sorun,

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

4b24321251d6eddf.png

Görünüşe göre Gemini Code Assist de benzer bir şey yazan günlük dosyasını okuyabilmektedir. Gemini Code Assist'e günlük kaydını kendiniz için nasıl inceleyeceğinizi soralım:

92d1855be73ef1d.png

Devam edip bu işlemi gerçekleştirin. Aşağıdaki gibi kırmızı !! hata göstergeleri olan satırları arayın:

&quot;9bed4f9ed82de21c.png&quot;

Ardından gelen çağrı yığınıyla ilgili birçok ayrıntı satırı geliyor. Ancak şu da var:

47fc93be845f4e3f.png

calendar.py dosyanıza baktığınızda number_to_roman işlevini görürsünüz. Ayrıca, makinenizde çalıştığı için doğru olduğunu biliyorsunuz. Cloud Run'da ne gibi farklılıklar olabilir?

Cevap zor. Python3'te, number_to_roman işlevinin tanımlandığı calendar.py dosyası gibi calendar adlı standart bir modül vardır. Python, yerel makinenizde takvim adlı bir modülü aradığında önce uygulama dizininizde arama yapar. Görünüşe göre, Cloud Run'da Python önce standart modülleri aramış, içe aktarmış ve bir number_to_roman işlevi bulamamıştır.

Ortamlarda bu tür farklılıklar her zaman mümkündür. Neyse ki, bir uygulama container mimarisine alındığında ortamını içinde taşır. Bu nedenle, uygulamayı çalıştırdığınız her yerde aynı davranışı bekleyebilirsiniz. Cloud Run'ın da kullandığı container mimarisine alınmış aynı uygulamayı yerel olarak çalıştırmış olsaydınız aynı sorunla karşılaşacaktınız.

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

roman = calendar.number_to_roman(number)

-

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

Artık çalışıyor:

ed288801c6825eb1.png

Bu URL'yi paylaşabilirsiniz ve Roma Rakamı dönüşüm aracına ihtiyacı olan herkes sizinkini kullanabilir.

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

Uygulamanız iyi çalışıyor ve web'deki herkes tarafından erişilebilir. Ama biraz sade görünüyor. Herkese bahsetmeden önce Gemini Code Assist'ten görünümünü iyileştirmesini istemeye ne dersiniz?

templates/index.html dosyasını açın. Gemini sohbet penceresinde şu soruları sorun:

Make this index.html file use material design.

Bu soruya verilebilecek yanıt, mevcut dosyada eklemeler yapmaktır ve sonuçta aşağıdakine benzer bir sonuç elde edilir:

<!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 mevcut index.html içeriğinin üzerine yapıştırmak için simgeyi kullanın. Terminalde python3 main.py komutunu çalıştırın ve önizleme penceresi açmak için bağlantıyı tıklayın. Sayfa artık biraz daha sadedir:

295643ec03fcaafc.png

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

Gemini Code Assist son derece iyi CSS bilir ve uygulama sayfalarının stilini çeşitli şekillerde ayarlamanıza 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 kullanıcılara iletebilirsiniz.

9. Tebrikler!

Tebrikler. Gemini Code Assist ile başarıyla çalışarak uygulamaya testler eklediniz, uygulamadaki hataları düzelttiniz ve gelişmiş işlevler eklediniz.

Derlediğiniz uygulamayı kullanmayı bitirdiğinizde, ileride oluşabilecek ücretleri durdurmak için uygulamayı Cloud Console kontrol panelinden silebilirsiniz.

Referans belgeler...