Ultimi 100 articoli

Mattepuffo's logo
Usare HTTPS in locale con Angular

Usare HTTPS in locale con Angular

Angular viene avviato in genere su http://localhost:4200.

Ogni tanto il discorso di stare in HTTP mi ha dato problemi.

Volendo è possibile usare HTTPS con un certificato self-signed.

In questo articolo vediamo come fare.

Mattepuffo's logo
Input pin in Flutter

Input pin in Flutter

pininput è un package per Flutter che ci consente di creare, appunto, delle caselle per inserire un PIN.

Da quello che ho capito è anche possibile agganciarlo a servizi esterni come SMS o database remoti.

Non ho testato queste funzioni ovviamente, mi sono limitato ad un esempio basico per vederne il funzionamento.

Mattepuffo's logo
Usare gli Stream in Dart

Usare gli Stream in Dart

Uno stream in Dart è sostanzialmente una sequenza di eventi che rappresentano dei valori che arriveranno in maniera asincrona.

Che detto così vuol dire poco o nulla in realtà....

Quindi in questo articolo vediamo qualche esempio in modo da capire.

Mattepuffo's logo
Rimuovere servizi da Systemd in Linux

Rimuovere servizi da Systemd in Linux

Systemd è diventato praticamente lo standard per la gestione dei servizi in Linux.

In questo articolo vediamo come rimuovere un servizio dalla "lista".

Ovviamente controllate bene che non serva più!

Mattepuffo's logo
Connessione ad AuraDB e Neo4j in Go

Connessione ad AuraDB e Neo4j in Go

AuraDB è un fully manage cloud service per Neo4j.

Volendo studiarmi un pò Neo4j, ed essendoci un piano gratuito, ho deciso di usare AuraDB.

Ma il codice dovrebbe funzionare anche nel caso di una istanza locale, in quanto la libreria è quella standard.

Mattepuffo's logo
Usare i templates in Go

Usare i templates in Go

Go ha già il suo package per i templates dentro text/template.

Anche se ci stanno svariati altri package, da quello che ho capito questo standard è già abbastanza veloce e utilizzato.

In questo articolo vediamo come usarlo.

Mattepuffo's logo
Usare i template in C++

Usare i template in C++

In C++ i templates ci permettono, sostanzialmente, di usare i generics.

Quindi possiamo creare delle funzioni con tipi generici, e poi usarle a nostro piacimento.

In questo articolo ne vediamo un paio di esempi.

Mattepuffo's logo
Usare le funzioni lambda in C++

Usare le funzioni lambda in C++

Le funzioni lambda sono usate in tantissimi linguaggi, orami vanno di moda.

Anche in C++ possiamo usarle (ma attenzione che non so da quale versione).

In questo articolo vediamo qualche esempio.

Mattepuffo's logo
Modificare il rate limit in Laravel

Modificare il rate limit in Laravel

In Laravel il rate limit è impostato di default a 60.

Diciamo che nella maggior parte dei casi può andar bene, ma in altro sarebbe meglio aumentarlo.

Possiamo farlo semplicemente agendo sul file app/Providers/RouteServiceProvider.

Mattepuffo's logo
Inviare form con Alpine.js

Inviare form con Alpine.js

In questo articolo vediamo come inviare un form in Alpine.js.

Invieremo i dati in POST.

A livello grafico il form usa Bootstrap, ma ovviamente non è obbligatorio.

Mattepuffo's logo
ReorderableListView in Flutter

ReorderableListView in Flutter

In questo articolo vediamo come usare il widget ReorderableListView, che in sostanza è una ListView che può essere ordinata con il drag-and-drop.

Non ci sono widget esterni da installare, e sostanzialmente l'uso è molto simile a quello di una ListView "classica".

Solo che metteremo una icona che ci permette di trascinare le varie righe.

Mattepuffo's logo
Download file da FTP con Laravel

Download file da FTP con Laravel

