Ultimi 100 articoli

Mattepuffo's logo
Identificare il tipo di file in Python con Magik

Identificare il tipo di file in Python con Magik

Magika è una libreria creata da Google, da quello che ho capito molto nuova, che identifica in maniera veloce il tipo di file che gli viene indicato.

Da quello che ho capito alla base c'è l'AI (strano), e per questo risulta molto più veloce di altre librerie.

In questo articolo vediamo la versione Python (ce ne è una anche per Javascript).

Possiamo sia installarla globalmente ed usarla standalone, che come libreria interna; cose che faremo noi.

Mattepuffo's logo
Immagini fullscreen in Flutter

Immagini fullscreen in Flutter

In questo articolo vediamo come impostare una immagine fullscreen in Flutter; o quanto meno uno dei possibili modi.

Non sono richiesti plugin aggiuntivi, in quanto useremo semplicemenete:

  • un Container
  • un BoxDecoration con DecorationImage

L'immagine l'ho presa dal web "a caso".

Mattepuffo's logo
Usare la funzione zip in Python

Usare la funzione zip in Python

In Python la funzione zip non ha nulla a che vedere con gli archivi compressi.

Ma ci permette di unire più iteratori, anche di diversi tipi, in uno unico, in modo da poter fare un'unica iterazione su tutti gli elementi.

Mattepuffo's logo
Usare gli StreamBuilder in Flutter

Usare gli StreamBuilder in Flutter

StreamBuilder è un widget per Flutter che ci permette di aggiornare solo una parte della UI quando vengono emessi nuovi dati.

In genere viene usato quando ci sono operazioni asincrone che aggiornano i dati di frequente.

In questo articolo vediamo un esempio per cominciare ad usarli.

Mattepuffo's logo
Unire PDF in C# con iText

Unire PDF in C# con iText

iText è una libreria per manipolare file PDF, compatibile con diversi linguaggi.

In questo articolo vediamo come usarla in C# per unire diversi file.

Mattepuffo's logo
Intercettare il back button in Flutter

Intercettare il back button in Flutter

Per back button intendo una qualsiasi azione per riportarmi alla schermata precedente.

In Flutter possiamo intercettare questa azione e fare un qualcosa; ad esempio visualizzare un dialog di conferma.

Il tutto grazie a PopScope!

Mattepuffo's logo
Usare le DataTable in Flutter

Usare le DataTable in Flutter

Il widget DataTable ci permette di visualizzare i dati in forma tabellare in Flutter.

Può essere molto comodo, soprattutto se sviluppiamo app multipiattaforma.

Magari su device mobile mostriamo una lista, in altri ambiti la tabella.

Mattepuffo's logo
Usare i classmethod in Python

Usare i classmethod in Python

Di primo acchitto potremmo pensare ai classmethod di Python come a dei metodi statici.

In verità ci stanno alcune differenze:

  • un classmethod ha come primo parametro cls, mentre i metodi statici no
  • un classmethod può modificare lo state di una classe, mentre i metodi statici no
  • altre eventuali che non conosco

Mattepuffo's logo
Rippple effect su GestureDetector in Flutter

Rippple effect su GestureDetector in Flutter

GestureDetector ed InkWell svolgono praticamente la stessa funzione, cioè quella di eseguire un'azione su un widget.

InkWell ha un effetto ripple, ma GestureDetector è più flessibile e ci permette di fare più cose.

Quindi, come fare per ottenere un effetto ripple su GestureDetector?

Mattepuffo's logo
Flip card in Flutter

Flip card in Flutter

In questo vediamo come usare Animation e AnimationController per creare un effetto flip su card in Flutter.

Non ci servono librerie esterne.

Inoltre l'ho testato sia su Android che su Linux.

Mattepuffo's logo
Unire file PDF in Python con PyPDF2

Unire file PDF in Python con PyPDF2

Abbiamo già usato più volte PyPDF2, libreria per gestire i PDF molto usata in Python.

In questo articolo vediamo come usarla per unire tutti i files PDF che si trovano dentro una directory.

Mattepuffo's logo
Testo selezionabile in Flutter

Testo selezionabile in Flutter

In pratica Flutter ci mette a disposizione SelectableText per visualizzare del testo che possiamo selezionare, sia col mouse che con il tap.

Testato su Linux e Android.

Inoltre avremmo anche i tasti per il copy e select all.

Mattepuffo's logo
Creare link in PHPPresentation

Creare link in PHPPresentation

