Ultimi 100 articoli

Mattepuffo's logo
Utilizzare Suspense in React nel caricamento dati

Utilizzare Suspense in React nel caricamento dati

Nelle ultime versioni React ha messo a disposizione Suspense, che in pratica ci forninsce un modo per visualizzare un loading durante il caricamento dei dati.

Ovviamente era possibile ottenere una cosa simile anche prima, solo che prima dovevamo scrivere un pò più di codice.

In questo articolo vi mostro due esempi per fare una comparazione.

Mattepuffo's logo
Applicare uno ShaderMask in Flutter

Applicare uno ShaderMask in Flutter

ShaderMask è un widget per Flutter che ci consente di applicare una "maschera" generata da uno "shader" ad un widget.

Detto così non vuol dire molto, quindi facciamo subito un esempio.

Mattepuffo's logo
Flutter InteractiveViewer

Flutter InteractiveViewer

InteractiveViewer è un widget per Flutter che ci permette di "interagire" con il widget, ad esempio dandoci la possibilità di zoomare o trascinare.

In questo articolo vediamo due esempi, uno che usa una immagine e l'altro no.

Non ci sono librerie da installare, e funziona anche su desktop.

Mattepuffo's logo
Skip test in Maven

Skip test in Maven

L'altro giorno stavo cercando di fare il package con Maven di una piccola applicazione scritta in Kotlin (usando il framework Ktor).

L'applicazione funzionava a dovere, ma il package dava sempre errore.

C'era qualcosa nei test che fa Maven che non gli piaceva.

Mattepuffo's logo
Impostare CORS in Ktor

Impostare CORS in Ktor

Ktor è un framework per Kotlin per la creazione di web api.

Facile da usare ha parecchie librerie a disposizione.

In questo articolo vediamo come impostare CORS.

Mattepuffo's logo
Usare i LimitedBox in Flutter

Usare i LimitedBox in Flutter

I LimitedBox di primo acchitto potrebbero essere cosiderati uguali ai SizedBox.

In realtà ci sono delle differenze.

LimitedBox è un widget che vincola le dimensioni del suo figlio se non è vincolato dal suo genitore.

Questo può essere utile se si vuole creare un widget che verrà riutilizzato più volte.

Mattepuffo's logo
Rimuovere X-Frame-Options in Apache

Rimuovere X-Frame-Options in Apache

Negli ultimi si sono inventati parecchia "roba" per la sicurezza, e hanno fatto bene.

Solo che ci sono alcune limitazioni che a volte rompono proprio!

Una di queste, in uno specifico è X-Frame-Options!

Mattepuffo's logo
Controllare la lingua corrente in WPML

Controllare la lingua corrente in WPML

WPML è uno dei plugin più usati per la gestione delle lingue in Wordpress.

Ha diversi filtri/funzioni che lo rendono facilmente utilizzabile anche in un template custom.

Ad esempio wpml_current_language!

Mattepuffo's logo
Usare script custom in Angular

Usare script custom in Angular

Sipponiamo di avere dei nostri script da voler usare dentro Angular.

E di non voler creare una vera e propria libreria.

La cosa è possibile seguendo questi passaggi.

Copiate il vostro file JS dentro ad una cartella del progetto; ad esempio src/assets.

Mattepuffo's logo
Formattare la date in italiano in Wordpress e WP_Query

Formattare la date in italiano in Wordpress e WP_Query

Quando visualiziamo le date dei post in Wordpress usando WP_Query, di default escono in formato inglese/americano.

Volendo è possibile formattarle/tradurle in italiano in maniera facile usando date_i18n.

Ad esempio io avevo bisogno di vedere la data in questo formato: 29 Febbraio 2024.

Mattepuffo's logo
Inviare email da Wordpress con wp_mail

Inviare email da Wordpress con wp_mail

Wordpress ci mette a disposizione la funzione wp_mail per mandare email da nostre funzioni personalizzate.

Una cosa fondamentale da fare prima è installare un plugin per il settaggio dei parametri SMTP.

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.