Il Red Hat Summit Connect torna anche quest’anno, consolidandosi come il principale evento in Italia dedicato all'innovazione tecnologica e al mondo open source. Le due tappe italiane, che si terranno il 7 novembre a Roma e il 19 novembre a Milano, rappresentano...
Premessa
Ci tengo a ringraziare l’azienda per avermi coinvolto e portato al FOSDEM 2024. E’ stato davvero stimolante accedere a così tante informazioni e ho avuto il piacere di confrontarmi con colleghi, tecnici di alto livello e professori universitari.
Ho raccolto tantissimo materiale di studio: siti web, webapp ed intere librerie di pdf da cui posso attingere, spaziando dallo studio dei sistemi operativi, linguaggi di programmazione, tecniche di automation e migrazione dei dati.
Di seguito lascio un breve riassunto delle nozioni che mi sono rimaste maggiormente impresse.
Django migrations
Questo tema e corso, mi ha lasciato qualcosa di utile per il mio lavoro di tutti i giorni. Specialmente lo speech trattato da Denny Biasiolli. In poco tempo è riuscito a spiegare in modo semplice e lineare come effettuare al meglio migrazioni Django, dando anche prove pratiche.
Questo è il suo riferimento alla documentazione ufficiale: https://docs.djangoproject.com/en/4.2/topics/migrations/#the-commands
In breve ha chiarito il processo di esecuzione, che si articola in diversi passaggi:
Creazione di un nuovo modello:
# main/models.py from django.contrib.auth import get_user_model from django.db import models class Tweet(models.Model): created_by = models.ForeignKey( get_user_model(), on_delete=models.CASCADE) created_at = models.DateTimeField(auto_now_add=True) text = models.CharField(max_length=140)
Creare una migrazione:
$ manage.py makemigrations
Migrations for 'main':
main/migrations/0001_initial.py
- Create model Tweet
Analizzare quello che è stato fatto ed infine aggiornare il database:
manage.py migrate [app_label] [migration_name]
Molto utili le osservazioni su una rollback:
$ manage.py migrate admin zero
Operations to perform:
Unapply all migrations: admin
Running migrations:
Rendering model states... DONE
Unapplying admin.0003_logentry_add_action_flag_choices... OK
Unapplying admin.0002_logentry_remove_auto_add... OK
Unapplying admin.0001_initial... OK
Ed il controllo delle migrazioni effettuate:
$ manage.py showmigrations main
main
[X] 0001_initial
Sicuramente uno degli appuntamenti che mi hanno interessato di più considerando che sto toccando con mano l’argomento, e in futuro potrei approfondirlo ulteriormente.
CI/CD ed osservabilità
Una pipeline CI/CD affidabile è la spina dorsale di ogni progetto moderno: la visibilità sui suoi processi è limitata e spesso richiede la revisione e l’analisi manuale degli output di compilazione. Ho scoperto che sfruttando OpenTelemetry è possibile ottenere un’osservabilità delle pipeline, rendendo il processo di distribuzione del software completamente osservabile.
In altri speech si è toccato argomenti di standardizzazione della pipeline, in particolare:
- il ruolo centrale delle pratiche standardizzate nelle pipeline CI/CD
- come viene definita un’architettura della pipeline solida e configurazioni standardizzate
- come migliorare la flessibilità dei team e sfruttare i propri strumenti preferiti senza compromettere la pipeline di sviluppo.
Alcuni degli strumenti trattati sono stati Argo, Flux, Spinnaker e Backstage che conoscevo ma in modo generico. Riuscire ad analizzarli e osservare dei test è stato sicuramente istruttivo.
Sono rimasto in parte deluso dal fatto che è stato toccato spesso il tema GitHub ma mai lato GitLab, per lo meno negli speech che sono riuscito a seguire. Sinceramente mi aspettavo che nel tema CI/CD fosse uno strumento molto più presente.
Conclusioni
Partecipare al FOSDEM è stata una bellissima esperienza, Tante cose nuove da imparare, da mangiare e da bere. Tutto estremamente stimolante. Università che mai avrei visto se non in questa occasione, persone di culture molto diverse. Cibi tradizionali, argomenti tecnici per esperti e non, parchi antichi e suggestivi.
Indubbiamente un’esperienza da fare nella vita di un informatico e di chi nelle aziende informatiche lavora.
Scopri le tecnologie scelte da Seacom
Selezioniamo le migliori tecnologie open source per agevolare la comunicazione, la condivisione e la collaborazione tra i team, migliorando l’efficienza e la produttività e seguiamo le aziende lungo l’intero processo, dall’adozione fino al mantenimento