Junior
Akými programovacími jazykmi automatizujete rutinné úlohy vo svojej práci?
sobes.tech AI
Odpoveď od AI
Python. Flexibilita, bogate knjižnice (os, subprocess, requests, paramiko) in široka skupnost ga naredijo odlično izbiro za skripte avtomatizacije uvajanja, spremljanja in upravljanja infrastrukture.
Bash. Nujno za pisanje shell skript, avtomatizacijo nalog ukazne vrstice, delo z datotekami in direktoriji ter integracijo različnih orodij v CI/CD pipeline.
Go. Uporabljam ga za pisanje zmogljivejših in bolj zapletenih orodij za avtomatizacijo, mikroservise in utilitarne programe, kjer je pomembna hitrost izvajanja in paralelizem.
Včasih uporabljam Ruby ali Perl za delo z legacy sistemi ali skripti, napisanimi prej.
Primer avtomatizacije v Python:
import subprocess
import os
def deploy_app(server_ip, app_path):
"""
Razporedi aplikacijo na oddaljeni strežnik.
"""
try:
# Primer ukazov scp in 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"Aplikacija {app_path} uspešno razporejena na {server_ip}")
except subprocess.CalledProcessError as e:
print(f"Napaka pri razporejanju: {e}")
# Primer klica funkcije
# deploy_app("192.168.1.10", "/path/to/my_app.tar.gz")
Primer avtomatizacije v Bash:
#!/bin/bash
# Samodejno brisanje starih logov
LOG_DIR="/var/log/myapp"
FIND_CMD="find ${LOG_DIR} -type f -mtime +7 -name '*.log'"
# Brisanje logov starejših od 7 dni
eval "${FIND_CMD} -delete" || { echo "Napaka pri brisanju logov"; exit 1; }
echo "Stari logi so bili izbrisani."