Abbiamo già parlato di PHPPresentation, una libreria per PHP per la creazione/manipolazione dei file PowerPoint e affini.

In questo articolo vediamo come creare facilmente un testo come link.

Non mi soffermo all'installazione e configurazione, da per scontato che abbiate già tutto.

Mattepuffo's logo
Eseguire il debug di wp_mail

Eseguire il debug di wp_mail

wp_mail è funzione integrata in Wordpress per l'invio delle email.

Non è difficile da usare, ma il vero problema è che restituisce solo un valore bool, quindi true o false.

E non dice nulla sulla causa dell'errore.

Mattepuffo's logo
Usare i record in Java

Usare i record in Java

I record in Java corrispondono, sostanzialmente, alle data class di Kotlin.

Possono essere molto utili in quanto ci risparmiano parecchio codice.

Mattepuffo's logo
Usare la funzione fold in Dart

Usare la funzione fold in Dart

In Dart abbiamo diverse funzioni che ci permettono di svolgere funzioni su liste e array.

Una di queste è fold, che si comporta come la funzione reduce con alcune differenze.

In sostanza fold itera su una collezione ed esegue le operazioni che noi gli diciamo.

Mattepuffo's logo
Creare librerie custom in Dart e Flutter

Creare librerie custom in Dart e Flutter

Ho fatto un test su come creare una libreria custom in un progetto Dart, ma penso che la stessa cosa valga anche per Flutter.

Comunque vediamo come fare a creare un piccola libreria ed esportara.

Ho creato una cartella library nella stessa cartella del main del progetto.

Mattepuffo's logo
Usare path assoluti in React

Usare path assoluti in React

Supponiamo di avere parecchi componenti/moduli in una nostra app React.

Quando li includiamo abbiamo sempre quei path relativi con N puntini davanti a seconda del livello in cui ci troviamo.

In realtà possiamo usare i path assoluti; ma cominciamo da un esempio standard.

Mattepuffo's logo
Verificare la modalità debug in Flutter

Verificare la modalità debug in Flutter

In Flutter possiamo facilmente controllare se siamo in modalità debug o release usando alcune costanti.

La cosa può essere molto comoda per caricare dei parametri in fase di avvio,

Ad esempio l'url di una API da richiamare, oppure un token.

Mattepuffo's logo
Usare Eloquent senza Laravel

Usare Eloquent senza Laravel

Eloquent è l'ORM di default di Laravel; ma essendo quest'ultimo un framework modulare e non monolitico, possiamo usare le sue "parti" anche in maniera autonoma.

In questo articolo vediamo proprio come usare Eloquent senza installare tutto Laravel.

Mattepuffo's logo
Creare grafici in Flutter con fl_chart

Creare grafici in Flutter con fl_chart

fl_chart è uno dei package per Flutter per la creazione di grafici.

E' molto completo, ha anche la possibilità di animare i grafici, ed è molto customizzabile.

Ovviamente tutto questo si paga con il fatto che non è facilissimo da usare.

Mattepuffo's logo
Usare defer in Angular 17

Usare defer in Angular 17

Angular 17 porta con se diverse novità.

Una di queste è @defer, che in pratica ci permette di caricare un componente/template in maniera con una lazy-loading.

Può essere molto comodo nel caso in cui un componente carichi parecchi dati.

In questo articolo vediamo un esempio basico.

Mattepuffo's logo
Number helpers in Laravel

Number helpers in Laravel

Laravel ci mette a disposizione diversi helpers per la formattazione/visualizzazione dei numeri.

In questo articolo vediamo un pò di esempi.

Nello specifico sto usando la versione 10, ma non dovrebbero esserci problemi di compatibilità

Mattepuffo's logo
Usare gli Attributes in PHP

Usare gli Attributes in PHP

Da PHP 8 abbiamo la possibilità di usare gli Attributes, che sostanzialmente fungono da decorators/annotations.

Solo che non ho trovato banale il loro uso, quindi cerco di farvi un esempio basico esplicativo.

In pratica dobbiamo segnare come Attribute una classe che poi verrà "richiamata" da un'altra classe o da un metodo (cosa che farò nell'esempio).

Mattepuffo's logo
Creare una chat in Flutter con flutter_chat_ui

Creare una chat in Flutter con flutter_chat_ui

flutter_chat_ui è un package per Flutter che ci consente di creare un sistema di chat.

Ovviamente ci aiuta nella parte di costruzione della UI, non si occupa del salvataggio dei dati su db.

Anche noi, nell'esempio qui sotto che ricalca quello ufficiale, non salveremo i dati su db.

