מבוא לבדיקה עם Gemini Code Assist

‫1. מבוא

בשיעור ה-Lab הזה תשתמשו ב-Gemini Code Assist, שותף עריכה מבוסס-AI ב-Google Cloud, כדי להוסיף בדיקות לאפליקציית אינטרנט קיימת ב-Python וכדי למצוא ולתקן שגיאות באפליקציה הזו שנחשפה על ידי הבדיקות. לאחר מכן תשתמש ב-Code Assist כדי ליצור בדיקות לפונקציונליות חדשה ולייצר קוד שיעבור את הבדיקות האלה וירחיב את האפליקציה.

מה תעשו...

  • כדי להוריד קוד של אפליקציית אינטרנט קיימת, תצטרכו להשתמש ב-Cloud Shell Editor.
  • תוכלו להשתמש בצ'אט של Gemini Code Assist ב-Cloud Shell Editor כדי לשאול שאלות כלליות על Google Cloud.
  • כדי ליצור בדיקות לאפליקציה, להריץ את הבדיקות, למצוא שגיאות ולתקן אותן, צריך להשתמש בעזרה של קוד Gemini Code Assist ב-Cloud Shell Editor, כדי להרחיב את הפונקציונליות של האפליקציה.

מה תלמדו...

  • כיצד להשתמש ב-Gemini Code Assist לביצוע כמה משימות של פיתוח, כמו יצירת בדיקות ויצירת קוד.
  • איך להשתמש ב-Gemini Code Assist כדי לקבל מידע על Google Cloud.

מה צריך...

  • דפדפן האינטרנט Chrome
  • חשבון Gmail
  • פרויקט ב-Cloud שמופעל בו חיוב
  • Gemini Code Assist מופעל בפרויקט Cloud שלך

שיעור ה-Lab הזה מיועד למפתחים בכל הרמות, כולל מתחילים. האפליקציה לדוגמה היא בשפת Python, אבל לא צריך להכיר את תכנות Python כדי להבין מה קורה. נתמקד בהיכרות עם היכולות של Gemini Code Assist למפתחים.

2. הגדרה

כבר אמור להיות לכם פרויקט ב-Cloud עם חיוב מופעל כדי להשתמש בו בשיעור ה-Lab הזה. מעכשיו נפעיל את Gemini API בפרויקט Google Cloud. כך תעשו זאת:

  1. נכנסים לכתובת https://console.cloud.google.com ומוודאים שבחרתם את הפרויקט ב-Google Cloud שאתם מתכוונים לעבוד איתו בשיעור ה-Lab הזה. לחץ על הסמל של Gemini המוצג בצד שמאל למעלה.

GeminiBanner.png

  1. החלון של Gemini במסוף Cloud ייפתח בצד שמאל של המסוף. לוחצים על הלחצן Enable (הפעלה) אם הוא מופיע למטה. אם הלחצן Enable לא מופיע אלא הממשק של Chat, סימן שכבר הפעלת את Gemini ל-Cloud בפרויקט. אפשר לעבור ישירות לשלב הבא.

GeminiApiEnable.png

  1. לאחר ההפעלה, תוכל לבדוק את Gemini על ידי שליחת שאילתה אחת או שתיים. מוצגות כמה שאילתות לדוגמה, אבל אפשר לנסות לשאול משהו כמו מה זה Cloud Run?

GeminiChatWindow.png

Code Assist יענה עם התשובה לשאלה שלכם. אפשר ללחוץ על הסמל f68286b2b2ea5c0a.png בפינה השמאלית העליונה כדי לסגור את חלון הצ'אט של Code Assist.

הפעלת Gemini ב-Cloud Shell Editor

Gemini Code Assist זמין ומתנהג באופן דומה במספר סביבות פיתוח משולבות (IDE) פופולריות. ב-Codelab הזה תשתמשו ב-Google Cloud Shell Editor, שרץ במלואו בדפדפן האינטרנט. צריך להפעיל ולהגדיר את Gemini ב-Cloud Shell Editor, לפי השלבים שמפורטים בהמשך:

  1. לוחצים על הסמל שמוצג בהמשך כדי להפעיל את Cloud Shell. יכול להיות שהמכונה של Cloud Shell תופעל תוך דקה או שתיים.

