Laracon review & recap 2022 cover image

Laracon review & recap 2022

Alberto Peripolli • 18 settembre 2022


Dopo aver visto tutto il Laracon 2022, ho scritto un piccolo riassunto di ciascun talk per mettere in risalto tutti i punti salienti.

Ogni talk ha il link al punto esatto della conferenza e ho dato anche una mia personale valutazione ed una stima del livello di difficoltà.

Spero così di aiutare chi non ha il tempo di guardarlo tutto a scegliere le cose più interessanti.


Not Quite My Type

Speaker Valutazione Livello
Kai Sassnowski ★★★★★ intermedio

Talk che spiega l'utilizzo dei Value Object per riuscire a definire meglio i parametri passati alle funzioni, centralizzando il controllo e la validazione dei valori.

Ha portato 3 esempi in live code:

  • durata vs int
  • percentuale vs int
  • UUID vs string

Kubernetes and Laravel

Speaker Valutazione Livello
Bosun Egberinde ★★★☆☆ avanzato

Panoramica di Kubernetes e un esempio pratico di utilizzo e configurazione con Laravel.


The future of Livewire

Speaker Valutazione Livello
Caleb Porzio ★★★★★ intermedio

Ha parlato dello stato attuale dello sviluppo in internet, di Livewire e del suo futuro...

Ha mostrato delle anticipazioni di Livewire v3:

  • includerà anche alpineJS di default e l'integrazione tra i due framework sarà maggiore
  • hot reload
  • ottimizzazione e riduzione delle chiamate AJAX
  • miglioramento della reattività e dell'utilizzo di componenti annidati

Sustainable Self-Care

Speaker Valutazione Livello
Marje Holmstrom-Sabo ★★☆☆☆ base

Ha parlato di sostenibilità, cura di se stessi sia fisica che spirituale.


Let's Get Physical: Database Internals and You

Speaker Valutazione Livello
Tim Martin ★★★☆☆ intermedio

Ha spiegato un po' di concetti di basso livello relativi a MySQL:

  • uso della memoria
  • performance
  • indici e alberi
  • UUID vs ID.

Deep Dive into Carbon

Speaker Valutazione Livello
Ralph J. Smith ★★★★☆ intermedio

Approfondimenti sulla famosa libreria di gestione delle date Carbon:

  • gems: closest, farthest
  • interval: diffForHumans vs diff/diffAsCarbonInterval, CarbonInterface
  • period: le funzionalità di CarbonPeriod

UI and Component testing with Cypress

Speaker Valutazione Livello
Marcel Pociot ★★★★☆ intermedio

Esempio di come testare l'UI con Cypress: un componente JS per il test end2end o a componenti, attraverso il pacchetto laracast/cypress di Jeffrey Way e il fantastico sito demo laragone.net.


The Hitchhiker's Guide to the Laravel Community

Speaker Valutazione Livello
Caneco ★★★☆☆ base

Piccolo resoconto storico di Laravel, di Taylor Otwell e dei servizi legati a Laravel.
Ricapitolazione dello stato di salute di Laravel e delle community che ci girano attorno.


Abstracting too early

Speaker Valutazione Livello
Matt Stauffer ★★★★☆ intermedio

Ha raccontato una storia che ha come morale: non usare strumenti grandi e complicati se non servono (YAGNI = "You Aren't Gonna Need It").
Poi ha spiegato che molte volte non è necessario scrivere il migliore codice possibile, ma deve essere un compromesso in base all'uso e al team (simply design e incremental design, duplicazione < astrazione sbagliata).
Una volta che il progetto ha raggiunto la forma desiderata, bisogna prepararsi all'estrazione di piccole parti (un po' alla volta), rifattorizzando prima la parte interessata.

Poi ha portato una serie di esempi di classici errori di astrazione prematuri:

  • Repository pattern
  • Microservices
  • Kubernetes
  • Docker
  • Estrazione di classi/componenti in librerie
  • Event sourcing

Laravel Update

Speaker Valutazione Livello
Taylor Otwell ★★★★☆ intermedio

