giovedì 1 dicembre 2016

[Guida] Programmazione Html, Php, MySql in una macchina virtuale.

Oggi, la maggior parte della popolazione mondiale possiede un computer e nella migliore delle ipotesi anche una connessione internet, che gli permette di controllare e-mail, chattare, videochiamare qualcun altro; insomma, interagire direttamente con il mondo del Web.
L'utente passivo, ovvero quello che non si ferma a studiare i meccanismi che regolano il mondo dell'informatica, non sa ovviamente che dietro ogni pagina web che lui legge e possibilmente anche gestisce c'è un linguaggio di programmazione che gli permette di compiere delle determinate operazioni, nella maggior parte dei casi questo linguaggio è l'Html.
Con la digitalizzazione di tutto ciò che ci circonda che è ormai parte di noi, come conti corrente, bancomat, carte di credito, tasse, università, si è creata una fitta rete di dati da immagazzinare che sono state create delle vere e proprie Basi di Dati.
Una delle operazioni più semplici che chiunque può fare è, ad esempio, quella di ordinare un biglietto aereo, ecco questa semplice operazione è gestita da un insieme di tabelle che sono modificate tramite un linguaggio di programmazione per applicazioni Web. 
Quest'ultimo tipo di linguaggio è un linguaggio misto costituito da Html, Php ed Sql.
Hml, nasce come linguaggio per creare delle vere e proprie pagine web, Sql è un linguaggio in grado di gestire, creare, alterare insieme di tabelle o connetterle tra di loro e php è un linguaggio che agli albori veniva utilizzato per la programmazione di pagine web personali.
Uno dei sistemi che viene utilizzato ampiamente dagli sviluppatori di pagine web è Linux.
Vedremo come installare Linux-Mint tramite una macchina virtuale (VIRTUAL BOX) e infine si creerà un "form" per la gestione di dati.


[GUIDA]

1. Installare Virtual-Box nel vostro terminale, scegliendo il corretto sistema operativo:





2. Scaricare il file .iso direttamente dal sito di Linux-Mint (Cinnamon 64bit consigliato):













































3. Creazione della macchina virtuale tramite Virtual Box:

-Cliccare su nuova, per la creazione di una macchina virtuale vuota
























-Rinominare la propria macchina virtuale, ad esempio, come Linux-Mint:





























-Creazione(2):

























-Indicare quanta memoria RAM si vuole sfruttare per la creazione della macchina virtuale (non superare la soglia rossa indicata da Virtual Box):



























-Seguire le impostazioni predefinite:


























-Nel nostro caso adotteremo una macchina virtuale in formato VDI:




























-Settare l'allocazione dinamica della memoria:

























-Indicare il contenuto della nuova macchina virtuale (minimo 15GB consigliati):
























-Adesso è necessario fornire le informazioni riguardanti il processore (Non superare la zona rossa prefissata da Virtual Box):

























-Per quanto riguarda la memoria grafica, si può inserire anche il massimo:

























-Cliccare in Archiviazione

























-Scegliere il file di Linux-Mint.iso e della rispettiva distribuzione:

























-La macchina virtuale è pronta per l'installazione:








4. Installazione e Avvio di Linux-Mint:
-Cliccare nell'icona a forma di CD per avviare l'installazione di Linux-Mint 
























-Scegliere la lingua da utilizzare per l'intera, installazione; La lingua scelta coinciderà con quella del sistema:



























-Si può decidere se installare o meno i software di terze parti:


























-Scegliere la partizione in cui installare il software (anche se in questo caso la partizione è unica):


























-Scelta della partizione:
























-Impostazioni di Tastiera:


























-Impostare nome utente e password:
























-Installazione in corso...

























-Installazione in corso




5.Costruzione del Form, in linguaggio misto (Html, Sql, Php), gli sviluppatori adottano principalmente i prodotti linux, in quanto questi hanno la caratteristica che salvando un file di testo con l'estensione del linguaggio che si sta adottando, il file di testo si comporta praticamente come un editor testuale, così programmare in tutti i linguaggi diventa un gioco da ragazzi.

Il form che verrà visualizzato avrà un aspetto del genere:






















-Per redigere il codice basta scrivere il programma sql in linguaggio corretto e aggiungere all'estensione del file .sql:








-Redazione del linguaggio misto in (Html,Sql e PHP):






FILES DI PROGRAMMAZIONE PURA:

codice database2.sql:

SET storage_engine=InnoDB;
SET FOREIGN_KEY_CHECKS=1;