72dc3df7b007fcde.png

  1. לוחצים על הלחצן Editor (עורך) או Open Editor (במקרה הצורך) ומחכים עד שה-Cloud Shell Editor יופיע. אם מופיע הלחצן אני רוצה לנסות את העורך החדש, לוחצים עליו.

CloudShellEditor.png

  1. לוחצים על הלחצן Cloud Code – כניסה בשורת הסטטוס התחתונה, כפי שמוצג. מאשרים את הפלאגין לפי ההוראות. אם בשורת הסטטוס מופיע הכיתוב 'Cloud Code – אין פרויקט', בוחרים באפשרות הזו ואז בוחרים את הפרויקט הספציפי ב-Google Cloud מרשימת הפרויקטים שבהם אתם מתכוונים לעבוד.

CloudCodeSignIn.png

  1. אם הסמל של Gemini לא מופיע בשורת הסטטוס בצד שמאל למטה, צריך להפעיל אותו ב-Cloud Code. לפני כן, צריך לוודא ש-Gemini (לשעבר Duet AI למפתחים) מופעל בסביבת הפיתוח המשולבת (IDE). לשם כך, עוברים אל תוסף Cloud Code ← הגדרות ומזינים את הטקסט Duet AI: Turn כפי שמוצג בהמשך. מוודאים שתיבת הסימון מסומנת. צריך לטעון מחדש את ה-IDE. כך תופעל Gemini ב-Cloud Code, ושורת הסטטוס של Gemini תופיע בסביבת הפיתוח המשולבת (IDE).

EnableDuetAiSetting.png

  1. לוחצים על הלחצן Gemini בפינה הימנית התחתונה, כמו שמוצג, ובוחרים את הפרויקט הנכון ב-Google Cloud שעבורו הפעלנו את Cloud AI Companion API.

GeminiSelectGoogleCloudProject.png

  1. אחרי שבוחרים את הפרויקט ב-Google Cloud, צריך לוודא שבהודעת הסטטוס של Cloud Code אפשר לראות שבשורת הסטטוס גם Gemini מופעל משמאל, בשורת הסטטוס כמו בדוגמה הבאה:

GeminiEnabledStatusBar.png

Gemini Code Assist מוכן לשימוש!

3. הורדה ובדיקה של האפליקציה

בחלון הטרמינל, מריצים את הפקודה כדי לשכפל את המאגר עם קוד הפתיחה, ואז עוברים לספרייה החדשה (אם חלון הטרמינל כבר לא פתוח, לוחצים על הלחצן Terminal או Open Terminal כדי לשחזר אותו):

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

פותחים את main.py בעורך ואז פותחים את חלון Gemini Chat על ידי לחיצה על סמל הצ'אט של Gemini בצד ימין של העורך. חלון Gemini Chat נמצא בתוך סביבת הפיתוח המשולבת (IDE) והקוד בסביבת הפיתוח המשולבת (IDE) זמין כהקשר לדיון. מזינים את ההנחיה הסבר לגבי זה ומעיינים בתשובה:

GeminiChatExplainThis.png

אפשר לגלול בחלון הצ'אט הזה כדי לראות את התשובה המלאה. בהסבר כתוב שאנחנו יכולים להריץ את התוכנית הזו באופן מקומי באמצעות הפקודה python3 main.py בחלון הטרמינל.

‫4. הפעלה באופן מקומי

במקרה הצורך, עוברים לספריית המאגר באמצעות cd ~/testing-with-duet-ai-codelab, ומזינים את הפקודה python3 main.py בחלון הטרמינל:

3bf558e9cea15375.png

לחץ על הקישור http://127.0.0.1:8080 כדי לפתוח כרטיסייה חדשה בדפדפן לדף הבית של היישום:

fb06f382a4c03e4c.png

האפליקציה פועלת "מקומית". למעשה, Cloud Shell Editor עשה כאן קצת קסם. האפליקציה פועלת ב-Cloud Shell, ולא במחשב שלכם. כשלוחצים על הקישור, נפתחת כרטיסייה שלא קשורה לכתובת המקומית האמיתית http://127.0.0.1:8080, אלא לשרת proxy שהוגדר רק למטרה הזו על ידי Cloud Shell. האפקט הזה זהה להשפעה של הפעלת באופן מקומי.

כדאי לנסות. מזינים 25 ומקישים על המרה!

e1b9d5832f6d0058.png

נכון, 25 הוא XXV במספרים רומיים! חובה לבצע כאן את הפעולה.

כדאי לבדוק עוד כמה מספרים. 25 עבדו, מה לגבי 24?

37982e385e17baac.png

אולי מיהרנו קצת לחשוב שהכול בסדר. האם 24 הוא ההמרה הנכונה עבור 24? לא צריך להיות XXIV?

אפשר לטעון שסיווג XXIIII נכון, אבל זה לא המצב שאליו אנשים מצפים בדרך כלל. עם זאת, מכיוון שזה לא באמת שגוי (שימו לב בשעונים רבים מופיע המספר 4 בתור הספרה הרומית IIII), השאירו את הבעיה לשיפור עתידי.

מה דעתך לנסות מספרים שליליים? אפס? אין דרך לייצג את המספרים האלה במספרים רומיים. נראה שאין חוזרים למשתמש, ונראה שיש שגיאה שצריך לטפל בה.

בדיקות יכולות לעזור באיתור ובביטול שגיאות, ו-Gemini Code Assist יכול לעזור לנו לכתוב בדיקות ולהשתמש בהן.

5. הוספת בדיקות

חזור לחלון של Gemini Chat ושאל

How can I test the number_to_roman function?

קוראים את התשובה, שבה צריך לדון במודול unittest ובמודול pytest.

ייתכן שתרצה ש-Gemini Code Assist יכתוב את הבדיקות עבורך. פתח את calendar.py, שבו נמצא קוד ההמרה בפועל, בעורך, חזור לחלון של Gemini Chat ושאל שוב

How can I test the number_to_roman function?

התשובה ספציפית יותר עכשיו, גם אם היא כוללת מודול unittest שאפשר להעתיק או להחדיר לקובץ חדש:

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")

יכול להיות שתראו קוד שונה מהדוגמה שלמעלה. המודלים הבסיסיים של Gemini Code Assist מתעדכנים מעת לעת, כך שהתשובות לא תמיד יהיו זהות. אם אתם רואים קבוצה שונה של קוד, עכשיו תוכלו לבחור אם להמשיך עם הדוגמאות שמוצגות ב-Codelab הזה על ידי העתקת הקוד שמוצג כאן. לחלופין, תוכלו לנסות את התשובה החלופית שקיבלתם עכשיו מ-Gemini Code Assist. אם יש לכם זמן, תוכלו אפילו לנסות את שני הנתיבים. Gemini Code Assist הוא עוזר קידוד שניתן להשתמש בו לפי הצורך.

לוחצים על החץ הכפול בפינה השמאלית העליונה של חלון Gemini Chat כדי ליצור קובץ חדש שמכיל את הקוד לבדיקת היחידה, או משתמשים בסביבת הפיתוח המשולבת (IDE) כדי ליצור קובץ חדש ולהדביק את הקוד שמופיע בשיעור ה-Lab הזה. הקש על CTRL-S או CMD-S בחלון הזה כדי לשמור אותו, והתקשר לקובץ השמור calendar-unittest.py.

חוזרים ל-Terminal ומקישים על CTRL-C כדי להפסיק את שרת האינטרנט שעזבתם קודם לכן, כדי לקבל הודעת מעטפת. מזינים את הפקודה.

python3 calendar-unittest.py

