Browsing posts in: Technology

Cos’è l’edge computing e quali differenze con il cloud computing

All’inizio c’erano i grandi computer. Nell’epoca di Unix, abbiamo imparato a collegarci a quel computer usando terminali poco intelligenti (non dotati di processori di calcolo) che non facevano altro attendere risposte da questi grandi computer. Poi arrivarono i personal computer, elaboratori dotati di CPU intelligente, dove i calcoli venivano svolti direttamente sul PC.

Al giorno d’oggi, siamo nell’era del Cloud Computing. Molti possiedono ancora personal computer, ma li usiamo principalmente per accedere a servizi centralizzati come Dropbox, Gmail, Office 365, etc. Nelle nostre case siamo ormai abituati a utilizzare dispositivi come Amazon Echo, Google Chromecast e Apple TV sono alimentati da contenuti e “intelligenza” che si trovano nel cloud, al contrario di quanto succedeva 15/20 anni fa con le enciclopedie racchiuse in DVD (come Encarta) dove tutto il sapere era contenuto all’interno dei dishi.

La cosa davvero sorprendente del cloud computing è che la maggior parte delle aziende al mondo si affida a pochi fornitori di cloud, per quanto riguarda l’infrastruttura, l’hosting, l’apprendimento automatico e la potenza di calcolo. Questi fornitori li conosciamo tutti: Amazon, Microsoft, Google e IBM. Basti pensare che Amazon, il più grande tra questi provider, nel 2017 possedeva il 47% del mercato.

Ma le cose stanno forse cambiando: dal Cloud Computing, si sta velocemente passando all’Edge Computing.

L’Edge Computing è già in uso tutt’intorno a noi: dai dispositivi “indossabili” come lo smartwatch, alle auto con guida autonoma, ai computer che analizzano il flusso del traffico. Altri esempi includono l’analisi della rete di utilità intelligente, il monitoraggio della sicurezza delle piattaforme petrolifere, l’ottimizzazione dei video in streaming e la gestione delle colture con i droni. Oggi, meno del 10% dei dati generati viene creato ed elaborato ai “margini”, ma, secondo Gartner.com, entro il 2025, crescerà al 75%. Continue Reading


Programmazione per coincidenza

In un precedente articolo si è parlato di programmazione Cargo Cult, ovvero uno stile di programmazione secondo cui gli sviluppatori includono pezzi di codice nel loro programma senza conoscere né comprendere il ragionamento per cui quel codice deve essere incluso.
Programmare per coincidenza è un concetto introdotto e ben spiegato in un manuale, un classico che prima o poi deve essere letto e approfondito da ogni programmatore: Pragmatic Programmer. Se stiamo programmando per coincidenza,  significa in poche parole che non sappiamo cosa stiamo facendo. Il nostro codice si basa sulla fortuna e su un successo accidentale. Bisognerebbe sempre evitare la programmazione per coincidenza e preferire una programmazione “cosciente” e deliberata. Continue Reading


Gestire correttamente le dipendenze PHP con Composer

Il primo passo per costruire una pipeline di CD (Continuous Delivery) adeguata è gestire le dipendenze nel modo giusto. Se sei uno sviluppatore di PHP, è necessario padroneggiare Composer riuscire a fare ciò in maniera semplice ed immediata.

Cos’è Composer?

Composer è il gestore delle dipendenze per PHP e Packagist è il repository ufficiale dei pacchetti. Il rilascio di questo progetto nel 2012 ha rivoluzionato il mondo PHP perchè consente di definire tutte le librerie dalle quali l’applicazione dipende e di scaricare automaticamente queste librerie con un semplice comando. Composer risolve molti problemi, sai se la tua applicazione dipende da quali librerie e se queste librerie dipendono da altre librerie… L’uso di Composer e di un sistema di controllo della versione è il primo passo per costruire una pipeline CI/CD per PHP.

E’ richiesta la presenza di PHP sul sistema in cui è eseguito Composer. Si installa tramite un comodo installer che ti avvisa eventuali incompatibilità di versioni PHP. Composer è disponibile per varie piattaforme. Continue Reading


Quali differenze tra metodologia Agile, CI/CD e DevOps

Per fare un analogia, non si può costruire una casa usando un singolo attrezzo. CI / CD, Agile e DevOps sono tre termini comunemente utilizzati negli ambienti di sviluppo e test del software. Tuttavia, per capire la differenza tra loro, è meglio iniziare con cosa significano effettivamente questi termini. Agile, DevOps e CI / CD sono tre strumenti importanti, indipendenti che tuttavia si supportano a vicenda. Agile si concentra sul processo di sviluppo, CI / CD sulle pratiche e DevOps sulla cultura.

Riuscire ad applicarli assieme nelle proprie pratiche di sviluppo, produce delle trasformazioni e dei miglioramenti non di poco conto.

Continue Reading


Il “dramma” del valore NULL in SQL

Un database SQL consente, per qualsiasi tipo di dati, di avere un valore NULL. Il valore NULL non è lo stesso di una stringa vuota o di un numero intero uguale a zero. In parole povere significa “sconosciuto”: rappresenta quindi informazioni mancanti e informazioni inapplicabili.

