Pengembangan Kode dengan Bantuan AI untuk Developer
Francesca Donadoni
AI Curriculum Manager, DataCamp
Tulis fungsi Python untuk mem-parsing alamat email.
Tulis fungsi Python untuk mem-parsing alamat email. Fungsi harus lulus tes berikut:
- Menerima alamat valid seperti "[email protected]".
- Menolak input tidak valid seperti "user@@domain".
- Menghasilkan ValueError untuk input kosong.
Permintaan Pengguna: Buat unit test di Python untuk fungsi yang memproses data formulir pengguna dan memasukkannya ke dalam database SQL.
Respon Model:
Berikut adalah suite pytest siap pakai yang mencakup validasi, normalisasi, keamanan dari injeksi SQL, dan perilaku transaksi untuk fungsi yang memproses data formulir dan memasukkan catatan ke dalam database SQL.
[...]
# ---------- Fixture DB Test ----------
@pytest.fixture()
def conn():
"""DB SQLite dalam memori dengan tabel pengguna."""
c = sqlite3.connect(":memory:") [...]
Permintaan Pengguna: Buat unit test Python menggunakan pytest untuk fungsi berikut. Sertakan kasus untuk input kosong, kata kunci SQL dalam input, dan karakter khusus. Asumsikan koneksi database tiruan. <INSERT FUNCTION>
Respon Model:
Berikut adalah modul tes pytest mandiri yang menggunakan tiruan (bukan DB nyata) dan mencakup input kosong, kata kunci SQL, dan karakter khusus. Juga memverifikasi perilaku commit/close dan bahwa pengecualian ditangani.
[...]
@pytest.fixture
def mock_sqlite_connect(monkeypatch):
"""
Patch sqlite3.connect untuk mengembalikan koneksi MagicMock + cursor.
[...]
$$
Pindai fungsi Python berikut untuk potensi kerentanan dan sarankan alternatif yang lebih aman jika ditemukan.
$$
Tinjau kode ini untuk masalah keamanan web umum, termasuk injeksi SQL, XSS, dan kekurangan validasi input.

def login(username, password):
query = f"SELECT * FROM users WHERE username = '{username}' \
AND password = '{password}'"
result = db.execute(query)
return result.fetchone()
Berikut adalah audit OWASP Top 10 untuk fungsi login Anda, serta penulisan ulang yang lebih aman.
username = "admin' --" → melewati pemeriksaan kata sandi. [...]Pengembangan Kode dengan Bantuan AI untuk Developer