Programmazione assistita dall'AI per sviluppatori
Francesca Donadoni
AI Curriculum Manager, DataCamp
Scrivi una funzione Python per analizzare indirizzi email.
Scrivi una funzione Python per analizzare indirizzi email. Deve superare i seguenti test:
- Accetta un indirizzo valido come "[email protected]".
- Rifiuta input non validi come "user@@domain".
- Genera un ValueError per input vuoti.
Richiesta utente: Genera test unitari in Python per una funzione che elabora dati di moduli inviati dagli utenti e li inserisce in un database SQL.
Risposta del modello:
Ecco una suite pytest pronta all'uso che copre validazione, normalizzazione, sicurezza da SQL injection e comportamento delle transazioni per una funzione che elabora dati di moduli e inserisce un record in un database SQL.
@pytest.fixture() def conn(): """In-memory SQLite DB with a users table.""" c = sqlite3.connect(":memory:") [...]
Richiesta utente: Genera test unitari in Python usando pytest per la seguente funzione. Includi casi per input vuoti, parole chiave SQL nell'input e caratteri speciali. Assumi una connessione al database simulata. <INSERT FUNCTION>
Risposta del modello:
Ecco un modulo di test pytest autonomo che utilizza mock (nessun DB reale) e copre input vuoti, parole chiave SQL e caratteri speciali. Verifica anche il comportamento di commit/close e che le eccezioni siano gestite.
$$
Analizza la seguente funzione Python per potenziali vulnerabilità e suggerisci alternative più sicure se ne trovi.
$$
Esamina questo codice per problemi comuni di sicurezza web, inclusi SQL injection, XSS e difetti di validazione dell'input.

def login(username, password):
query = f"SELECT * FROM users WHERE username = '{username}' \
AND password = '{password}'"
result = db.execute(query)
return result.fetchone()
Ecco un audit OWASP Top 10 della tua funzione di login, con una riscrittura più sicura.
username = "admin' --" → aggira il controllo della password. [...]Programmazione assistita dall'AI per sviluppatori