Junior
Quali linguaggi di programmazione usi per automatizzare le attività ripetitive nel tuo lavoro?
sobes.tech AI
Risposta dell'AI
Python. Flessibilità, ricche librerie (os, subprocess, requests, paramiko) e una vasta comunità lo rendono una scelta eccellente per script di automazione di deployment, monitoraggio e gestione dell'infrastruttura.
Bash. Necessario per scrivere script shell, automatizzare compiti da riga di comando, lavorare con file e directory, e integrare vari strumenti in pipeline CI/CD.
Go. Lo uso per scrivere strumenti di automazione più performanti e complessi, microservizi e utilità, dove la velocità di esecuzione e il parallelismo sono importanti.
A volte uso Ruby o Perl per lavorare con sistemi legacy o script scritti in precedenza.
Esempio di automazione in Python:
import subprocess
import os
def deploy_app(server_ip, app_path):
"""
Distribuisce un'applicazione su un server remoto.
"""
try:
# Esempio di comando per scp e ssh
subprocess.run(["scp", app_path, f"user@{server_ip}:/opt/app/"], check=True)
subprocess.run(["ssh", f"user@{server_ip}", "sudo systemctl restart myapp"], check=True)
print(f"Applicazione {app_path} distribuita con successo su {server_ip}")
except subprocess.CalledProcessError as e:
print(f"Errore durante la distribuzione: {e}")
# Esempio di chiamata funzione
# deploy_app("192.168.1.10", "/path/to/my_app.tar.gz")
Esempio di automazione in Bash:
#!/bin/bash
# Pulizia automatica dei log vecchi
LOG_DIR="/var/log/myapp"
FIND_CMD="find ${LOG_DIR} -type f -mtime +7 -name '*.log'"
# Rimuove i log più vecchi di 7 giorni
eval "${FIND_CMD} -delete" || { echo "Errore durante l'eliminazione dei log"; exit 1; }
echo "Log vecchi eliminati."