codedamn logo
codedamn

Tabella di marcia dello sviluppatore backend 2022 | Come diventare uno sviluppatore backend

  • Vishnupriya's profile image
    Vishnupriya
    Team codedamn
Tabella di marcia dello sviluppatore backend 2022 | Come diventare uno sviluppatore backend

1) HTTP

HTTP sta per HyperText Transfer Protocol, un acronimo ampiamente compreso, ma sapete cos’è questo protocollo e perché è necessario. Pensa che ti viene dato solo un terminale con Curl o NetCat installati. Sarete in grado di inviare una richiesta HTTP grezza senza alcun aiuto? Non significa che dovete memorizzare il formato di una richiesta HTTP. Significa semplicemente se siete in grado di inviare una richiesta senza alcun aiuto.
Dovete avere una comprensione semantica dell’oggetto HTTP e del suo metodo, codice di stato, intestazioni e corpo di un oggetto HTTP. Dovresti capire i diversi tipi di contenuto nelle intestazioni di risposta. Non devi solo capire il livello di sintassi, ma devi anche capire il livello tecnico di ciò che è HTTP.

2) REST

REST è un altro termine popolare tra i dev principianti che sta per Representational State Transfer, ma è essenziale da capire per eseguire meglio le richieste HTTP. Mentre molte persone continuano a usare i termini REST e HTTP in modo intercambiabile, la verità è che sono due cose diverse. REST si riferisce a un insieme di attributi di un particolare stile architettonico, mentre HTTP è un protocollo ben definito che capita di esibire molte caratteristiche di un sistema RESTful.

L’architettura REST dichiara diversi codici di stato e usa i nomi corretti dei metodi. Si dovrebbe avere familiarità con i diversi tipi di metodi HTTP e i loro casi d’uso. I metodi HTTP più importanti sono GET, POST, PUT e DELETE. Inoltre, dovreste conoscere la risposta JSON dal server e come gestirla.

Allo stesso modo, potete anche imparare GraphQL. Tecnicamente non è un’alternativa a REST, ma ha caratteristiche vantaggiose rispetto a REST. Mentre usate GraphQL, non avete bisogno di preoccuparvi dei diversi metodi HTTP. La vostra attenzione sarà sullo schema della query GraphQL.

3) Linguaggio di programmazione

La cosa più importante è avere una solida presa su un linguaggio di programmazione che possa funzionare su un server. Questo non include l’HTML perché è un linguaggio di markup e non un linguaggio di programmazione. Puoi imparare molti linguaggi qui, vale a dire, Node.JS (un ambiente runtime per eseguire JavaScript nel server), Python, Rust, PHP & Golang. Questi sono i linguaggi più usati per il back-end della tua applicazione web.

Una solida comprensione dei linguaggi di programmazione è molto necessaria. Questo non significa imparare come funzionano i cicli, le variabili e le funzioni. Questo include anche la creazione di richieste HTTP e server usando il linguaggio di programmazione e avere buone basi nel networking (che è coperto nel prossimo punto).

4) Fondamenti di rete e Linux

Devi avere una buona comprensione di come funzionano le reti a qualsiasi livello di sistema operativo. Lavorerai principalmente con il TCP, un protocollo di quarto livello secondo il modello OSI

Comprendere le basi di Linux Fundamentals è essenziale perché quando lavorerai con un server, molto probabilmente non avrai interfacce grafiche interattive per gestire il server. Pertanto, è molto importante trovare la tua strada intorno al terminale o alla linea di comando, che è probabilmente “bash” se usi i server Linux.
Inoltre, il collegamento in rete è importante a livello di sistema operativo perché a volte è essenziale per comunicare e recuperare e inserire dati in un database, il che ci porta alle seguenti cose necessarie, i database.

5) Database

I database sono molto essenziali per mantenere e organizzare i dati generati dagli utenti. Questo potrebbe essere un SQL (Structured Query Language) o un database NoSQL (Not Only Structured Query Language). Entrambi hanno molto in comune, per esempio, l’indicizzazione è un concetto comune in entrambi i tipi di database.

I database SQL più comuni sarebbero Postgres o MySQL, e per i database NoSQL, sarebbero MongoDB o Cassandra o Redis.

6) Caching

Il caching dei dati è importante perché aiuta a velocizzare le prestazioni delle applicazioni e ad aumentare l’efficienza. Memorizza i dati localmente, il che significa che i browser e i siti web si caricano più velocemente perché gli elementi di accesso come le immagini della homepage sono stati precedentemente scaricati. Le tecnologie di caching più comuni che vengono utilizzate sono Redis e Memcached. Un’altra promettente tecnologia che aiuta con il caching è AWS ElastiCache, il che ci porta al nostro seguente argomento, i fornitori di cloud.

7) Fornitori di cloud

Quando si tratta di Cloud Providers, i nomi più risonanti sono Amazon Web Services, Google Cloud Platform, e Microsoft Azure, tra gli altri come Digital Ocean.

Dovete scegliere uno qualsiasi dei fornitori di cloud ed entrare nel loro ecosistema e capire le loro caratteristiche incorporate per un uso spiegabile. La maggior parte di loro fornisce anche alcuni crediti gratuiti per utilizzare il loro servizio cloud. Il cloud fornisce una maggiore quantità di storage e potenza di elaborazione per eseguire le applicazioni ed è facile accedere alle informazioni, elaborare e analizzare i dati, e collegare le persone e le risorse da qualsiasi luogo in tutto il mondo. Quindi è vitale avere una comprensione fondamentale di qualsiasi fornitore di cloud.

8) Sicurezza web

Chiunque può codificare, ma se il tuo codice è abbastanza sicuro da non essere vulnerabile, e i dati che stai acquisendo sono al sicuro, probabilmente! Quindi è molto, molto importante capire la sicurezza web prima di sviluppare applicazioni scalabili.

Probabilmente non volete che il vostro database sia corrotto o che venga clonato e scaricato dall’hacker. Qualsiasi sviluppatore di back-end può creare e gestire server, ma un buon ingegnere di back-end può scrivere codice sicuro che mantiene i dati raccolti e la privacy degli utenti al sicuro. Maggiori informazioni sulla sicurezza web possono essere lette qui.

9) Containerizzazione e test

La containerizzazione e i test sono tecnologie opzionali da imparare come principiante. Come principiante, puoi scegliere Docker per imparare la containerizzazione. Puoi anche preferire Kubernetes, ma è eccessivo. Per i test, puoi usare Jest per i tuoi test di back-end e Postman per i tuoi test API.

 

User avatar