כדי להריץ את הבדיקות החדשות.

אין פלט. זה לא מה שציפיתי. האם הכול עבר בשקט? כדאי לדעת על כך. בדוק את התשובה של Gemini Code Assist, שכללה את קוד הבדיקה. מתחת לקוד הופיע מידע נוסף על אופן ההפעלה של תרחיש הבדיקה:

run-unittest.png

נסו להריץ את הפקודה המומלצת:

python -m unittest discover

יכול להיות שיש בעיה אם המחשב לא מוסיף את הפקודה python3 לפקודה python, ובמקרה כזה מריצים את:

python3 -m unittest discover

הפקודה פועלת אבל מחזירה Ran 0 tests in 0.000s. המודול כולל מספר בדיקות. מה קורה?

זו המילה האחרונה בפקודה, discover. מאיפה הוא הגיע? נראה ש-Gemini Code Assist ציפה שקוד הבדיקה יישמר בקובץ בשם discover או discover.py, אבל הוא לא ציין זה מה שעליך לעשות. מאחר ששמרת את הקובץ בפועל ב-calendar-unittest.py, נסה להריץ את הפקודה:

python3 -m unittest calendar-unittest

עכשיו אתם רואים הרבה פלט, מתחיל במשהו כזה:

$ 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

השורה הראשונה מציגה נקודה לכל בחינה שעוברת, ו-F לכל בחינה שנכשלה. רוב הבדיקות נכשלו! לאחר מכן הוא מפרט בנפרד את הבדיקות שנכשלו, ומראה את הפלט הצפוי ואת הפלט בפועל. לא ברור באיזה סדר בוצעו הבדיקות האלה. הבדיקה הייתה בסדר אלפביתי לפי שם הבדיקה, לא לפי הסדר שבו הבדיקות מופיעות בקובץ. לכן, test_convert_1 רצה קודם, אחר כך test_convert_1990, לאחר מכן test_convert_2023 וכו'. מקרי הבדיקה עבור 1 ו-2023 הם היחידים שעברו.

כשניסית את הקוד הזה בפעם הראשונה, שמת לב שהוא המיר את 24 ל-XXIIII, שלא הייתה טעות מדויקת, אבל הוא לא הטופס הנפוץ שבו בוצעה המרה של IIII ל-IV. כל הבדיקות שנכשלו היו עבור מקרים דומים. כשהבעיה הזו זוהתה לראשונה, שיעור ה-Lab אמר ש"מכיוון שזה לא ממש שגוי (שימו לב ששעונים רבים מציגים את 4 כמספר רומי IIII), משאירים את הבעיה הזו לשיפור עתידי."

תוכלו לשנות את מקרי הבדיקה כדי לצפות ולקבל את התשובות "לא באמת שגו", או לאשר שהגיע הזמן ל"שיפור עתידי" זה. השלב הבא הוא לתקן את הקוד בעזרת Gemini Code Assist, כדי לקבל את התשובות המקובלות יותר שהבדיקות שלנו מצפה להן.

6. שיפור הקוד

חשוב לזכור שתגובות כמו XXIIII ל-24, במקום התגובות הנפוצות יותר XXIV, נחשבו כ'לא ממש שגויות' ונדחו לשיפור עתידי. העתיד הזה כבר כאן. התשובות "לא ממש שגויות" עדיין מעצבנות.

הכלל הראשון במספרים רומיים הוא: בכל פעם שיש ארבע ספרות זהות ברצף, צריך להחליף אותן באחת מהספרות ואחריה הספרה הבאה אחריה. לכן צריך להחליף את XXIIII ב-XXIV. באופן דומה, יש לשנות את XXXX ל-XL, ו-CCCC צריך להיות CD.

שאלו את Gemini Code Assist איך לשנות את הערך של המשתנה roman בדיוק לפני שהוא מוחזר על ידי number_to_roman:

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?

ההצעה היא להוסיף קוד בסוף:

6437c3fa2c5fabd1.png

