Welke programmeertalen gebruik je om routinetaken in je werk te automatiseren?
sobes.tech AI
Antwoord van AI
Python. Bu fleksibel, rijk aan bibliotheken (os, subprocess, requests, paramiko) en een grote gemeenschap maken het een uitstekende keuze voor automatiseringsscripts voor implementatie, monitoring en infrastructuurbeheer.
Bash. Noodzakelijk voor het schrijven van shell-scripts, het automatiseren van commandolijn taken, werken met bestanden en mappen, en het integreren van verschillende tools in CI/CD pipelines.
Go. Ik gebruik het voor het schrijven van efficiëntere en complexere automatiseringstools, microservices en hulpprogramma's, waar snelheid en parallelisme belangrijk zijn.
Soms gebruik ik Ruby of Perl voor het werken met legacy-systemen of scripts die eerder zijn geschreven.
Voorbeeld van automatisering in Python:
import subprocess
import os
def deploy_app(server_ip, app_path):
"""
Deployt een applicatie op een externe server.
"""
try:
# Voorbeeld van commando's voor scp en 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"Applicatie {app_path} succesvol gedeployed op {server_ip}")
except subprocess.CalledProcessError as e:
print(f"Fout bij deployment: {e}")
# Voorbeeld van het aanroepen van de functie
# deploy_app("192.168.1.10", "/path/to/my_app.tar.gz")
Voorbeeld van automatisering in Bash:
#!/bin/bash
# Automatische verwijdering van oude logs
LOG_DIR="/var/log/myapp"
FIND_CMD="find ${LOG_DIR} -type f -mtime +7 -name '*.log'"
# Verwijder logs ouder dan 7 dagen
eval "${FIND_CMD} -delete" || { echo "Fout bij het verwijderen van logs"; exit 1; }
echo "Oude logs verwijderd."