Resoconto sugli ultimi aggiornamenti di Laravel, ora che il framework ha un rilascio annuale tutte le novità vengono introdotte durante i rilasci periodici, quindi si tratta semplicemente di un resoconto di novità già rilasciate e qualche cosa che verrà rilasciata a breve:

  • laravel cli restyling
  • artisan about
  • commando db:monitor
  • comandi xxx:show
  • pint
  • controllore di uscita da un comando con trap
  • vite preprocessor
  • allegati di Mailable con model che implementano l'interfaccia `Attachable
  • validazione con classi InvokableRule
  • errori per mancanza di attributi in $fillable del Model
  • UUID, ULID
  • seeder di model con chiavi ripetute su più Model collegati con il metodo recycle
  • Process api
  • precognition nuovo metodo di validazione
  • Laravel Bootcamp

Database Performance for Application Developers

Speaker Valutazione Livello
Aaron Francis ★★★★★ intermedio

Come migliorare le performance del nostro database andando ad agire su più livelli:

  • schema: grandezza dei tipi, tipi giusti
  • indici: b tree, indici multicolonna, ordinamento, colonne virtuali
  • query: utilizzo indici, select, subquery

Christoph Dreams of Simple Code

Speaker Valutazione Livello
Christoph Rumpel ★★★★☆ base

Riepiloga un po' la storia della sua vita personale e come sviluppatore, mostrando come è cambiato il suo codice negli anni ed il suo modo di pensare a proposito del codice.

Ha mostrato alcuni concetti per scrivere codice migliore, più leggibile, più testabile, più manutenibile e di cui andare più orgogliosi.


Is there any problem Git interactive rebase can't solve?

Speaker Valutazione Livello
Rissa Jackson ★★★☆☆ avanzato

Una panoramica sui comandi git con preferenza per gli interactive rebase:

  • git merge vs git rebase
  • git drop => git rebase -i
  • reword, amend
  • squash, fixup
  • rebase abort

Meaningful Mentorship

Speaker Valutazione Livello
Alex Six ★★★☆☆ base

Questo talk parla di cosa vuol dire essere Mentor, perché diventarlo e i vantaggi che porta. Come creare una relazione sana tra le parti e incoraggiare i passi in avanti. Utilizzare il pair programming per fare diventare l'allievo indipendente, definire degli obbiettivi ragionevoli e riuscire a farsi guidare da esso.


I shall say… err define this only once

Speaker Valutazione Livello
Freek Van der Herten ★★★★★ intermedio

Ha spiegato l'utilizzo del pacchetto spatie/laravel-data che permette di definire un oggetto una sola volta per molteplici utilizzi come form request, api resource e definizioni typescript.


I can't believe it's not local!

Speaker Valutazione Livello
Chris Fidao ★★★★☆ intermedio

Ha spiegato come lavorare completamente remoto senza aver niente installato in locale sul computer, per non avere dipendenze o dover fare installazioni di versioni di php, mysql ecc... In locale si usa l'editor e git e tutto il resto su un server remoto. Ha fatto un esempio utilizzando fly.io, vessel cli e mutagen.


Valid Variants of Validating Validation

Speaker Valutazione Livello
Luke Downing ★★★★☆ base

Ha parlato di come validare le validazioni con diversi approcci incrementali:


A Grab Bag of Useful Tips

Speaker Valutazione Livello
Colin DeCarlo ★★★☆☆ intermedio

Ha spiegato 3 utili tip:

  • Configurare XDebug con Valet in PHPStorm
  • Shimming Data Functions con i test in SQLite (utilizzare funzionalità di Mysql con SQLite)
  • Model Factory: come dare valori diversi alle colonne dei pivot con le Sequence

Browsers are Magical Creatures

Speaker Valutazione Livello
Stephen Rees-Carter ★★★★☆ avanzato

Ha parlato della sicurezza dei siti web attraverso la compilazione di alcuni Header (X-Frame-Options, X-Content-Type-Options, Strict-Transport-Security, Content-Security-Policy, Referrer-Policy, Permissions-Policy, X-XSS-Protection) e alcune modalità di attacco attraverso l'utilizzo di servizi ed esempi.

Poi ha spiegato il Subresource Integrity (SRI) con un esempio attraverso il codice di esempio di alpineJS ed il servizio srihash.org.
Infine ha parlato di Cross-Origin Resource Sharing (CORS) e SameSite Cookies


Commenti e valutazioni