מעתיקים/מדביקים או מקלידים את השורות האלה בעורך, ובודקים מה קורה:

dcefa568cab82fb7.png

Gemini Code Assist הוסיף עוד שורות לטיפול במקרים שבהם תוכל לפתור את הבעיה אחרי יצירת סדרת ההחלפות הראשונה. לדוגמה, המספר 19 יומר ל-XVIIII, לאחר מכן ל-XVIV ולבסוף ל-XIX הנכון.

אם Gemini Code Assist הציע הצעות שימושיות, הקש על Tab כדי לקבל את ההמלצות, לשמור את הקובץ ולהפעיל שוב את שרת האינטרנט. אחרת, יש להוסיף באופן ידני את השורות שמוצגות בדוגמה כאן ולשמור את הקובץ. כדאי לנסות המרה קשה: 1999:

a206999587fdc9.png

זה נכון.

עכשיו אפשר להריץ מחדש את הבדיקות. כולם עוברים!

נראה שאפליקציית האינטרנט מוכנה לעבור לייצור.

‫7. פריסה ב-Cloud Run

Cloud Run יפעיל עבורך יישום בקונטיינרים באינטרנט. באפליקציות שנכתבות באמצעות frameworks נפוצות, כמו Flash, הפקודה gcloud run deploy אפילו תיצור עבורך את הקונטיינר הזה לפני שתפרוס אותו. מריצים את הפקודה:

gcloud run deploy

במסוף. כשמוצגת השאלה מה המיקום של קוד המקור, מקישים על Enter כדי לאשר את המיקום הנכון שהוא מציע. באופן דומה, כשמוצגת בקשה לתת שם לשירות, מקישים על Enter כדי לקבל את ההצעה.

הפקודה עלולה להיכשל כי ל-gcloud אין אפשרות לקבוע באיזה פרויקט להשתמש. במקרה כזה, מריצים את הפקודה:

gcloud config set core/project <project-id>

כאשר מוחלף במזהה הפרויקט, שיכול להיות זהה לשם הפרויקט. לאחר מכן, מריצים מחדש את הפקודה gcloud run deploy.

  • הפקודה תציג לכם בקשה שיש צורך בממשקי API מסוימים והם עדיין לא מופעלים. הזן y כדי שהם יופעלו.
  • כשתתבקשו לבחור אזור, תצטרכו לבחור אזור שנוח לכם. הזנת המספר התואם ל-us-central1 היא בחירה בטוחה.
  • כשמוצגת בקשה לעשות זאת, מקישים על Y כדי להמשיך.
  • כדאי לאפשר הפעלות unauthenticated של שירות Cloud Run הזה. אפשרות האימות שבה משתמש Cloud Run מתאימה לשימוש בתוכנות שקוראות לשירות. מכיוון שמדובר באתר, לא תשתמש באימות.

מערכת Google Cloud תבנה את הקונטיינר, תפרוס אותו, תנתב את תעבורת הנתונים אליו ותגדיר מדיניות גישה, ואז תציג לכם את הקישור לדף הבית:

94ba7d8d63a44afd.png

אפשר להיכנס לקישור הזה ולגשת לאפליקציה.

a2e51666dfd33a9f.png

מזינים מספר, מקישים על Enter ו-tada!

5021535ac991a95c.png

מה!?!

זה עבד במחשב שלך! למה הסרטון לא הסתיים?

יש לנו טיפים שיעזרו לך. רוצה לגלות? לשאול את Gemini Code Assist,

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

4b24321251d6eddf.png

נראה ש-Gemini Code Assist יכול לקרוא את קובץ היומן, שבו כתוב משהו דומה. בוא נשאל את Gemini Code Assist איך תוכל לראות את הרישום ביומנים בעצמך:

92d1855be73ef1d.png

קדימה, עשה זאת. חפשו שורות עם סימני !! אדומים של שגיאה, כפי שמתואר בהמשך:

9bed4f9ed82de21c.png

