Programare asistată de AI pentru dezvoltatori
Francesca Donadoni
AI Curriculum Manager, DataCamp
Scrieți o funcție Python pentru a analiza adrese de e-mail.
Scrieți o funcție Python pentru a analiza adrese de e-mail. Aceasta trebuie să treacă următoarele teste:
- Acceptă o adresă validă, cum ar fi „[email protected]".
- Respinge o intrare invalidă, cum ar fi „user@@domain".
- Generează un ValueError pentru intrări goale.
Prompt utilizator: Generați teste unitare în Python pentru o funcție care procesează date dintr-un formular trimis de utilizator și le inserează într-o bază de date SQL.
Răspuns model:
Iată o suită pytest funcțională care acoperă validarea, normalizarea, siguranța la SQL injection și comportamentul tranzacțiilor pentru o funcție ce procesează date din formular și inserează o înregistrare în baza de date SQL.
[...]
# ---------- Test DB fixtures ----------
@pytest.fixture()
def conn():
"""In-memory SQLite DB with a users table."""
c = sqlite3.connect(":memory:") [...]
Prompt utilizator: Generați teste unitare Python folosind pytest pentru funcția de mai jos. Includeți cazuri pentru intrări goale, cuvinte cheie SQL în intrare și caractere speciale. Presupuneți o conexiune mock la baza de date. <INSERT FUNCTION>
Răspuns model:
Iată un modul de teste pytest autonom care utilizează mock-uri (fără o bază de date reală) și acoperă intrările goale, cuvintele cheie SQL și caracterele speciale. Verifică, de asemenea, comportamentul commit/close și gestionarea excepțiilor.
[...]
@pytest.fixture
def mock_sqlite_connect(monkeypatch):
"""
Patch sqlite3.connect to return a MagicMock connection + cursor.
[...]
$$
Scanați următoarea funcție Python pentru vulnerabilități potențiale și sugerați alternative mai sigure dacă sunt identificate.
$$
Analizați acest cod pentru probleme comune de securitate web, inclusiv SQL injection, XSS și deficiențe de validare a intrărilor.

def login(username, password):
query = f"SELECT * FROM users WHERE username = '{username}' \
AND password = '{password}'"
result = db.execute(query)
return result.fetchone()
Iată un audit OWASP Top 10 al funcției de autentificare, împreună cu o variantă mai sigură.
username = "admin' --" → ocolește verificarea parolei. [...]Programare asistată de AI pentru dezvoltatori