การเขียนโค้ดด้วยความช่วยเหลือของ AI สำหรับนักพัฒนา
Francesca Donadoni
AI Curriculum Manager, DataCamp
เขียนฟังก์ชัน Python สำหรับแยก email address.
เขียนฟังก์ชัน Python สำหรับแยก email address โดยให้ผ่านเทสต์ดังต่อไปนี้:
- รับ address ที่ถูกต้อง เช่น "[email protected]"
- ปฏิเสธ input ที่ไม่ถูกต้อง เช่น "user@@domain"
- โยน ValueError เมื่อ input ว่างเปล่า
User prompt: สร้าง unit tests ใน Python สำหรับฟังก์ชันที่ประมวลผลข้อมูลฟอร์มที่ผู้ใช้ส่งมาและบันทึกลงฐานข้อมูล SQL
Model response:
นี่คือชุด pytest ที่รันได้ทันที ครอบคลุมการ validation, normalization, ความปลอดภัยจาก SQL injection และพฤติกรรม transaction สำหรับฟังก์ชันที่ประมวลผลข้อมูลฟอร์มและบันทึก record ลงฐานข้อมูล SQL
[...]
# ---------- Test DB fixtures ----------
@pytest.fixture()
def conn():
"""In-memory SQLite DB with a users table."""
c = sqlite3.connect(":memory:") [...]
User prompt: สร้าง Python unit tests โดยใช้ pytest สำหรับฟังก์ชันต่อไปนี้ ให้ครอบคลุมกรณี input ว่าง, SQL keyword ใน input และอักขระพิเศษ โดยใช้ mock database connection <INSERT FUNCTION>
Model response:
นี่คือโมดูล pytest แบบ self-contained ที่ใช้ mock (ไม่ต้องการ DB จริง) ครอบคลุม input ว่าง, SQL keyword และอักขระพิเศษ รวมถึงตรวจสอบพฤติกรรม commit/close และการจัดการ exception
[...]
@pytest.fixture
def mock_sqlite_connect(monkeypatch):
"""
Patch sqlite3.connect to return a MagicMock connection + cursor.
[...]
$$
สแกนฟังก์ชัน Python ต่อไปนี้เพื่อหาช่องโหว่ที่อาจเกิดขึ้น และเสนอแนวทางที่ปลอดภัยกว่าหากพบ
$$
ตรวจสอบโค้ดนี้สำหรับปัญหาความปลอดภัยของเว็บที่พบบ่อย ได้แก่ SQL injection, XSS และช่องโหว่ด้าน input validation

def login(username, password):
query = f"SELECT * FROM users WHERE username = '{username}' \
AND password = '{password}'"
result = db.execute(query)
return result.fetchone()
นี่คือผลการตรวจสอบ OWASP Top 10 สำหรับฟังก์ชัน login พร้อมการเขียนใหม่ที่ปลอดภัยกว่า
username = "admin' --" → ข้ามการตรวจสอบรหัสผ่าน [...]การเขียนโค้ดด้วยความช่วยเหลือของ AI สำหรับนักพัฒนา