Posts

Showing posts from October, 2024

INTRODUZIONE AI RECORD ED ALLE CLASSI SEALED IN JAVA

Image
Con il rilascio di Java 14 (marzo 2020), è stato introdotto un nuovo tipo di classe chiamato record . I record sono stati progettati per semplificare la creazione di classi che principalmente contengono dati. Inoltre, con Java 15 è stato introdotto anche il modificatore sealed per le classi, offrendo un controllo maggiore su come le classi possono essere estese. Esploriamo questi concetti in dettaglio, con esempi pratici. Cos'è un Record in Java? Un record è un tipo speciale di classe introdotto per rappresentare dati immutabili. In pratica, un record è una classe compatta e concisa che gestisce automaticamente le sue componenti principali come il costruttore, i metodi equals , hashCode e toString , il tutto senza la necessità di definire manualmente questi elementi (come suggeruti da un mio caro collega, con il record abbiamo un lombok nativo). I record sono ideali per rappresentare semplici strutture di dati come modelli di risposta API, coordinate o coppie di valori. Quando e...

IMPRESSIONI E SENTIMENTI DAL CODEMOTION 2024

Image
Sono appena tornato dal Codemotion, conferenza sul mondo tech e digital tenutasi a Milano ad inizio settimana. E devo dirvi che....sono stati due giorni che mi hanno motivato tantissimo e fornito nuova energia per il futuro, sia lavorativo che personale.  Un'edizione, quella del 2024, in cui l'intelligenza artificiale l'ha fatta da padrona: molti talk vertevano su tecnologie finalizzate allo sviluppo di applicazioni in ambito AI o che assistono nello sviluppo mediante l'AI (è il caso ad esempio di Github Copilot); altri ancora ponevano il focus, invece, sui limiti  e di come sia importante utilizzarla con cautela prima che la stessa prenda il sopravvento sullo sviluppatore e sui fruitori del codice. Ho seguito molti speech, partecipato a dibattiti e ricevuto feedback da varie persone su ciò che faccio anche in questo blog: non mi aspettavo che fra i vari attendees vi fossero anche lettori abituali di queste pagine...segno evidente che il lavoro inizia a produrre i suoi ...

GESTIONE DELLA MEMORIA IN JAVA: IL RUOLO DEL GARBAGE COLLECTOR

Image
In Java, uno degli aspetti fondamentali della gestione della memoria è il Garbage Collector (GC) . Questo strumento automatizza il processo di gestione della memoria, liberando la memoria occupata dagli oggetti non più utilizzati. A differenza di linguaggi come il C o il C++, dove la gestione della memoria è manuale, Java affida il compito di allocazione e deallocazione della memoria al Garbage Collector, rendendo il codice più sicuro e meno incline a errori come i memory leaks . Aree di Memoria Coinvolte nel Garbage Collector La gestione della memoria in Java è suddivisa in varie aree, che includono lo Heap e lo Stack , e in particolare l'Heap viene ulteriormente suddiviso in sezioni che sono di interesse per il Garbage Collector: Stack: Utilizzato per la gestione delle chiamate di metodo e delle variabili locali. Ogni thread ha il proprio Stack, e la memoria viene allocata e deallocata in modo automatico quando le funzioni entrano ed escono dal contesto. Heap: Lo Heap è l'ar...

INTRODUZIONE AI DESIGN PATTERN

Image
  I design pattern sono soluzioni comuni e riutilizzabili a problemi ricorrenti nella progettazione del software. Invece di reinventare la ruota ogni volta che ci si confronta con un problema, i pattern offrono una struttura già testata e ben definita per affrontare le sfide comuni di sviluppo. Tra i principali contributi in questo ambito vi è il libro "Design Patterns: Elements of Reusable Object-Oriented Software" , scritto dai cosiddetti Gang of Four (GoF) – Erich Gamma, Richard Helm, Ralph Johnson e John Vlissides – che classifica i pattern in tre grandi categorie: creazionali , strutturali e comportamentali . Categorie di Design Pattern Creazionali : Questi pattern si concentrano sulla modalità con cui vengono create le istanze degli oggetti. Si preoccupano di astrarre il processo di instanziazione e di nascondere i dettagli di implementazione. Strutturali : I pattern strutturali si concentrano sull'organizzazione e composizione delle classi o degli oggetti per for...

AGGIORNAMENTO INVESTIMENTI 3° TRIMESTRE 2024

Image
Nuovo trimestre e nuovo report sul mio patrimonio ed i miei investimenti. Se ti sei perso la puntata precedente, leggi l'articolo qui . Prima di iniziare la solita panoramica sui vari comparti finanziari ed ancor prima di procedere con il solito disclaimer, vorrei spendere due minuti sulle motivazioni che mi hanno spinto e, tutt'ora mi invogliano, a realizzare questa rubrica sul blog. Sono stati in molti a scrivermi in privato chiedendomi il perché io stessi flexando - termine molto in voga tra i giovani di oggi - il mio patrimonio. In realtà le ragioni dietro questi articoli sono principalmente due: creare questi report mi obbliga a gestire meglio e con più raziocinio le mie finanze rafforzando il mio committment anche per la fase di budgeting; stimolare un dibattito sul tema denaro, sfatando un po' il tabù culturale e promuovendo un nudismo finanziario. Parlare pubblicamente di soldi, stipendi e motivazioni economiche è il primo passo per eliminare il "blocco mentale...