Dario
Mi chiamo Dario Del Bel Belluz, ho 30 anni e sono laureato in Economia. Tramite questo blog voglio divulgare le mie conoscenze base di informatica.
Buona lettura!
Published: August 13, 2024
Sono Dario, grazie per aver visitato il mio blog!
Mi chiamo Dario Del Bel Belluz, ho 30 anni e sono laureato in Economia. Tramite questo blog voglio divulgare le mie conoscenze base di informatica.
Buona lettura!
Published: August 13, 2024
Published: August 13, 2024
Ho realizzato un mini gestionale che serve per organizzare gli ordini di un ipotetico ristorante. L'applicazione è stata sviluppata con un framework di php, Laravel e si basa su un database postgresql. Nel mini-gestionale è possibile creare anagrafiche, creare degli ordini, eliminarli, modificarli e stamparli in formato pdf.
Le tabelle che compongono l'applicativo sono:
Published: August 13, 2024
Php (pre-processore di ipertesti), è un linguaggio di scripting interpretato concepito principalmente per la programmazione web lato server.
In questa piccola lezione vedremo come si dichiara un array e successivamente come ciclarlo.
<?php
$array = ["Luca", "Mario", "Dario", "Andrea"];
?>
<?php
for ($i = 0; $i < count($array); $i++){
echo $array;
}
?>
Published: August 13, 2024
La classe è un concetto cardine della programmazione orientata agli oggetti.
In questa mini-lezione vedremo un'esempio in linguaggio php (pre-processore di ipertesti).
Una classe vuole rappresentare un elemento pseudo-reale in forma programmatica.
Una classe è quindi una struttura dati complessa, che si compone di:
- proprietà;
- metodi.
Vediamo un esempio di un'ipotetica classe Persona che comprende sia delle proprietà che dei metodi.
public class Persona{
public $nome;
public $cognome;
public $eta;
// Metodo Costruttore della classe
public function __construct($nome, $cognome, $età) {
$this->nome = $nome;
$this->cognome = $cognome;
$this->età = $età;
}
public function getName(){
return $this->nome . " " . $this->cognome;
}
}
Creazione di un'istanza di classe persona mediante il costruttore della classe.
$dario = new Persona("Dario", "Del Bel Belluz", 30);
echo ($dario->getName());
Mediante il costruttore della classe abbiamo creato un'istanza di classe Persona, passando dei parametri direttamente al costruttore della classe.
Published: August 13, 2024
In questa guida vedremo come realizzare un server linux dove possiamo ascoltare la musica.
sudo apt update
sudo apt upgrade
sudo apt install vim ffmpeg
sudo install -d -o <user> -g <group> /opt/navidrome
sudo install -d -o <user> -g <group> /var/lib/navidrome
wget https://github.com/navidrome/navidrome/releases/download/v0.XX.X/navidrome_0.XX.X_linux_amd64.tar.gz -O Navidrome.tar.gz
sudo tar -xvzf Navidrome.tar.gz -C /opt/navidrome/
sudo chown -R <user>:<group> /opt/navidrome
MusicFolder = "<library_path>"
cd /etc/systemd/system/
sudo nano navidrome.service
[Unit]
Description=Navidrome Music Server and Streamer compatible with Subsonic/Airsonic
After=remote-fs.target network.target
AssertPathExists=/var/lib/navidrome
[Install]
WantedBy=multi-user.target
[Service]
User=<user>
Group=<group>
Type=simple
ExecStart=/opt/navidrome/navidrome --configfile "/var/lib/navidrome/navidrome.toml"
WorkingDirectory=/var/lib/navidrome
TimeoutStopSec=20
KillMode=process
Restart=on-failure
# See https://www.freedesktop.org/software/systemd/man/systemd.exec.html
DevicePolicy=closed
NoNewPrivileges=yes
PrivateTmp=yes
PrivateUsers=yes
ProtectControlGroups=yes
ProtectKernelModules=yes
ProtectKernelTunables=yes
RestrictAddressFamilies=AF_UNIX AF_INET AF_INET6
RestrictNamespaces=yes
RestrictRealtime=yes
SystemCallFilter=~@clock @debug @module @mount @obsolete @reboot @setuid @swap
ReadWritePaths=/var/lib/navidrome
# You can uncomment the following line if you're not using the jukebox This
# will prevent navidrome from accessing any real (physical) devices
#PrivateDevices=yes
# You can change the following line to `strict` instead of `full` if you don't
# want navidrome to be able to write anything on your filesystem outside of
# /var/lib/navidrome.
ProtectSystem=full
# You can uncomment the following line if you don't have any media in /home/*.
# This will prevent navidrome from ever reading/writing anything there.
#ProtectHome=true
# You can customize some Navidrome config options by setting environment variables here. Ex:
#Environment=ND_BASEURL="/navidrome"
sudo systemctl daemon-reload
sudo systemctl start navidrome.service
sudo systemctl status navidrome.service
sudo systemctl enable navidrome.service
ip route
Published: August 13, 2024
In questa lezione vedremo alcuni concetti cardine della teoria delle basi di dati relazionali.
Un base di dati è una struttura, istanziata tramite un motore database, preposta alla memorizzazione di informazioni.
Le informazioni vengono salvate in degli elementi chiamate tabelle.
ID | Nome | Cognome | Età |
---|---|---|---|
1 | Mario | Rossi | 30 |
2 | Maria | Bianchi | 25 |
3 | Luigi | Verdi | 40 |
CREATE TABLE Persone (
ID INT PRIMARY KEY NOT NULL AUTO_INCREMENT,
Nome VARCHAR(50),
Cognome VARCHAR(50),
Età INT
);
Abbiamo quindi dichiarato una tabella che si compone di n. 4 campi.
ID -> è la chiave primaria, cioè quella proprietà che identifica in maniera univoca uno specifico record della tabella.
La chiave primaria ci consente di accedere ai record della tabella.
Published: August 13, 2024
Nell'ambito delle basi di dati relazionali, e in questo caso postgresql, possiamo definire particolari vincoli di integrità referenziale per mettere in relazione le varie tabelle che compongono il database.
Vi sono n. 3 tipi di relazioni, e più nello specifico:
- relazioni one-to-one
- relazioni one-to-many
- relazioni many-to-many
In questo scenario vediamo un esempio di relazione one-to-many.
Supponiamo di avere due entità: - clienti - ordini
un cliente è identificato dai suoi dati anagrafici e da una chiave primaria.
un ordine è identificato da un progressivo (chiave primaria) e un importo.
un cliente, chiaramente, può effettuare più ordini e perciò più ordini possono essere associati ad un cliente.
Invece, un ordine può essere associato ad uno ed un solo cliente.
Ecco una rappresentazione logica della nostra base di dati:
Nome colonna | Tipo dati |
---|---|
cliente_id | SERIAL |
nome | VARCHAR(100) |
cognome | VARCHAR(100) |
VARCHAR(100) |
Nome colonna | Tipo dati |
---|---|
ordine_id | SERIAL |
cliente_id | INT |
data_ordine | DATE |
importo | NUMERIC(10,2) |
Il campo cliente_id della tabella 'ordini' è chiave esterna e conterrà la chiave primaria (id) del cliente corrispondente.
Published: August 13, 2024
In questa guida vedremo come installare un'istanza di postgresql in un server linux.
sudo apt && sudo apt upgrade
sudo apt install postgresql postgresql-contrib
sudo -i -u postgres
createdb nome_database
sudo nano /etc/postgresql/<versione>/main/pg_hba.conf
Cambia l'indirizzo IP da host all all 127.0.0.1/32 md5 a host all all 0.0.0.0/0 md5 per consentire le connessioni da qualsiasi indirizzo IP.
sudo service postgresql restart
Video installazione instanza postgres
Published: August 13, 2024
Vantaggi:
Published: August 13, 2024