Avere una stringa NULL, ad esempio, non equivale ad avere una stringa vuota. Significa che non sai cosa c’è nella stringa. Se stai facendo un database e in un record imposti il ​​valore NULL in un campo, significa che ancora non conosci il valore ma ciò non implica che il record non esista. NULL è uno stato, non un valore.

Continue Reading


Tipi di NAT: SNAT, DNAT e PAT

Agli albori di internet, i “padri” progettisti di Internet pensarono di utilizzare 32 bit per ciascun indirizzo IP, pensando che 4,2 miliardi di indirizzi disponibili bastassero a coprire qualsiasi host nel globo terrestre. In effetti, negli anni 80 Internet non era poi cosi esteso. Si pensi, ad esempio, che in Italia la prima connessione ad Internet tramite un computer avvenne solamente nel 1986. Dagli anni 90 in poi, Internet ha visto un incremento sempre costante di nuove connessioni grazie allo sviluppo del WWW e dei device mobili e le connessioni dati. Gli indirizzi IPv4 non erano più sufficienti a coprire il numero sempre più vasto di dispositivi in rete. Inoltre, la disponibilità di 4.294.967.296 (ovvero 2^32) è solamente un numero teorico, poichè esistono delle combinazioni di indirizzi IP riservati per usi specifici che gli ISP non potevano utilizzare.

Il motivo principale per cui è stata sviluppata la tecnologia NAT è stato quello di prevenire il rapido esaurimento degli indirizzi IPv4. NAT (Network Address Translation) consente a un dispositivo di rete (come un router, un firewall o un server che esegue sistemi operativi di rete come Windows 2008, Windows 2012, GNU Linux o Unix) di tradurre gli indirizzi tra Internet pubblico e una rete privata locale LAN.

In che modo questa traduzione può salvare gli indirizzi IPv4 in costante esaurimento? Continue Reading


Cargo Cult Programming

Prima o poi i programmatori ci cascano tutti. Ma per capire di cosa stiamo parlando, dobbiamo fare un salto nel passato.

Cargo Cult, o culto delle merci, una pratica in voga in alcune società tribali melanesiane in seguito all’incontro con popolazioni occidentali, secondo cui ii credenti hanno in comune la fede nell’avvento di navi o aerei da trasporto con carichi di beni destinati agli indigeni. In pratica i credenti ritengono che questa consegna sia disposta grazie all’intervento di un entità divina. Continue Reading


Teoria del colore: la temperatura del colore

La temperatura di colore generalmente si riferisce a quanto è “caldo” o “freddo” un colore. Nel mondo dell’arte la temperatura del colore può assumere significati differenti a seconda della prospettiva. In relazione ai colori intesi come acquerelli, tempere oli, la temperatura del colore si riferisce al nostro modo di percepire un colore come caldo o freddo. A molti artisti piace dividere la ruota dei colori in colori caldi e freddi, mostrati di seguito:

Quindi rossi, arance e gialli sono generalmente considerati colori caldi mentre blu e verdi sono generalmente considerati colori freddi. Ma è importante notare che la temperatura di colore è solo percettiva. I nostri colori non hanno alcuna temperatura di colore intrinseca o fissa. Semplicemente associamo determinati colori come caldi o freddi in base ai colori circostanti (ne parleremo più avanti) . Continue Reading


Indicizzazione su Google, Ranking e SEO

Trovarsi nella prima pagina dei risultati di Google è sempre più un’utopia. Ecco perchè la prima cosa che chiedono i clienti è: quanto tempo ci vuole affichè il mio sito spunti su Google?

Giustamente, chi investe sul proprio sito web vuole sapere quanto tempo ci vorrà affinchè il sito venga classificato. Come la maggior parte degli investimenti, è naturale sapere quando ci si può aspettare un ritorno sul proprio investimento.

Avere a che fare con i ranking di Google, tuttavia, non è facile e purtroppo la risposta non è scontata. Quando si inizia una campagna SEO da zero, non esiste una formula segreta per il posizionamento. Sebbene le agenzie SEO più efficaci possano aiutare un’azienda a posizionarsi entro 3-6 mesi, non esiste alcuna garanzia a meno che tu non abbia già un’attività autorevole e consolidata (in altre parole, Google si fida dei tuoi contenuti).

Il fattore più importante da comprendere in questo processo è ciò che Google prende in considerazione quando indicizza la tua pagina rispetto alla concorrenza.

Continue Reading


Errori comuni nella progettazione di database

Quando progettiamo un database (per un app, per un sito o per le esigenze più disparate), dobbiamo essere pronti ad affrontare delle “sfide” dovuti a vari problemi di progettazione. Alcuni di questi problemi sono inevitabili e non possiamo controllarli. Altri invece possono essere ricondotti alla qualità della progettazione stessa. Le decisioni che prendiamo in questa fase preliminare possono avere un profondo impatto sul funzionamento del database. Quali potrebbero essere gli errori più comuni durante la progettazione? Di seguito ne riporto alcuni. Continue Reading


Pagine:12345678

Utilizzando il sito, accetti l'utilizzo dei cookie da parte nostra. maggiori informazioni

Questo sito utilizza i cookie per fornire la migliore esperienza di navigazione possibile. Continuando a utilizzare questo sito senza modificare le impostazioni dei cookie o cliccando su "Accetta" permetti il loro utilizzo.

Chiudi