In questo articolo scoprirai cos’è YOLO e come utilizzarlo per analizzare un video, riconoscere e contare le persone presenti al suo interno. Vedremo come scrivere un semplice script in Python, configurabile, che consente di scegliere la sorgente video più adatta alle proprie esigenze. Cos’è YOLO? YOLO (You Only Look Once) è un algoritmo di object detection in tempo reale basato su reti neurali. In parole semplici, YOLO analizza ogni frame di un video (che sia un file o un flusso da webcam/IP camera) per identificare oggetti come persone, veicoli, animali e molto altro. ...
Funzioni
In tutti i linguaggi di programmazione, uno degli aspetti più importanti è l’organizzazione e la leggibilità del codice. In Python, come in molti altri linguaggi, questo obiettivo si raggiunge anche attraverso l’uso delle funzioni. Tutto il codice che scriviamo è, per convenzione, eseguito all’interno di una funzione principale, spesso chiamata main. Tuttavia, possiamo e dobbiamo suddividere il codice in più funzioni per semplificare la manutenzione e favorire il riuso. Cosa sono le funzioni in Python? La definizione delle funzioni in Python avviene tramite la parola chiave def, seguita dal nome della funzione e dalle parentesi tonde. Esistono due tipi principali di funzioni: ...
Come leggere la CIE tramite NFC in .NET
In questo articolo scoprirai come leggere i dati della CIE – Carta d’identità elettronica da un punto di vista tecnico, utilizzando un lettore NFC compatibile e un’app sviluppata in .NET. Analizzeremo i protocolli utilizzati, i formati dei dati e un esempio pratico di implementazione. Cos’è la CIE? Dal punto di vista informatico, la CIE è una smart card contactless conforme allo standard ICAO 9303, lo stesso impiegato nei passaporti elettronici. I dati vengono salvati principalmente in due modalità: ...
Installare Java e scelta dell’IDE
Se stai leggendo questo articolo, probabilmente è la tua prima esperienza con Java e, in generale, con la programmazione. In questo articolo vedremo come installare l’SDK di Java, scegliere un IDE e scrivere un semplice programma per verificare che tutto funzioni correttamente. Dopo aver discusso del perché Java possa essere un’ottima scelta sia per un neofita che per un programmatore esperto, vediamo ora come installare l’SDK di Java e scegliere l’IDE più adatto. ...
Cos’è Java e perché usarlo
Java è un linguaggio di programmazione orientato agli oggetti (OOP), cosiddetto tipizzato, ovvero un linguaggio in cui i tipi delle variabili vengono specificati in modo statico direttamente nel codice sorgente. Java nasce nel 1992 alla Stanford University con il nome di “Oak”, per poi essere rinominato in “Java” a causa di problemi di copyright (fonte). Il principale punto di forza di Java è probabilmente la sua portabilità: può essere eseguito su piattaforme diverse senza modifiche al codice, caratteristica che lo rende estremamente versatile e ne ha favorito la vasta diffusione. ...
Control Flow e Cicli in Python
In tutti i moderni linguaggi di programmazione, gli statement condizionali e i cicli sono fondamentali per due scopi principali: Prendere decisioni sulla base di valori dati o calcolati. Automatizzare operazioni ripetitive per evitare di riscrivere lo stesso codice. If…else Lo statement if...else permette di variare il normale flusso di esecuzione del codice valutando una determinata condizione. Ecco un esempio: x = int(input("Insert a number:")) if x % 2 == 0: print("Your number is even") else: print("Your number is odd") Questo codice stamperà un messaggio diverso a seconda che il valore inserito dall’utente sia un numero pari o dispari. ...
Spring Framework – Parte 2
Introduzione Nell’articolo precedente, abbiamo introdotto le basi di Spring Boot, creato un progetto base e sviluppato una semplice API. In questa seconda parte, collegheremo il progetto a un database, utilizzando PostgreSQL per la persistenza e la gestione dei dati. PostgreSQL PostgreSQL, nato nel 1985 come “post-ingres” grazie a Michael Stonebraker, è un’alternativa potente a database relazionali come MySQL. Una sua caratteristica unica è la possibilità di definire nuovi tipi di dati e utilizzare l’ereditarietà tra tipi. Maggiori dettagli sono disponibili sul sito ufficiale di PostgreSQL. ...
Operatori in Python: Aritmetici, di Confronto e Logici
In Python, come in ogni linguaggio di programmazione, sono disponibili diversi operatori per la manipolazione dei numeri, delle variabili logiche e per il confronto tra oggetti. Operatori Aritmetici Quelli più familiari per tutti sono sicuramente gli operatori matematici: Sum: + Subtraction: - Multiplication: * Division: / oppure // Exponentiation: ** Mod: % Vediamo un esempio per ciascun operatore: print(10 + 3) # Somma: 13 print(10 - 3) # Sottrazione: 7 print(10 * 3) # Moltiplicazione: 30 print(10 / 3) # Divisione: 3.3333... print(10 // 3) # Floor division: 3 print(10 ** 3) # Elevamento a potenza: 1000 print(10 % 3) # Modulo: 1 Tra questi, l’operatore //, chiamato “Floor Division”, merita una breve spiegazione: questo operatore arrotonda per difetto il risultato della divisione, eliminando la parte decimale. ...
Autenticazione JWT
Avete presente quando su un sito web c’è una sezione privata a cui si accede inserendo username e password? Avete mai notato che, in molti casi, una volta effettuato l’accesso, non viene più richiesto di inserire username e password per gli accessi successivi? Nelle applicazioni web stateless, questo comportamento è implementabile utilizzando un token JWT. JWT è l’acronimo di JSON Web Token e rappresenta uno standard per lo scambio di dati, definito dalla RFC7519 del 2015. ...
Spring Framework – Parte 1
Cos’è un Framework Un Framework, semplificando, è un insieme di classi, librerie e strumenti predefiniti che forniscono una struttura di base per lo sviluppo di applicazioni software. L’uso di un Framework consente agli sviluppatori di evitare l’implementazione da zero di funzionalità di base, permettendo loro di concentrarsi sullo sviluppo di funzionalità specifiche e personalizzate per il progetto. Spring Spring è un framework open source per lo sviluppo di applicazioni Java. La prima versione del framework è stata distribuita nel 2003 da Rod Johnson ed è stata arricchita nel corso degli anni con una serie di estensioni. ...