21 Tutorial per approfondire Laravel ORM e Eager Loading

21 Tutorial per approfondire Laravel, alcuni sembrano molto interessanti, soprattutto dalla sezione di Eloquent in poi:

https://laravel-news.com/learning-laravel-in-2021

Single Page Application in VUE e Laravel

Ho iniziato a leggere il tutorial sulla Single Page Application scritta in VUE e Laravel per servire l’Application e implementare le API, interessante, ma per ora non è una priorità, se ci fosse in futuro un piccolissimo progetto dove usare Angular sia una perdita di tempo, gli darò un’occhiata.

https://laravel-news.com/using-vue-router-laravel/

Eager Loading

Questo invece sembra molto interessante, conoscevo già i benefici dell’utilizzare le relazioni all’interno dei Model, ma in questo tutorial viene spiegato molto bene.

https://laravel-news.com/eloquent-eager-loading

Viene chiamato anche “Eager Loading”, caricamento desideroso… non so’ perché ma mi fa ridere la cosa 😂 , forse non è questa la traduzione corretta, ma la ricorderò per questo motivo.

In breve, implementando all’interno dei Model, dei metodi che implementano le relazioni HasOne, HasMany, BelogsTo, ecc… Eloquent riesce ad ottimizzare le query e ridurle drasticamente.

Shell Artisan per test

Nel mentre ho scoperto anche l’esistenza del comando “php artisan tinker”, una comodissima Shell per eseguire codice PHP, la trovo utilissima soprattutto per testare query e pezzi di codice, invece di implementare API farlocche di test, può essere molto comoda, da approfondire per capire come ricreare il contesto di una vera chiamata alle API. Non so se è possibile, ma sicuramente approfondirò alla prima occasione.

Tornando all’Eager Loading

Una cosa interessante che ho scoperto è l’utilizzo del “desideroso caricamento” innestato, sembra figo, se si definiscono bene le relazione di ogni Model si possono fare cose molto carine con poco codice e anche ottimizzate.

Figo questo “caricamento desideroso” 😂 , è spiegato molto bene anche nella documentazione di Laravel, ma chi si legge attentamente tutta la documentazione?! E’ veramente un mago se riesce ad arrivare alla fine senza essere passato a smanettare con il codice per fare prove e poi, preso dall’euforia che tutto funziona, abbandona la lettura e passa subito all’azione perché alla fine quelle poche cose che ha provato gli bastano e avanzano.

https://laravel.com/docs/8.x/eloquent-relationships#eager-loading

Polimorfismo

Nella stessa pagina c’è anche il morphing, una concetto molto bello che se usato bene permette di fare cose altrettanto fighe.

In pratica ti permette di definire una relazione dinamica, cioè si ha un Model Post che ha riferimento a media generici, dove media può assumere le sembianze di un Model Video, Image, Audio e tutto quello che vogliamo. Come fa ad implementarlo laravel? Si conserva oltre all’ID della relazione anche il tipo e automaticamente recupera l’oggetto della relazione dalla tabella giusta.

https://laravel.com/docs/8.x/eloquent-relationships#polymorphic-relationships

Come si risolve un bug?

Risposta breve: semplicemente spiegandolo ad un collega

Vi è mai capitato di perdere ore nel risolvere un problema (non per forza legato al mondo dell’informatica e della programmazione, per questo non lo chiamerò bug) e cercare di trovare una soluzione facendosi aiutare da un collega, da una persona che potrebbe darvi qualche idea quale potrebbe essere la causa, e mentre ne state parlando, magicamente, vi viene in mente la soluzione o riuscite ad identificarne la causa…

Oggi ho scoperto che questa fantastica tecnica ha un nome 😀

Continua a leggere Come si risolve un bug?

Microsoft Azure come Monitorare un servizio con Avvisi e Notifiche Push

In questo tutorial vedremo come configurare degli avvisi tramite notifiche push quando il servizio su Microsoft Azure presenta qualche problema.

Sia che si utilizzano i Service App di Microsoft Azure (App Service) per ospitare un semplice sito web basato su WordPress che un complesso sistema di API, è fondamentale monitorare costantemente le performance del servizio per prevenire eventuali disservizi. Ricevere poi questi avvisi tramite notifiche push permette di intervenire rapidamente.

Come monitorare un servizio Microsoft Azure con notifiche push

Il lavoro che andremo a fare è definire una regola sul sito IFTTT https://ifttt.com/, che tramite un webhook ci permette di ricevere una notifica push sul nostro smartphone. Dopo di che andremo a configurare sul portale di Azure un avviso basato su una particolare metrica da monitorare.

Il portale di Microsoft Azure permette di definire degli Avvisi

Scatenati al verificarsi di regole da noi definite, questi avvisi possono essere ricevuti tramite mail oppure invocare un webhook.

Un webhook non è nient’altro che un indirizzo web che viene invocato al cambiamento o al verificarsi di un evento, questo url a sua volta scatenerà delle modifiche o dei comportamenti in un’altra applicazione, nel nostro caso si occuperà di inviare una notifica push.

Come inviare una notifica push utilizzando il servizio di notifiche offerto da IFTTT e Maker Webhooks

Per chi non lo conoscesse, IFTTT è un servizio web che permette di integrare più servizi attraverso delle regole di “if this than that”, classica struttura di controllo utilizzata nei linguaggi di programmazione.

Mettiamoci a lavoro partendo proprio dal creare una regola su IFTTT https://ifttt.com/create. Se non siete già registrati sul sito dovete farlo per poter creare una nuova regola, che sul sito viene chiamata come Applet, quindi:

♦ Premiamo su “New Applet” e poi sulla scritta “this”

Premiamo su “New Applet” e poi sulla scritta “this” Continua a leggere Microsoft Azure come Monitorare un servizio con Avvisi e Notifiche Push