Connessione a PostgreSQL in C#
In questo articolo vediamo come eseguire una connessione ad un db PostgreSQL con C#.
Per farlo useremo la libreria Npgsql che potete installare da NuGet.
In questo articolo vediamo come eseguire una connessione ad un db PostgreSQL con C#.
Per farlo useremo la libreria Npgsql che potete installare da NuGet.
Diciamo che dal titolo forse non si capisce bene cosa intendo o cosa mi serva.
Soprattutto perchè da quando uso Eloquent è la prima volta che ho questa necessità, quindi non mi ero mai posto il problema.
FlexColorScheme è un package per Flutter che ci permette di avere un'altra palette di colori da cui attingere per creare dei temi veramente interessanti.
Inoltre mette a disposizione anche un playground online da cui possiamo scegliere tra diverse palette e modificarle; poi ci basta copirare il codice.
Bentocache è una libreria per Node.js che ci permette di salvare i dati in formato key:value e riutilizzarli nella nostra applicazione.
Mette a disposizione diversi drivers per il salvataggio dei dati.
Noi vediamo un esempio basico con il salvataggio in memory.
In VB.NET gli indexer ci permettono di aggiungere un index ad una classe o ad una struct in modo da indicizzarla come un array.
Visto che è più facile vedere il codice che spiegarlo a parole, vediamo un esempio.
In questo articolo vediamo come ottimizzare un database MariaDB o MySQL.
Il discorso è praticamente lo stesso, cambia solo il nome del programma da lanciare da riga di comando.
pacman è il gestore pacchetti ufficiale di Arch Linux e derivate.
Non so se vi è mai successo di non riuscire più ad usarlo perchè magari è stato cancellato un qualche file che era fondamentale.
Ebbene in quel caso non funzioneranno neanche i suoi derivati tipo yay.
BASH non ha un concetto di try/catch come molti linguaggi di programmazione, ma possiamo comunque intercettare gli errori in diverse maniere.
Supponiamo di avere uno script per creare una cartella nella root del sistema e di lanciarlo senza i permessi adeguati.
Ovviamente darà un errore.
In C# gli indexer ci permettono di aggiungere un index ad una classe o ad una struct in modo da indicizzarla come un array.
Visto che è più facile vedere il codice che spiegarlo a parole, vediamo un esempio.
Putroppo Laravel da per scontato che usiamo il code-first per il nostro db, ma non è sempre così.
Per fortuna c'è Reliese, un package che ci consente di creare i nostri model partendo dal database.
Al momento l'ho testato solo con Laravel, ma non è detto che non si possa usare anche al di fuori.
In questo articolo vedremo come creare un file zip e far direttamente il download in Laravel.
Solo che, in questo caso specifico, i file li prenderemo eseguendo una query su db.
Dalla tabella prenderemo i vari nomi dei files, che stanno tutti dentro la stessa cartella, e se esistono li aggiungeremo al file zip.
UglifyJS è un piccolo programma per Node.js, che può essere usato anche come libreria se ho capito bene, che ci permette di minificare i file Javascript.
In sostanza vuol dire comprimere i file Javascript molto grandi in modo da renderli più leggeri, ma meno leggibili.
Ovviamente avete bisogno di Node.js ed npm.
In verità questo articolo dovrebbe valere non solo per Linux, anche per macOS e BSD, in quanto useremo grep e sed per ottenere quello che vogliamo: visualizzare nel terminale i file di config senza commenti!
Useremo un file di test in modo da poterlo eventualmente manipolare.
Aspose è un'azienda che mette a disposizione diverse librerie/SDK per diversi linguaggi e diverse attività.
In questo articolo vediamo come usare aspose-email per convertire un file HTML in OFT con VB.NET.
Può capitare di dove visualizzare tutte le colonne di una tabella per farci qualche operazione.
Ovviamente ci stanno diversi modi per farlo.
Se usiamo Eloquent possiamo semplicemente usare gli strumenti messi a disposizione.
Contact Form 7 lo conosciamo tutti, in quanto plugin più utilizzato per creare form in Wordpress.
Ancora una volta mi ha stupito la sua flessibilità.
In questo articolo infatti vediamo come modificare il destinatario in base ai campi scelti.
Come si intuisce dal nome laravel-backup è una libreria per Laravel che ci consente di effettuare i backup in maniera agevole.
Di default esegue il back sia dei files che del database, ma ovviamente possiamo anche farli separati.
Inoltre è anche possibile farli su spazi esterni tramite FTP o simili.
Aspose è un'azienda che mette a disposizione diverse librerie/SDK per diversi linguaggi e diverse attività.
In questo articolo vediamo come usare aspose-email per convertire un file HTML in OFT con C#.
Non tutti amano Systemd, ma è comunque diventato lo standard nella maggior parte delle distro Linux.
In questo articolo vediamo alcuni metodi per verificare che stiamo usando Systemd piuttosto che un altro sistema.
Aspose è un'azienda che mette a disposizione diverse librerie/SDK per diversi linguaggi e diverse attività.
In questo articolo vediamo come usare aspose-email per convertire un file HTML in OFT.
Nelle varie nuove versioni Angular ci sta mettendo a disposizione sempre più strumenti che facilitano diverse operazioni.
In questo articolo vediamo come usare @Input per scambiare dati tra due componenti nella versione 18.
flutter_contacts è un package per Flutter che ci consente di visualizzare (e anche gestire volendo) i contatti nelle nostre Flutter app.
Come prima cosa bisogna impostare i permessi.
In questo articolo vediamo come creare delle eccezioni custom in Kotlin.
Non che sia una cosa così diffusa, ma può sempre capitare.
unstorage è una libreria per Node.js che ci permette di salvare i dati in formato key:value e riutilizzarli nella nostra applicazione.
Mette a disposizione diversi drivers per il salvataggio dei dati.
Noi vediamo un esempio basico con il salvataggio in memory.
In Laravel 11 è stato eliminato il file routes/api.php, che per me è fondamentale, in quanto uso Laravel principalmente per la creazione di web api.
Non so quale sia la motivazione, ma per fortuna riattivare le stateless API è abbastanza facile.
doggo è una piccola utility scritta in Go che ci consente di avere informazioni DNS in maniera molto easy.
Ci sono varie modalità di installazione.
RxGo è una implementazione per Go di ReactiveX, un API per la programmazione asincrona.
In questo articolo vediamo un esempio del suo utilizzo.
Premetto che su Go non ho approfondito molto per mancanza di tempo; mi sono solo fatto un'idea.
Keyv è uno storage di tipo key:value che supporta diversi database.
Di default salva tutto in memoria, ma volendo, come abbiamo detto, possiamo usare:
No vediamo un esempio con SQLite.
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.
In sostanza vogliamo controllare se è la prima che avviamo una nostra app scritta in Flutter.
Per farlo possiamo usare is_first_run.
C'è da dire che volendo potremmo anche creare la logica "a mano" usando le shared_preferences.
In effetti is_first_run usa proprio quelle dietro le quinte.
XML Wrangler è una libreria per PHP per facilitare alcune operazioni sugli XML.
In questo articolo vediamo come usarla per fare il parsing di una stringa.
Wcurl è un wrapper per curl decisamente più user friendly.
E' teoricaemte compatibile con tutti gli OS che sono compatibili con curl.
Ed è obbligatorio avere curl installato ovviamente.
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.
Carbon è una libreria molto usate per la gestione delle date in PHP.
Se non erro è usata come standard anche in diversi framework.
In questo articolo vediamo qualche esempio.
Ovviamente in Python per fare questa operazione abbiamo Nmila modi, anche troppi.
Se usiamo una versione di Python dalla 3.3 in poi, possiamo usare shutil.
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.
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ù!
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.
In questo articolo vediamo un piccolo snippet CSS per creare un effetto door sui bottoni nell'hover.
retry è un package per Dart e Flutter che ci permette di rilanciare operazioni asincrone in automatico qualora fallissero.
In questo articolo ne vediamo un esempio in Dart.
In generale una string permutation è un riordinamento di una stringa.
E due stringhe sono considerate permutazioni una dell'altra se contengono gli stessi caratteri con la stessa frequenza.
Il che vuol dire che sono uguali se ordinate allo stesso modo.
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.
react-tilt è una delle varie libreria per React per creare animazioni.
In realtà è molto focalizzata su un tipo di animazione, ma può essere comodo conoscerla.
In questo articolo vediamo un esempio.
anim_search_bar è uno dei vari package per Flutter per creare una search bar animata.
Molto facile da implementare.
In generale una string permutation è un riordinamento di una stringa.
E due stringhe sono considerate permutazioni una dell'altra se contengono gli stessi caratteri con la stessa frequenza.
Il che vuol dire che sono uguali se ordinate allo stesso modo.
Wordpress di default blocca l'upload di file SVG.
E' possibile risolvere, ovviamente, usando un plugin.
Ma c'è anche la possibilità di farlo via codice.
Per creare dei custom type in Wordpress abbiamo principalmente due possibilità:
Oggi vediamo la prima, ovviamente.
Un package per Flutter non utile da un punto di vista tecnico, ma utile da un punto di vista "fighetteria": flutter_bounceable.
In pratica ci da la possibilità di animare i nostri widget con l'effetto bounce (anche si in realtà si tratta più di un effetto ingrandimento....).
In questo articolo vediamo un piccolo snippet CSS per creare un effetto glow sui bottoni nell'hover.
Wordpress mette a disposizione veramente tante funzioni, di cui alcune anche poco conosciute (o almeno io non le conoscevo).
Una di queste è wp_trim_words, che in pratica si occupa di troncare il testo.
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.
In questo articolo vediamo come generare QR Code in Rust usando qrcode_generator!
Per installare la libreria aggiungiamo la dipendenza a cargo.toml:
[dependencies]
qrcode-generator = "4.1.9"
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.
In questo articolo vediamo come creare QR Code in Go usando la libreria go-qrcode!
Per installarla:
go get -u github.com/yeqown/go-qrcode/v2
go mod tidy
Salvo è uno dei vari web framework per Rust.
In questo articolo vediamo un esempio introduttivo.
La validazione di un JSON in PHP si poteva fare anche prima ovviamente.
Solo che dalla versione 8.3 PHP ci mette a disposizione una funzione apposita: json_validate!
In un programmino scritto in Qt, ho una funzione che mi fa il resize delle immagini in base a quello che digita l'utente.
Però mi lascia i DPI invariati; io invece voglio forzarli a 72.
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.
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.
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.
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.
pdf2docx è una libreria per Python che ci consente di convertire un file PDF in DOCX.
In questo articolo vediamo come usarla.
In Flutter, come in molti altri framework orientati al web, abbiamo due url strategy:
In questo articolo vediamo come impostare il path strategy usando un package apposito: url_strategy!
In questo articolo vediamo come usare JWT in Gin Gonic.
Oltre alla libreria apposita, io ho usato anche cors e gorm.
In Ruby abbiamo già integrato il modulo per gestire i file CSV.
In questo articolo vediamo un semplice esempio di parsing di un file.
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.
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.
Piccolo snippet PHP per modificare la label del prezzo in WooCommerce.
In pratica, nel mio caso, il prezzo visualizzato nella scheda prodotto si deve visualizzare così:
In questo articolo vi presento due modi per ruotare un widget in Flutter:
Il secondo metodo è un pò più flessibile secondo me.
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.
CSwiftV è una libreria per il parsing di file CSV per Swift.
Non richiede una installazione particolare, basta aggiungere la classe che trovate nel repo.
fancy_shimmer è sostanzialmente un piccolo package per Flutter che ci da un effetto shimmer in fase di caricamento di immagini.
Può essere utile quando carichiamo svariate immagini dalla rete, in quanto ci da quell'effetto di caricamento che avverte l'utente che la app sta facendo qualcosa.
In questo articolo vediamo come creare e poi scompattare archivi ZIP in Go.
Non non necessarie librerie esterne, in quanto Go ha già tutto quello che ci serve.
In questo articolo vediamo come fare il parsing di un file YAML in Dart.
Per semplificarci ulteriormente la vita lo convertiremo in JSON.
pretty_qr_code è un package per Flutter che ci consente di creare QR Code all'interno delle nostre applicazioni.
Di base è molto semplice da usare; ha poi tutta una serie di impostazioni più avanzate che richiedono un pò più di tempo.
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.
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.
Tra i vari console, Javascript ci mette a disposizione console.dir, che è molto utile per fare il debug di oggetti.
Questo perchè, rispetto ad altre funzioni, ci esplode tutto l'oggetto, ed i vari sotto oggetti.
skeletonizer è un package per Flutter che ci permette di creare un loading skeleton.
Nelle app moderne è abbastanza comune ormai.
In questo articolo vediamo un esempio basico.
AbsorbPointer è un widget per Flutter che ci consente di bloccare il pointer event su un widget.
Ad esempio su un bottone.
In questo articolo vediamo un esempio; non sono richieste librerie esterne.
In questo articolo vediamo come creare una tabella tipo DataTable con Alpine.js.
Per la parte dello stile ho usato Bootstrap, ma ovviamente non è obbligatorio.
I dati li prendiamo da uno dei miei url; siete liberi di usarlo per i vostri test.
Moshi è una libreria per Java e Kotlin per JSON, ottimizzata per essere usata anche in ambito mobile.
In questo articolo vediamo un esempio in Java.
flutter_polls è un widget per Flutter che ci consente di creare un sistema di sondaggi.
E' molto completo, ed in questo articolo ne vediamo un esempio basico.
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.
Per connetterci a PostgreSQL in Dart abbiamo un package apposito: postgres!
In questo articolo vediamo come usarlo.
La tabella è composta da tre campi:
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.
image_compare_slider è un widget per Flutter che ci consente di comparare due immagini.
Detto così magari non vuol dire nulla, quindi procediamo con un esempio.
In MySQL e MariaDB abbiamo diversi modi per identiricare qual'è la primary key di una tabella.
In questo articolo vi mostro quelli che conosco io.
I CSS sono pieni di pseudo classi che ci aiutano a scrivere codice più compatto e pullito.
Tra quelle più utili e meno usate ci sono is e has.
In questo articolo vediamo qualche esempio.
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).
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.
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.
CurrencyToFloat è una piccola libreria per Javascript, e Typescript, che fa solo una cosa: convertire una valuta in float.
In questo articolo vediamo come usarlo in Angular, anche se è indipendente dal framework/piattaforma.
In questo articolo vediamo come leggere un file CSV in Rust.
Ci serviranno due librerie:
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.
In questo articolo vediamo come creare un'animazione fade in duranto il caricamento in Flutter.
Non abbiamo bisogno di package appositi, anche se mi sa che c'è qualcosa al riguardo.
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.
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.
Per creare un socket server in Node.js non abbiamo bisogno di librerie esterne.
Possiamo usare direttamente net incluso.
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!