Glossario
Due parole sulle tecnologie e sui termini che compaiono nei miei progetti, con link per approfondire.
API
Un insieme di regole che permette alle applicazioni di scambiarsi dati e richiedere servizi tra loro.
Risorse ufficiali:MDN: APIDocker
Una piattaforma per creare ed eseguire applicazioni in container.
Risorse ufficiali:Docker documentationDocker Compose
Uno strumento per definire ed eseguire applicazioni composte da più container a partire da un file YAML.
Risorse ufficiali:Docker Compose documentationFastAPI
Un framework Python per creare API web, con validazione dei dati e documentazione generata automaticamente.
Risorse ufficiali:FastAPIFastify
Un framework Node.js per creare server web e API, con plugin e validazione dei dati.
Risorse ufficiali:FastifyGateway
Nel software, un componente che gestisce la comunicazione con un sistema esterno, nascondendo al resto dell’applicazione i dettagli tecnici dell’integrazione.
Risorse ufficiali:Martin Fowler: GatewayInform
Un linguaggio e un ambiente di sviluppo per la narrativa interattiva: storie da esplorare attraverso comandi testuali.
Risorse ufficiali:InformJaeger
Uno strumento per seguire una richiesta attraverso più servizi e individuare ritardi ed errori.
Risorse ufficiali:JaegerJavaScript
Un linguaggio di programmazione usato per aggiungere interattività alle pagine web e creare applicazioni eseguibili anche fuori dal browser, per esempio con Node.js.
Risorse ufficiali:MDN JavaScript GuidejOOQ
Una libreria per scrivere query SQL in Java o Kotlin, usando codice generato per controllare i tipi di tabelle e colonne.
Risorse ufficiali:jOOQKafka
Una piattaforma distribuita per pubblicare, conservare e leggere flussi di eventi. Le applicazioni comunicano con i suoi server attraverso il protocollo Kafka.
Risorse ufficiali:Apache KafkaKotlin
Un linguaggio di programmazione compatibile con Java, usato per servizi backend, app Android e applicazioni multipiattaforma.
Risorse ufficiali:KotlinNode.js
Un ambiente per eseguire JavaScript fuori dal browser, per esempio per creare server e strumenti da riga di comando.
Risorse ufficiali:Node.jsOllama
Uno strumento per eseguire modelli linguistici in locale e renderli disponibili alle applicazioni tramite un’API.
Risorse ufficiali:OllamaOpenSearch
Un motore di ricerca e analisi per indicizzare dati e cercare al loro interno, anche nel testo dei documenti.
Risorse ufficiali:OpenSearchOpenTelemetry
Un insieme di standard e strumenti per raccogliere tracce, metriche e log che descrivono il comportamento di un’applicazione.
Risorse ufficiali:OpenTelemetryPostgreSQL
Un database relazionale per conservare dati strutturati, consultarli con SQL e gestire transazioni.
Risorse ufficiali:PostgreSQLPyMuPDF
Una libreria Python per leggere ed elaborare documenti PDF, anche estraendo testo e immagini.
Risorse ufficiali:PyMuPDFPython
Un linguaggio di programmazione generalista, molto usato per automazione, servizi backend ed elaborazione dei dati.
Risorse ufficiali:PythonQuarkus
Un framework Java, utilizzabile anche con Kotlin, per creare applicazioni backend con integrazioni per database e messaggistica.
Risorse ufficiali:QuarkusReact
Una libreria JavaScript per costruire interfacce utente a partire da componenti riutilizzabili.
Risorse ufficiali:ReactRedpanda
Una piattaforma per conservare e scambiare flussi di eventi, sviluppata indipendentemente da Apache Kafka. Implementa il protocollo Kafka e permette alle applicazioni di usare i client Kafka, con alcune differenze nelle funzionalità supportate.
Risorse ufficiali:Redpanda: Kafka compatibilityREST
Uno stile architetturale per le API web, che usa HTTP per accedere alle risorse e modificarle.
Risorse ufficiali:MDN: RESTSincrono e asincrono
In una comunicazione sincrona, chi invia una richiesta attende la risposta prima di proseguire. In una comunicazione asincrona, l’elaborazione può continuare separatamente e il risultato può arrivare in seguito.
Risorse ufficiali:Microsoft Learn: Data integration patternsTemporal
Una piattaforma per coordinare flussi di lavoro e riprenderli dopo un guasto, conservandone l’avanzamento.
Risorse ufficiali:TemporalTesseract
Un motore di riconoscimento ottico dei caratteri (OCR) che trasforma immagini di testo stampato in testo elaborabile dal software.
Risorse ufficiali:TesseractTypeScript
Un linguaggio che aggiunge a JavaScript il controllo statico dei tipi, aiutando a individuare errori prima di eseguire il programma.
Risorse ufficiali:TypeScriptWebhook
Un meccanismo che invia automaticamente una richiesta HTTP da un sistema a un altro quando si verifica un evento.
Risorse ufficiali:Red Hat: What is a webhook?