-- create database

CREATE DATABASE IF NOT EXISTS Opere;
USE Opere;


-- drop tables if exist

 DROP TABLE IF EXISTS Autore;
 DROP TABLE IF EXISTS Opera;



-- create tables

SET autocommit=0;
START TRANSACTION;

CREATE TABLE Autore (
  `codA` varchar(10) PRIMARY KEY,
  `nome` varchar(30) NOT NULL,
  `cognome` varchar(30) NOT NULL,
  `anno` integer NOT NULL,
  `citta` varchar(20) NOT NULL
);

CREATE TABLE Opera (
  `codO` varchar(10) PRIMARY KEY,
  `nome` varchar(30) NOT NULL,
  `categoria` varchar(20) NOT NULL,
  `citta` varchar(20) NOT NULL,
  `nazione` varchar(20) NOT NULL,
  `autore` varchar(10) NOT NULL REFERENCES autore(codA)
);

COMMIT;



-- insert data values

START TRANSACTION;

INSERT INTO Autore VALUES ('1', 'Gian Lorenzo', 'Bernini', 1598, 'Napoli');
INSERT INTO Autore VALUES ('2', 'Francesco', 'Borromini', 1599, 'Bissone');

INSERT INTO Opera VALUES ('1', 'Apollo e Dafne', 'scultura', 'Roma', 'Italia', '1');
INSERT INTO Opera VALUES ('2', 'Baldacchino S.Pietro', 'architettura', 'Roma', 'Italia', '1');
INSERT INTO Opera VALUES ('3', 'Fontana dei fiumi', 'architettura', 'Roma', 'Italia', '1');
INSERT INTO Opera VALUES ('4', 'S.Ivo la Sapienza', 'architettura', 'Roma', 'Italia', '2');
        
COMMIT;



test.php:


Risultati




 $_REQUEST["anno2"])){
  die("Errore: anni non corretti");}


/* ASSEGNAZIONE VARIABILI */

$a1 = $_REQUEST["anno1"];
$a2 = $_REQUEST["anno2"];
$c = $_REQUEST["città"];


/* CONNESSIONE AL DB*/

$con = mysqli_connect('localhost','root','','opere');

if (mysqli_connect_errno())
  {
  die ('Failed to connect to MySQL: ' . mysqli_connect_error());
  }


/* QUERY SQL */ 

   $sql  = " SELECT autore.cognome AS autore, opera.nome AS opera, categoria
   FROM autore, opera
   WHERE autore.coda = opera.autore
   AND anno >= $a1
   AND anno <= $a2
   AND opera.citta =  '$c'
   ORDER BY cognome, opera";


/* ESECUZIONE QUERY */ 

$result = mysqli_query($con,$sql);

if( !$result )
  die('Query error: ' . mysqli_error($con));



/* HTML CON RISULTATI */

echo "

Opere a $c degli autori nati tra il $a1 e il $a2

"; if( mysqli_num_rows($result) > 0 ){ echo ""; echo " "; for ($i = 0; $i < mysqli_num_fields($result); $i++){ $title = mysqli_fetch_field($result); $name = $title->name; echo ""; } echo " "; while ($row = mysqli_fetch_row($result)) { switch($row[2]){ case "architettura": $color = "yellow"; break; case "pittura": $color = "orange"; break; case "scultura": $color = "white"; break; default: $color = "blue"; } echo " "; foreach ($row as $cell) { echo ""; } echo " "; } echo "
$name
$cell
"; }else{ echo "

Nessun risultato

"; } //chiusura della connessione mysqli_close($con); ?>

input.html:
<html>
<head>
<title>Opere</title>
</head>
<body>
<h4> Impostare anno di nascita dell'autore e città interessata </h4>

<form method="get" action="test.php">


<table>

<tr> Data di nascita compresa tra </tr>

<tr> <td> anno </td> 
     <td> <input type="text" size="4" maxlength="4" name="anno1"> </td> </tr>

<tr> <td> e anno </td> 
     <td> <input type="text" size="4" maxlength="4" name="anno2"> </td> </tr>

<tr> <td> Città: </td>

<td>
<select name="città">
<option value="Torino">Torino</option>
<option value="Milano">Milano</option>
<option value="Roma">Roma</option>
<option value="Napoli">Napoli</option>
</select>
</td> </tr>

</table>


<br>


<input type="reset" value="Cancella">
<input type="submit" value="Invia">

</form>


</body>
</html>