Ma installeremo comunque varie librerie per renderlo il più possibile vicino alla realtà.

Mattepuffo's logo
Aggiornare programmi su Windows con winget

Aggiornare programmi su Windows con winget

Da qualche tempo, che non so identificare, Windows mette a disposizione un suo package manager, che abbreviato si chiama winget!

In questo articolo vediamo come usarlo per aggiornare i programmi.

Premetto che sono su Windows 11 aggiornato, e che non da quando sia disponibile winget.

Mattepuffo's logo
Splittare stringhe in SQL Server

Splittare stringhe in SQL Server

Supponiamo di avere su un db un campo che ha stringhe che vogliamo splittare.

Ad esempio un classico uno,due,tre (che magari sono tag di un qualche record).

In SQL Server possiamo splittare le stringhe usando STRING_SPLIT!

Mattepuffo's logo
La concorrenza in Dart

La concorrenza in Dart

In questo articolo vediamo due esempi di concorrenza in Dart, validi anche per Flutter.

In sostanza in Dart la concorrenza è supportata in due modi:

  • con async-await
  • con isolate

Qui sotto vediamo entrambi gli esempi.

Mattepuffo's logo
Troncare le date in SQL Server con DATETRUNC

Troncare le date in SQL Server con DATETRUNC

Necessità strana in realtà, ma mi è capitato di dover troncare delle date.

In un caso specifico l'ho fatto direttamente da query; in SQL Server possiamo farlo con DATETRUNC!

Negli esempi, per la data di partenza, ho usato GETDATE per semplicità, ma potete usare quello che volete.

Mattepuffo's logo
Usare gli interceptors in axios

Usare gli interceptors in axios

Di axios abbiamo già parlato svariate volte, anche perchè è la libreria che uso in genere in React.

In questo articolo vediamo come usare gli interceptors; sostanzialmente ogni richiesta HTTP verrà "intercettata" e verrà eseguito/impostato un qualcosa deciso da noi.

Nell'esempio uso React, ma in verità potete usarlo dove volete.

Mattepuffo's logo
Navigazione in Flutter con google_nav_bar

Navigazione in Flutter con google_nav_bar

google_nav_bar è un widget per Flutter che da una navigazione bottom sicuramente più accattivante di quella standar.

In questo articolo vediamo come usarlo.

Per seguire l'esempio dobbiamo installare due packages:

flutter pub add google_nav_bar line_icons

Il secondo ovviamente non è obbligatorio, potete usare anche altre icone.

Mattepuffo's logo
Usare la heredoc in Go

Usare la heredoc in Go

Go supporta nativamente la sintasst raw-string, ma ha alcune limitazioni in fatto di formattazione.

Ed è qui che arriva il package heredoc (qualcuno ha detto PHP?!?!).

Mattepuffo's logo
Creare HashSet non modificabili in Java

Creare HashSet non modificabili in Java

Gli HashSet in Java sono delle collezioni con dati univoci.

E' possibile aggiungere o rimuovere elementi, ma non accetta elementi duplicati.

Partendo da un HashSet è possibile crearne uno non modificabile, nel senso che non è possibile aggiungere o rimuovere elementi.

Mattepuffo's logo
Spedizione gratuita automatica in WooCommerce

Spedizione gratuita automatica in WooCommerce

Quando impostiamo le spese di spedizione e la spedizione gratuita in WooCommerce, succede che si vedono entrambe quando raggiungiamo il valore richiesto.

Ed inoltre la spedizione gratuita non è neanche selezionata.

In sostanza l'utente si deve accorgere della nuova voce nel carrello e selezionarla.

E non è una cosa bella diciamo....

Mattepuffo's logo
Set immutabili in Python con frozenset

Set immutabili in Python con frozenset

frozenset è una funzione di Python che crea dei set immutabili.

In Python i set sono liste di dati non ordinato che non accettano duplicati.

Ma è sempre possibile aggiungere o rimuovere elementi.

Mattepuffo's logo
Connessione a MariaDB in Gin

Connessione a MariaDB in Gin

Gin è uno dei web framework più utilizzati in Go.

In questo articolo vediamo come come connetterci ad un db MariaDB e come visualizzare i dati in formato JSON.

Mattepuffo's logo
Controllare se una email esiste in Contact Form 7

Controllare se una email esiste in Contact Form 7

Contact Form 7 è il plugin più usato in Wordpress per la creazione di form.

Anche se primo acchitto non sembra, è molto flessibile e customizzabile.