In pratica da Laravel devo connettermi ad un FTP, listare i files nella cartella, e scaricarli in una directory sul server.

Prima di tutto dobbiamo installare una libreria apposita.

Mattepuffo's logo
Rimuovere l'hash dagli url in Flutter

Rimuovere l'hash dagli url in Flutter

In Flutter, come in molti altri framework orientati al web, abbiamo due url strategy:

  • hash strategy, che in genere è quello di default e che prevede un hash (#) negli url
  • path strategy

In questo articolo vediamo come impostare il path strategy usando un package apposito: url_strategy!

Mattepuffo's logo
Usare i Google Fonts in Flutter

Usare i Google Fonts in Flutter

Attraverso il package google_fonts possiamo usare i Google Fonts nelle nostre Flutter app.

Possiamo sia decidere di fare il fetching dalla rete, che salvare i fonts nella app.

Ovviamente ci sono i soliti pro e contro.

Io non li salverò, ma nella documentazione è spiegato come fare.

Mattepuffo's logo
Convertire un form in JSON con Javascript

Convertire un form in JSON con Javascript

In questo articolo vi propongo due metodi per serializzare un form usando Javascript.

Quello che otterremo sarà un JSON con le chiavi che corrispondono al name del campo, e il value che corrisponde al valore.

Mattepuffo's logo
Ruotare widget in Flutter

Ruotare widget in Flutter

In questo articolo vi presento due modi per ruotare un widget in Flutter:

  • RotatedBox
  • Transform.rotate

Il secondo metodo è un pò più flessibile secondo me.

Mattepuffo's logo
Spoiler widget in Flutter

Spoiler widget in Flutter

spoiler_widget è un widget per Flutter che ci consente di nascondere un testo, o altro, e visualizzarlo al tap/click.

Prendendo spunto dall'esempio più sotto, giocate con i parametri per capire come nascondere quello che vi serve.

Mattepuffo's logo
Parsing YAML in Dart

Parsing YAML in Dart

In questo articolo vediamo come fare il parsing di un file YAML in Dart.

Per semplificarci ulteriormente la vita lo convertiremo in JSON.

Mattepuffo's logo
Settare la timezone in Go

Settare la timezone in Go

In Go possiamo settare/forzare la timezone molto facilmente.

In questo articolo vediamo un esempio, in cui stamperemo prima l'orario locale e poi l'orario della nuova timezone.

Non sono richieste librerie esterne.

Mattepuffo's logo
Impostare CORS in Gin

Impostare CORS in Gin

Per impostazione predefinita Gin Gonic blocca le chiamate da server esterni.

E' comunque possibile impostare CORS attraverso una libreria apposita.

In questo articolo vediamo come fare.

Mattepuffo's logo
Convertire files in PHP con Pandoc

Convertire files in PHP con Pandoc

Pandoc è una famosa utility da riga di comando che ci consente di convertire una pletora di formati.

Esiste un wrapper per PHP che andremo a studiare in questo articolo.

La cosa principale è che sulla macchina dove girerà il vstro script sia installato anche Pandoc; potete vedere la documentazione ufficiale per l'installazione.

Mattepuffo's logo
Ottimizzare le immagini in Python con YOGA

Ottimizzare le immagini in Python con YOGA

YOGA è una utility da riga di comando, scritta in Python, per l'ottimizzazione delle immagini.

E' facile da usare, in quanto non ha tantissime opzioni, se non le essenziali.

E' anche possibile usarla come libreria all'interno dei nostri script, cosa che faremo.

Infine, esiste anche già una GUI ufficiale se vi interessa.

Mattepuffo's logo
Usare il pattern Strategy in C#

Usare il pattern Strategy in C#

Il pattern Strategy fa parte dei behavioral design pattern, e permette di definire una famiglia di "algoritmi" e renderli facilmente interscambiabili.

In sostanza possiamo richiamare un algoritmo, farci delle operazioni, e poi cambiarlo a runtime.

Nel nostro esempio avremo un metodo per la somma e uno per la sottrazione.

Nell'esempio non ho considerato eventuali gestione degli errori (ad esempio la sottrazione non può essere negativa, ecc).

Mattepuffo's logo
Creare una web api in Dart con shelf

Creare una web api in Dart con shelf

Chi ha detto che Dart è valido solo se usato con Flutter?

In realtà è un linguaggio che può essere usato per un sacco di cose, anche lato desktop o server.

In questo articolo vediamo come usare shelf per creare una web api.

Mattepuffo's logo
Creare app con GUI in Go e Fyne

Creare app con GUI in Go e Fyne

Fyne è un GUI toolikit multi piattaform per Go.

In questo articolo vediamo come usarlo per creare la nostra prima finestra.

Ci sono alcuni passaggi da fare, e la prima compilazione può durare anche 10 minuti.

Mattepuffo's logo
Leggere file CSV in Rust

Leggere file CSV in Rust

In questo articolo vediamo come leggere un file CSV in Rust.

Ci serviranno due librerie:

  • serde per la deserializzazione (non è obbligatorio, ma ve lo consgilio)
  • csv

Mattepuffo's logo
Creare un socket client in Go

Creare un socket client in Go

Avevo la necessità di effettuare dei test su un socket server.

Invece di usare solo strumenti come netcat, ho pensato di crearmi un piccolo client in Go per sperimentare.

In questo articolo vi riporto la versione più basica da cui partire.

Mattepuffo's logo
Scambiare i colori in Gimp

Scambiare i colori in Gimp

Piccola procedura, facile e veloce, per scambiare i colori in una immagine con Gimp.

Dopo aver aperto l'immagine, ovviamente, andate su: Colore -> Mappa -> Scambio colore.

Mattepuffo's logo
Flutter scratch widget

Flutter scratch widget

scratcher è un package per Flutter che ci permette di eseguire uno scratch su un widget per visualizzare quello che c'è sotto.

Ad esempio una immagine.

Non so quante volte vi capiterà di usarlo, ma è interessante e divertente.

Quindi vediamo un esempio.

Mattepuffo's logo
Inviare richieste socket da terminale

Inviare richieste socket da terminale

In sostanza sto scrivendo un piccolo server socket, e devo testarlo.

Non potendo usare Postman o simili, visto che sono compatibili con le WebSocket che sono un'altra cosa, posso solo inviare i dati da terminale.

Oppure scrivere un client apposito, cosa che non mi va.

Quindi ho deciso di usare netcat!

Mattepuffo's logo
Live reloading in Go con air

Live reloading in Go con air

air è un programmino per Go che ci permette di fare il live reloading della nostra applicazione.

Molto comodo soprattutto quando usando un qualche framework tipo Gin Gonic.

In questo articol vediamo come usarlo.

Mattepuffo's logo
Gestire la cache in Java con JCache

Gestire la cache in Java con JCache

JCache è una "libreria" (in realtà non saprei come definirla) che ci permette di gestire la cache nelle nostre applicazioni in Java.

Ha tutta una serie di interfacce per la gestione della cache, ma bisogna indicare, e quindi installare, una sua implementazione.

Mattepuffo's logo
Listare file e directory in Dart

Listare file e directory in Dart

In Dart abbiamo accesso a dei metodi per listare file o directory in maniera abbastanza facile.

Il codice è lo stesso che si può usare in Flutter, ma ovviamente in questo ambito dovete tenere presente i permessi da attivare.

Mattepuffo's logo
Device preview in Flutter

Device preview in Flutter

device_preview è un package per Flutter che ci permette di attivare una preview per vari dispositivi.

Quindi ad esempio, ho avviato la app per Windows.

Sulla destra apparirà un "menu" in cui possiamo decidere con quale dispositivo visualizzare le schermate.

Ovviamente sono emulati, e potete anche chiuderlo/riaprirlo.

Mattepuffo's logo
Routing in Flutter con go_router

Routing in Flutter con go_router

go_router è un package per Flutter che ci permette di impostare la navigazione tra le schermate con un meccanismo di routing simile a quanto avviene nel web.

Ha diverse impostazioni avanzate, la possibilità di inviare parametri, usare nested-child, ecc.

In questo articolo vediamo un esempio.

Mattepuffo's logo
Lista paesi e città in Flutter con csc_picker

Lista paesi e città in Flutter con csc_picker

In verità il titolo è un pò riduttivo, nel senso che csc_picker fa un pò di quello che sembra.

In pratica:

  • ci offre una lista di tutti i paese con la visualizzazione delle bandiera (opzionale)
  • dopo aver selezionato una nazione ci riempire un'altra lista con le regioni/stati
  • dopo avere selezionato una regione/stato ci riempie una lista con le città
  • queste ultime due dropdown possono anche essere nascoste
  • abbiamo parecchie opzioni sullo stile

Tutto questo per vari OS, quindi possiamo usarlo su tutti i sistemi per i quali stiamo sviluppando la app in Flutter.

Mattepuffo's logo
Angular deployment su Apache

Angular deployment su Apache

Quando facciamo il deployment di un'applicazione Angular su Apache, notiamo che abbiamo diversi problemi con i link diretti o i refresh.

Io sono il primo che si dimentica che bisogna creare un file .htaccess con un pò di regole dentro.

Mattepuffo's logo
Scambio dati in rete con LocalSend

Scambio dati in rete con LocalSend

LocalSend è un programma multipiattaforma che ci permette di scambiare dati tra dispositivi nella rete locale.

Io l'ho testato su Windows e Linux, e devo dire che funziona bene.

Per Linux ho scaricato la versione AppImage.

La prima cosa che dovete fare dopo l'avvio è guardare tra le impostazioni; c'è anche la possibilità di scegliere dove salvare i file ricevuti.

Mattepuffo's logo
Navigazione verticale in Flutter con NavigationRail

Navigazione verticale in Flutter con NavigationRail

NavigationRail è un widget di Flutter che ci permette di avere un menu verticale al lato dello schermo.

Molto comodo se abbiamo bisogno di una barra di menu che occupa poco spazio in verticale; potrebbe essere scomodo nel caso di navigazione in molte schermate.

Non sono richieste librerie esterne.

Mattepuffo's logo
Eseguire comandi in Go

Eseguire comandi in Go

Tra i vari linguaggi che ho provato, sicuramente Go è quello con il quale è più facile eseguire comandi di sistema.

Ed è anche quello che visualizza un output più simile alla riga di comando.

In questo articolo vediamo un paio di esempi.

Mattepuffo's logo
ListView multi select in Flutter

ListView multi select in Flutter

In questo articolo vediamo come creare una ListView in Flutter che ci consente di selezionare più elementi con il tap/click (a seconda del sistema su cui gira).

Non abbiamo bisogno di librerie esterne.

Mattepuffo's logo
Usare @propertyWrapper in Swift

Usare @propertyWrapper in Swift

Una propertyWrapper in Swift ci indica come una determinata proprietà viene salvata/manipolata all'interno del nostro programma.

Viene usata spesso anche per gestire eventuali state.

In realtà detto così non significa granchè, quindi vediamo un esempio per capire meglio.

Mattepuffo's logo
Serializzazione e deserializzazione in C# con record

Serializzazione e deserializzazione in C# con record

Nella versione 10 di C# sono è stato introdotto il tipo record, che è stato introdotto anche in altri linguaggi, perchè porta con se diverse comodità.

In questo articolo vediamo come usare record per la serializzazione e deserializzazione di oggetti.

Useremo sempre JSON come formato vista la sua flessibilità e compatibilità.