lunedì 28 novembre 2016

Cyber Monday

Black friday. Si è concluso proprio ieri il periodo di offerte e svendite di Amazon. In questi giorni, il grande colosso informatico americano ha istituito degli sconti a tempo limitato di determinate
categorie di prodotti: dalla moda all'elettronica, dall'informatica alla domotica.
Dopo il grande successo avvenuto grazie al "Venerdì Nero", i vertici hanno deciso di prolungare il periodo di offerte anche per il lunedì, concludendo così questa campagna di marketing con il Cyber Monday, ultimo giorno in cui milioni di persone hanno potuto risparmiare su determinate merci.
A livello economico, Amazon ha raggiunto un attivo pari al 12%.
Arriva oggi, invece, una svolta riguardante la politica di Amazon: da oggi ogni utente non potrà recensire più di cinque prodotti la settimana.
Qualsiasi utente poteva recensire gratuitamente un determinato prodotto che aveva acquistato. Grazie al feedback di altri utenti, amazon inviava automaticamente un prodotto presente all'interno della lista dei desideri dell'utente.
Infatti, il direttivo, ha deciso di cambiare la Policy del sito, per questo, ogni utente potrà usufruire del prodotto in omaggio grazie alle recensioni solo nel caso in cui tale prodotto è "verificato" dallo stesso Amazon.
Infatti, non si potranno più recensire prodotti non acquistati all'interno del sito.
Da oggi  chiunque potrà sbizzarrirsi su numerosi prodotti, scegliendo come meglio crede un regalo da fare , magari, in vista delle festività natalizie.


Offerte live presenti attualmente:

Ovviamente non può mancare la vasta offerta di Amazon Prime:
Bilancio economico Amazon:

GUIDA: Code-Blocks on Linux Mint [RISOLTO]


BREVE INTRODUZIONE SUL LINGUAGGIO C

Qui di seguito verranno elencate brevemente alcune delle caratteristiche del
  C che definiscono il linguaggio stesso e che hanno contribuito alla 
  popolarita' che ha raggiunto come linguaggio di programmazione:
  • dimensioni ridotte
  • utilizzo frequente di chiamate a funzioni
  • loose typing (a differenza del Pascal)
  • linguaggio strutturato
  • programmazione a basso livello facilmente disponibile
  • implementazione dei puntatori (ampio uso di puntatori per memoria, vettori, strutture e funzioni)
Il C e' ora diventato un linguaggio professionale ampiamente utilizzato per varie ragioni:
  • ha strutture di alto livello
  • puo' maneggiare attivita' di basso livello
  • produce programmi efficienti
  • puo' essere compilato su un'ampia gamma di computers
Il suo principale inconveniente e' quello di avere un metodo scadente per l'identificazione di errori, che puo' escluderne l'utilizzo ai principianti. Comunque con un minimo di diligenza si puo' risolvere elegantemente questo problema, in quanto si possono violare le regole del C non appena si sono imparate (non molti linguaggi lo permettono). Nel caso in cui venga fatto correttamente e con attenzione, questo porta a sfruttare le potenzialita' della programmazione C. Lo standard per i programmi C in origine era dato dalle caratteristiche messe a punto da Brian Kernighan. Al fine di rendere il linguaggio piu' accettabile a livello internazionale, venne messo a punto uno standard internazionale chiamato ANSI C (American National Standards Institute).


RISOLUZIONE PROBLEMA:
1. Scaricare Code-Blocks dallo store di Linux Mint (Cinnamon);





















2. Aprire il terminale e digitare i seguenti comandi:
sudo aptitude update

sudo aptitude install libc-dev g++ build-essential

gcc -Wall -g hw.c -o hw

3. Per l'output: sudo apt-get install xterm

L'installazione completa di CodeBlocks funzionante potrebbe richiedere anche più di 10 min.















Error:
Per la risoluzione di tale errore:
aprire il terminale e digitare le stringhe di codice del punto 2;
Quest'operazione richiede la connessione internet, per il download dei pacchetti necessari... 












L'installazione del compilatore è andata a buon fine:















Error (2):
Errore nell'esecuzione del programma:















Risoluzione errore:

sudo apt-get install xterm 
















FINE:
Il programma funziona correttamente















Code-blocks è stato installato in una macchina virtuale tramite Virtual-Box:
https://www.virtualbox.org/wiki/Downloads

Immagine del sistema Linux-Mint (Cinnamon):
https://www.linuxmint.com/download.php