Quello che vediamo in questo articolo è come bloccare l'invio del form se l'email già esiste.

In sostanza se l'email è già stata usata.

Mattepuffo's logo
Connessione a PostgreSQL in Go

Connessione a PostgreSQL in Go

In questo articolo vediamo come connetterci ad un db PostgreSQL in Go usando pgx.

In verità ci stanno diverse libreria, ma da quello che ho capito pgx è quella più consigliata.

Per installarla:

go get github.com/jackc/pgx/v5

Mattepuffo's logo
Geocoding con ArcGIS e Angular

Geocoding con ArcGIS e Angular

In questo articolo vediamo come applicare il geocoding attraverso ArcGIS Angular.

In pratica andremo a trovare delle coordinate partendo da un indirizzo.

Per usare ArcGIS dovete prima registrarvi, e poi creare una API KEY; considerate che l'account free.

Mattepuffo's logo
Flutter Weather animation

Flutter Weather animation

wetaher_animation è package per Flutter più fighettino che utile forse, in quanto ci mette a disposizione vari widget con animazioni che richiamano il meteo.

In questo articolo vediamo come usarlo.

Per installarlo:

flutter pub add weather_animation

Mattepuffo's logo
Usare gli Overlay in Flutter

Usare gli Overlay in Flutter

Overlay è un widget di Flutter che in pratica rappresenta un componente "indipendente" rispetto al resto.

Ad esempio possiamo usarlo per creare un tooltip a comparsa.

O per finestre "volanti" da usare come messaggi.

Mattepuffo's logo
Dark mode toggle con CSS e Javascript

Dark mode toggle con CSS e Javascript

In questo articolo vedremo come abilitare/disabilitare la dark mode usando CSS e un pizzico di Javascript.

La parte HTML ovviamente sarà basica; ho agigunto qualche elemento giusto per farvi vedere cosa succede al cambio di modalità.

Mattepuffo's logo
Cambiare user agent in wget

Cambiare user agent in wget

wget è uno dei più famosi tool da riga di comando per eseguire richieste su HTTP/HTTPS/FTP/FTPS.

Ha parecchi opzioni, tra cui la possibilità di cambiare user agent quando si esegue una richiesta.

Mattepuffo's logo
Usare useLayoutEffect in React

Usare useLayoutEffect in React

useLayoutEffect è sostanzialmente la versione sincrona di useEffect.

Hanno la stessa identica sintassi, e sono entrami degli hooks di React.

Ma, come anticipato, useEffect è asincrono, ed ottimo per eseguire, ad esempio, chiamate ad API.

Mattepuffo's logo
Geocoding con ArcGIS e Javascript

Geocoding con ArcGIS e Javascript

In questo articolo vediamo come applicare il geocoding attraverso ArcGIS e Javascript.

In pratica andremo a trovare delle coordinate partendo da un indirizzo.

Per usare ArcGIS dovete prima registrarvi, e poi creare una API KEY; considerate che l'account free 

Mattepuffo's logo
Creare un countdown ad una data in Javascript

Creare un countdown ad una data in Javascript

In questo articolo vi propongo una funzione in Javascript che in pratica ci permette di visualizzare un countdown ad una determinata data in tempo reale.

Oltre ai classici ore/minuti/secondi, vi ho messo anche i mesi.

Potete sia visualizzare le singole parti, che tutto insieme.

Mattepuffo's logo
Creare file VCF in Javascript

Creare file VCF in Javascript

In questo articolo vi propongo una funzione per creare un file VCF in Javascript.

Qualche nota:

  • i dati li ho messi tutti cablati nel codice, ma potete facilmente sostituirli con dati presi da pagina o da API (cosa che ho fatto in Angular)
  • l'immagine l'ho presa online, la metto dentro un tag immagine con crossorigin (sennò dava errore)
  • la stringa vcard non deve avere spazi a sinistra, sennò il VCF non esce valido

Mattepuffo's logo
Usare Tailwind in Angular

Usare Tailwind in Angular

In questo articolo vediamo come integrare Tailwind in un progetto Angular.

Iniziamo con l'installazione di Tailwind:

npm install -D tailwindcss postcss autoprefixer

Mattepuffo's logo
Usare il pattern Singleton in Dart

Usare il pattern Singleton in Dart

Il Singleton è un Design pattern molto usato nell'ambito della programmazione a oggetti.

In breve, una classe Singleton è una classe che garantisce che soltanto un'unica istanza della classe stessa possa essere creata all'interno di un programma.

In questo articolo vediamo un esempio di utilizzo in Dart.