Tutto è iniziato quando mi è venuta l’idea di imparare a scrivere qualche righetta di codice, volevo che il computer facesse qualcosa di utile ma non sapevo da dove cominciare.
Amo smanettare con il computer da quando ho iniziato a saper leggere. Non faccio il programmatore di mestiere, ma la curiosità e tanta e se unita alla passione diventa una combo potentissima.
Perciò, rimuginando su cosa avessi di bisogno al momento, ho pensato un sistema intelligente che raccoglie informazioni, le organizza alla velocità della luce e le fa analizzare da un’intelligenza artificiale.
SyncCore Engine è il risultato dell’esperimento.
In questo articolo spiegherò, in maniera molto intuitiva, di cosa si tratta e di come l’ho costruito passo dopo passo.
- Immagina una squadra di quattro amici
Per fare funzionare questo programma ho dovuto creare una “squadra” di quattro programmi diversi che lavorano insieme sott’acqua grazie a uno strumento magico chiamato Docker (che serve a fare andare d’accordo tutti i pezzi senza litigare):
– Il Cameriere (Frontend): Che restituisce la schermata che vedi sul computer (fatta con Next.js). E’ quella che utilizzi per registrarti, entrare nella piattaforma e vedere cosa sta succedendo.
– Il Corriere Espresso (L’Ingester): Scritto in un linguaggio che si chiama Go, famoso per rendere i programmi più veloci. Il suo compito è prendere i dati che arrivano dall’esterno, controllare che chi li manda sia autorizzato e smistarli subito alla massima velocità.
– Il Cervello/Ragioniere (Il Backend): Scritto in Python, è il cuore pulsante. Prende le informazioni, le mette al sicuro bloccando le password con una cassaforte digitale e le passa all’Intelligenza Artificiale (un modello intelligente che gira sul computer) per farle analizzare.
– L’Archivio (Il Database): Il magazzino (MySQL) dove rimangoo salvati i dati degli utenti e dei messaggi in modo ordinato e sicuro.
2. Le montagne russe: i problemi da superare
Ovviamente non è andato tutto l’iscio fin dall’inizio. Sviluppare significa sbattere la testa contro i problemi e trovarne la soluzione. Ecco cosa ho dovuto superare:
- La lingua comune: All’inizio il “cervello” in Python parlava da solo e non voleva sentire ragione di dialogare con gli altri programmi. Ho dovuto istemare i collegamenti di rete per fare in modo che tutti i membri della squadra potessero parlarsi liberamente (0.0.0.0).
- Il parcheggio occupato: Quando ho provato ad accedere al magazzino dei dati, il computer mi diceva che la porta 3306 era già occupata. Colpa di un vecchio programma che avevo installato sul PC (XAMPP). Spento quello tutto è tornato a girare alla perfezione.
- Gli strumenti giusti: Ho dovuto sistemare tutti i pezzi uno ad uno, aggiornare i mattoni di base (le librerie) per fare in modo che il linguaggi Go, Python e Node.js dialogassero sena errori di sintassi.
3. Dove siamo adesso e cosa faremo domani?
Oggi la mia squadra digitale è sul mio computer, accesa e perfettamente funzionante. Tutti i “quattro amici” lavorano in sintonia dentro i loro contenitori virtuali.
Nei prossimi giorni ci dedicheremo a due cose:
- Ottimizzare la schermata principale per renderla più leggera;
- Fare dei test di resistenza (Stress Test), bombardando il programma con tantissimi dati finti per vedere se regge il colpo senza rallentare.
Nota personale
Non sono un programmatore di professione, ma amo sviluppare programmi utili alla comunità.
Mi piace sperimentare, fare errori, correggerli ed imparare il più possibile per crescere come persona e come amatore di questa materia.
Se anche tu sei un appassionato di tecnologia, se vuoi curiosare tra le righe di questo codice o se hai un consiglio da darmi per migliorarlo, sei nel posto giusto! Ogni suggerimento per me è motivo di crescita.
Clicca qui per dare un’occhiata al codice del progetto SyncCore Engine su GitHub

No responses yet