לאחר מכן מופיעות הרבה שורות של פרטים על מקבץ השיחות שהגיעו לכאן, אבל הנה:

47fc93be845f4e3f.png

כשאתם מסתכלים בקובץ calendar.py, אתם רואים את הפונקציה number_to_roman. ואתם יודעים שזה נכון כי זה עבד במחשב שלכם. מה יכול להיות שונה ב-Cloud Run?

התשובה מורכבת. ב-Python3 יש מודול סטנדרטי בשם calendar, בדיוק כמו בקובץ calendar.py שבו מוגדרת הפונקציה number_to_roman. במחשב המקומי שלכם, כשמערכת Python חיפשה מודול בשם calendar, היא חיפשה קודם את ספריית האפליקציות שלכם. נראה ש-Python ב-Cloud Run חיפש קודם מודולים סטנדרטיים, ייבא אותם ולא מצא פונקציה number_to_roman.

ההבדלים האלה בין סביבות תמיד אפשריים. למרבה המזל, כשאפליקציה נמצאת בקונטיינרים היא נושאת את הסביבה שלה, כך שבכל מקום שבו תפעילו אותה תוכלו לצפות לאותה התנהגות. אם הייתם מפעילים באופן מקומי את אותה אפליקציה בקונטיינרים שיש ב-Cloud Run, הייתם נתקלים באותה בעיה.

תקן בעיה זו. עליך לשנות את השם של המודול של היומן המקומי לשם שאינו שם של מודול סטנדרטי. משנים את השם של הקובץ calendar.py ל-my_calendar.py, ואז משנים את השורות של import calendar ב-main.py וב-calendar-unittest.py ל-import my_calendar. לבסוף, משנים את הקו

roman = calendar.number_to_roman(number)

עד

roman = my_calendar.number_to_roman(number)

אפשר לנסות אותה באופן מקומי, להריץ את הבדיקות ואז לפרוס מחדש:

gcloud run deploy

ועכשיו זה עובד:

ed288801c6825eb1.png

אתם יכולים לשתף את כתובת ה-URL הזו, וכל מי שצריך כלי להמרת מספרים רומיים יוכל להשתמש בכתובת שלכם.

‫8. אופציונלי: שיפור המראה

האפליקציה שלך פועלת כראוי, וכל אחד באינטרנט יכול לגשת אליה. אבל הוא נראה קצת פשוט. לפני שתספר לכולם על זה, למה לא לבקש מ-Gemini Code Assist לשפר את המראה שלו?

פותחים את הקובץ templates/index.html. בחלון הצ'אט של Gemini, שואלים:

Make this index.html file use material design.

התגובה היא להוסיף תוספות לקובץ הנוכחי, והתוצאה תהיה דומה לזו:

<!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>

משתמשים בסמל כדי להעתיק את הקוד המוצע ולהדביק את התוכן הקיים של index.html. בטרמינל, מריצים את python3 main.py ולוחצים על הקישור כדי לפתוח חלון של תצוגה מקדימה. עכשיו הדף קצת פחות ברור:

295643ec03fcaafc.png

אם תרצו, תוכלו לחזור על הפעולה הזו עם הקובץ convert.html.

Gemini Code Assist מכיר לא מעט CSS ויכול לעזור לך לעצב את דפי האפליקציה במגוון דרכים. זוהי רק התחלה.

מאחר שאתם רוצים לשתף את האפליקציה, אל תשכחו לפרוס אותה מחדש ב-Cloud Run:

gcloud run deploy

ניתן להעביר את כתובת ה-URL לאנשים שצריכים להמיר למספרים רומיים.

‫9. כל הכבוד!

כל הכבוד! עבדת בהצלחה עם Gemini Code Assist כדי להוסיף בדיקות לאפליקציה, לתקן שגיאות באפליקציה ולהוסיף פונקציונליות משופרת.

בסיום השימוש באפליקציה שבנית, תוכל למחוק אותה ממרכז השליטה של מסוף Cloud כדי להפסיק חיובים עתידיים.

מסמכי עזר...