Questo snippet genera un'interfaccia di paginazione usando la sintassi dei template Smarty. Mostra i link precedente/successivo, evidenzia la pagina attuale e aggiunge i puntini di sospensione se ci sono molte pagine.
Questa funzione PHP calcola la distanza tra due coordinate geografiche usando la formula dell'Haversine e supporta chilometri, miglia nautiche e miglia.
Questo script termina tutti i processi che corrispondono al nome 'stats_snapshot' usando `pkill`, e controlla poi con `ps` e `grep` se ci sono ancora processi attivi.
Questo comando rimuove i caratteri di ritorno a capo (`\r`) da un file (di solito provenienti da file formattati per Windows) e scrive il contenuto pulito in un nuovo file. Utile per convertire i ritorni a capo da Windows a formato Unix.
sed 's/\r$//' docker/docker-compose.yml > docker/docker-compose2.yml
Questo comando cerca ricorsivamente i file che contengono una parola specifica (in questo caso 'article') e ne elenca i percorsi. È utile per trovare rapidamente dove appare una determinata parola in un progetto o in una cartella di documenti.
Questo snippet PHP controlla se è presente il parametro 'query' nella richiesta e inizializza un array di criteri di ricerca usando l'operatore `$or`. Questa struttura permette di eseguire ricerche flessibili su più campi e può essere estesa per supportare caratteri speciali o pattern di ricerca avanzati.
Questo comando Docker cancella il file di log di un container in esecuzione (es. `photoprism`) reindirizzando un input vuoto (`:`) al percorso dei log ottenuto tramite `docker inspect`. È un metodo rapido per ridurre l'uso del disco senza fermare il container, ma va usato con cautela per non perdere log importanti.
Questo comando termina forzatamente tutti i processi in esecuzione con un determinato nome—nel caso specifico `rsync`—utilizzando `kill -9` e `pidof`. È utile per fermare più istanze contemporaneamente, ma `-9` invia SIGKILL, che interrompe subito il processo senza possibilità di pulizia. Usare con cautela.
Questo comando utilizza `du` per calcolare l'uso del disco degli elementi nella directory corrente (senza ricorsione), mostrando le dimensioni in megabyte. Poi usa `sort` per ordinarli in ordine decrescente di dimensione. Utile per identificare cosa occupa più spazio.
Questo comando ispeziona un container Docker e filtra l'output con `grep` per mostrare l'etichetta `working_dir`. Ti indica la directory della macchina host da cui è stato avviato il container. Utile per il debugging con Docker Compose.
Questo script Bash automatizza il processo di creazione di una monorepo combinando più repository esistenti. Crea una directory principale, inizializza Git, clona ogni repo, sposta i contenuti in sottocartelle separate, rinomina i tag, unisce tutto nella monorepo mantenendo la cronologia Git e aggiorna un README con i link a ciascun repo integrato.
#!/bin/bash
# List of repository names (update with actual repository names)
repos=("repo-1" "repo-2" "repo-3" "repo-4" "repo-5" "repo-6" "repo-7" "repo-8" "repo-9" "repo-11" "repo-12" "repo-13" "repo-14" "repo-15" "repo-16" "repo-17" "repo-18" "repo-19" "repo-20" "repo-21" "repo-22" "repo-23" "repo-24" "repo-25" "repo-26" "repo-27")
# Step 1: Create the monorepo
mkdir monorepo
cd monorepo
git init
echo "# Monorepo" > README.md
echo -e "\n## Included Repositories\n" >> README.md
git add README.md
git commit -m "Initial commit with README.md structure"
cd ..
mkdir repos
# Step 2: Clone each repo, move files into its own folder, and rename tags
for reponame in "${repos[@]}"; do
cd repos
git clone https://github.com/yourgithubaccount/$reponame.git
cd $reponame
mkdir -p $reponame
find . -maxdepth 1 ! -name .git ! -name . -exec mv {} $reponame/ \;
git add .
git commit -m "Moved repo content into folder $reponame"
git tag -l | xargs -I {} git tag "$reponame-{}"
cd ..
cd ..
done
# Step 3: Add each repository as a remote, merge into the monorepo, and update README.md
cd monorepo
count=1
for reponame in "${repos[@]}"; do
git remote add -f $reponame ../repos/$reponame
git merge $reponame/master --allow-unrelated-histories --no-edit
echo "$count. [$reponame](./$reponame)" >> README.md
((count++))
done
git add README.md
git commit -m "Updated README.md with links to merged repositories"