Coding, Debugging និង Prototype
ផ្ដល់ Code, Error, Environment និង Expected behavior ដើម្បីពន្យល់ កែ និងធ្វើ Tests។
មេរៀនទី១៨ ៖ «Coding, Debugging និង Prototype» នឹងណែនាំអ្នកឱ្យយល់ច្បាស់ពី ផ្ដល់ Code, Error, Environment និង Expected behavior ដើម្បីពន្យល់ កែ និងធ្វើ Tests។
១. Gemini ក្នុងការសរសេរកូដ និង Native Terminal Sandbox
Google Gemini គឺជាឧបករណ៍ដ៏មានឥទ្ធិពលបំផុតមួយសម្រាប់ Developers និងវិស្វករបច្ចេកវិទ្យា។ ម៉ូដែល Gemini 2.0 Flash និង 1.5 Pro ត្រូវបានបណ្តុះបណ្តាលជាមួយ Source Code រាប់ពាន់លានបន្ទាត់នៃភាសាកូដឈានមុខគេ ដូចជា៖ Python, JavaScript, TypeScript, HTML/CSS, SQL, Go, Rust, C++, និង Bash Scripting។
លើសពីនេះ Gemini មាន Native Code Execution Sandbox ដែលអនុញ្ញាតឱ្យ AI ដំណើរការកូដ Python ផ្ទាល់ក្នុង Cloud Environment ដើម្បីធ្វើតេស្ត និងផ្ទៀងផ្ទាត់លទ្ធផលមុនពេលបញ្ចេញចម្លើយមកកាន់អ្នក។
ទោះជាយ៉ាងនេះក្តី កំហុសដ៏ធំបំផុតរបស់ Developers ភាគច្រើននៅពេលសួរ AI ឱ្យជួយ Debugging គឺការផ្ញើតែពាក្យខ្លីៗដូចជា «កូដខ្ញុំ Error ជួយកែបន្តិច»។ ដើម្បីឱ្យ Gemini ដោះស្រាយកំហុសបានត្រឹមត្រូវ ១០០% អ្នកត្រូវអនុវត្តតាម រូបមន្ត ៤ ធាតុ (Code, Error, Environment, Expected Behavior)៖
- Code (កូដដែលមានបញ្ហា)៖ ផ្តល់ Code Snippet ដែលពាក់ព័ន្ធដោយផ្ទាល់។
- Error (សារកំហុសពេញលេញ)៖ ចម្លង Full Error Message និង Stack Trace មកទាំងអស់។
- Environment (បរិស្ថានដំណើរការ)៖ បញ្ជាក់ OS និង Version (ឧ. Python 3.11, Ubuntu 22.04, React 18)។
- Expected Behavior (លទ្ធផលរំពឹងទុក)៖ ពន្យល់ពីអ្វីដែលអ្នកចង់ឱ្យកូដនោះធ្វើឱ្យប្រាកដ។
២. ករណីសិក្សាជាក់ស្តែងទាំង ៤ នៃការសរសេរកូដជាមួយ Gemini
Gemini អាចជួយសម្រាលការងារ Coding របស់អ្នកនៅគ្រប់ដំណាក់កាលនៃ Software Development Lifecycle៖
៣. បច្ចេកទេស Prompting សម្រាប់ Debugging កម្រិតខ្ពស់
ចូរពិនិត្យមើលទម្រង់ Prompt Debugging ដែលមានប្រសិទ្ធភាពបំផុត៖
# CONTEXT & ENVIRONMENT:
Python 3.11, FastAPI 0.110, PostgreSQL 15
# EXISTING CODE:
[បិទភ្ជាប់កូដរបស់អ្នកនៅត្រង់នេះ]
# FULL ERROR / STACK TRACE:
[បិទភ្ជាប់សារ Error ទាំងស្រុងនៅត្រង់នេះ]
# EXPECTED BEHAVIOR:
ខ្ញុំចង់ឱ្យ API Endpoint នេះទទួលទិន្នន័យ JSON រួចរក្សាទុកក្នុង Database ដោយមិនជួបប្រទះបញ្ហា Database Connection Pool Exhausted។
# TASK:
១. ពន្យល់ពីមូលហេតុឫសគល់នៃ Error នេះ។
២. ផ្តល់កូដដំណោះស្រាយដែលបានកែសម្រួលរួចរាល់។
៣. សរសេរ Unit Test ១ ដើម្បីផ្ទៀងផ្ទាត់។
os.getenv('API_KEY') ជានិច្ច!
៤. ការប្រៀបធៀប៖ ការសួរ Debugging ខ្វះព័ត៌មាន vs រូបមន្ត ៤ ធាតុ
ចូរពិនិត្យមើលភាពខុសគ្នានៃការដោះស្រាយកំហុសកូដ៖
៥. សុវត្ថិភាពកូដ និងការការពារ Vulnerabilities (OWASP Top 10)
នៅពេលឱ្យ AI បង្កើតកូដ អ្នកត្រូវតែមានចំណេះដឹងមូលដ្ឋានអំពីសុវត្ថិភាព Cybersecurity។ កូដដែលបង្កើតឡើងដោយ AI ពេលខ្លះអាចមានភាពងាយរងគ្រោះ (Vulnerabilities) ដូចជា៖ SQL Injection, Cross-Site Scripting (XSS), ឬ Hardcoded Secrets។
អ្នកគួរតែបន្ថែមការបញ្ជាសុវត្ថិភាពជានិច្ច៖ «សូមធានាថាកូដនេះការពារ SQL Injection តាមរយៈ Parameterized Queries និងអនុលោមតាមស្តង់ដារសុវត្ថិភាព OWASP Top 10»។
Live Gemini Lab • Code Debugger & Sandbox Studio
ជ្រើសរើសប្រភេទបញ្ហាកូដខាងក្រោមដើម្បីមើលពីរបៀបដែល Gemini វិភាគ Error និងផ្តល់កូដដំណោះស្រាយ។
៦. លំហាត់អនុវត្ត PROMPT លើ GEMINI
អនុវត្តតាមរូបមន្តអាជីព៖ ROLE (តួនាទី) → CONTEXT (បរិបទ) → CONSTRAINTS (ដែនកំណត់) → FORMAT (ទម្រង់ចម្លើយ)។
ខ្ញុំកំពុងជួបបញ្ហាក្នុងកូដ Python 3.11 ជាមួយបណ្ណាល័យ Pandas៖ ```python import pandas as pd df = pd.read_csv('sales.csv') df['Total'] = df['Price'] * df['Quantity'] ``` Error Message: `TypeError: can't multiply sequence by non-int of type 'float'` សូមជួយខ្ញុំ ៣ ជំហាន៖ ១. ពន្យល់ពីមូលហេតុនៃ Error នេះ។ ២. ផ្តល់កូដដំណោះស្រាយដើម្បី Convert Data Types ឱ្យបានត្រឹមត្រូវ។ ៣. សរសេរ Unit Test ១ ដើម្បីផ្ទៀងផ្ទាត់។
៧. ពិនិត្យការយល់ដឹង (QUIZ)
តើអ្វីទៅជារូបមន្ត ៤ ធាតុដ៏សំខាន់បំផុតដែលអ្នកត្រូវផ្តល់ឱ្យ Gemini នៅពេលសុំឱ្យវាជួយដោះស្រាយកំហុសកូដ (Debugging)?
៨. ចំណុចសំខាន់ដែលត្រូវចងចាំ
- Gemini មាន Native Code Execution Sandbox សម្រាប់ដំណើរការ និងផ្ទៀងផ្ទាត់កូដ Python។
- អនុវត្តរូបមន្ត ៤ ធាតុជានិច្ចសម្រាប់ Debugging៖ Code + Error + Environment + Expected Behavior។
- ការពារសុវត្ថិភាព Cybersecurity និងកុំបញ្ចូល Secrets ឬ Passwords ចូលទៅក្នុង Prompts។
អនុសាសន៍អនុវត្ត៖ យកទ្រឹស្តីក្នុងមេរៀនទី១៨នេះ ទៅសាកល្បងជាមួយកិច្ចការងារជាក់ស្តែងរបស់អ្នកថ្ងៃនេះភ្លាមៗ ដើម្បីបង្កើនល្បឿន និងភាពស្ទាត់ជំនាញ។
កំពុងបង្កើតជំនាញ Gemini របស់អ្នក
បន្តអានគ្រប់ Checkpoint និងឆ្លើយ Quiz ដើម្បីបើកស្ថានភាព Mission Complete របស់អ្នក។
សូមត្រៀមខ្លួនសម្រាប់មេរៀនបន្ទាប់៖ «មេរៀនទី១៩ ៖ Privacy, Security និង Human Approval»។
by