App di sviluppo Web nella programmazione Go - Benvenuti nel mio prossimo blog, compagni programmatori go. In questo blog parleremo della fantastica lingua Golang di Google. Nel mio blog precedente, potresti aver visto come Golang si è evoluto negli anni e ha dato una forte concorrenza a Java e C ++. Ma in questo blog, parleremmo delle sue applicazioni nel mondo reale. Golang è il linguaggio di programmazione ufficiale di Google.

Google ha mantenuto la sua licenza Open source. Significa che chiunque può modificarlo, copiarlo, incollarlo o cambiarlo secondo le proprie esigenze. Golang è un linguaggio di programmazione di alto livello. Sebbene Go abbia molte caratteristiche simili a C o Java, è quasi nulla come C o Java.

Logo ufficiale Go Lang

In effetti, Go Programming doveva essere un linguaggio, che poteva essere una combinazione di Python, C e Java. Anche se non può mai sostituire queste lingue, ma altre lingue non possono fare ciò che Go può, e dire la verità, è in realtà molto più veloce di C o Python. Abbastanza su come funziona la programmazione GO ora, vediamo le applicazioni del mondo reale oltre a essere di grande aiuto per Google e come ha effettivamente dominato il mondo dello sviluppo web.

Attraverso questo blog, assumerò che tu abbia alcune conoscenze di base nella programmazione di C, Java o almeno Django. Altrimenti, puoi leggere gli altri miei blog per approfondire la comprensione e poi tornare qui e continuare con questo.

Gli esempi del linguaggio di programmazione Go-

Origine di GO

Ricorda che ti ho detto che Go ha ricevuto le sue caratteristiche dai linguaggi di sviluppo web come C e Python, ma la verità è che in realtà ha preso in prestito molto più che semplici caratteristiche. Ha l'agilità della velocità di compilazione di Python senza perdere la polarità sicura di C. Le build in miniatura di GO sono perfette, ad esempio puoi compilare programmi di grandi dimensioni in pochi secondi. Le velocità di questi bytecode sono quasi simili a quelle dei C.

Il motivo principale per cui GO Programming è stato sviluppato perché Google disponeva di server con dati critici di grandi dimensioni e i programmatori hanno investito, o il termine migliore sarebbe stato sprecato, molto tempo in attesa che i programmi fossero compilati. Anche se il codice è stato compilato e parallelizzato, ci è voluto ancora molto tempo per costruire un singolo programma.

Anche le build incrementali erano lente (build incrementali significa semplicemente aggiornare vecchie build con nuove funzionalità o ripulire i suoi bug). Fu allora che si resero conto di aver bisogno di qualcosa di diverso, qualcosa con la potenza di C e la velocità di Python. Hanno anche deciso che gli strumenti utilizzati in questi linguaggi di sistema di base erano lenti.

Quindi volevano iniziare qualcosa da zero, qualcosa per scrivere quel tipo di programmi di cui avevano bisogno per scrivere su Google in modo che le build potessero essere davvero intelligenti e brevi senza perdere la sua efficienza.

Sviluppo Web, concorrenti e GO

Il fatto è, come funziona lo sviluppo web con GO? Come guadagna dalla sua concorrenza. In teoria, con l'elaborazione parallela, le risorse del server potrebbero essere sfruttate meglio. Ad esempio, se si eseguono 2 query sql indipendenti in parallelo, verrà fornita una risposta rapida. Non è fantastico?

Ora diamo un'occhiata a questo al contrario

Normalmente quando senti la parola concorrenza, inizi a pensare che puoi lavorare su più thread contemporaneamente. Ma non siamo professionisti estremi, perché il nostro codice sia perfetto. Quindi, un modo più preciso per dirlo sarebbe che, invece di svolgere più attività, potresti effettivamente finire per manipolare le cose intorno a te.

Quindi, questo purtroppo sviluppa molti singhiozzi sulla nostra strada, il che in realtà non è buono perché la concorrenza può portare a una migliore disposizione visiva e un codice più chiaro. In breve, può essere invocato per un motivo, che non vorresti: a basse prestazioni. Ma, nonostante tutto, stiamo in realtà ignorando la parte principale. Se avessimo effettivamente un buon set di hardware o tecniche di elaborazione più veloci per essere più precisi, GO funzionerebbe più velocemente in un ambiente di processore multi-core.

Ora diamo un'occhiata a come GO è diverso dalle altre lingue. Quindi, quello che dobbiamo fare è il primo passo: selezionare uno stato mutabile globale che si desidera modificare, quindi il secondo passo: implementare il blocco. Ora, questa è una combinazione di due passi giusti e due cose sbagliate. Gli sviluppatori che hanno una discreta esperienza concorderebbero con me sul fatto che lo stato mutabile globale sia negativo.

È un dato di fatto, molti programmatori cercano di rimuoverlo nel miglior modo possibile. Quindi il fatto supremo che tu abbia il primo passo sembra che un po 'di refactoring sia per cominciare. Il secondo passaggio, ovvero il bloccaggio, è in grado di raggiungere il suo obiettivo, ma allo stesso tempo introduce quantità gigantesche di piastra della caldaia che è estremamente difficile da scrivere in modo corretto e quindi eseguirne il debug in modo corretto.

Pertanto, questo tipo di lingue potrebbe avere una richiesta http che legge una variabile specifica e un'altra che la scrive. Cosa è successo quando? È abbastanza importante? Ha bisogno di un ordine per le letture e le scritture? Il tuo codice ha questa sorta di logica? Se è così, perché?

Corsi consigliati

  • Linux professionale con Python Training
  • Programma di gestione del livello di servizio
  • Corso di certificazione online in jQuery Mobile
  • Formazione completa sulla Business Intelligence

The Way to GO

I thread di GO non sono ciò a cui potresti essere abituato quando scrivi questi kernel. Questi sono in realtà un po 'simili ai processi di Erlang. Sono estremamente leggeri ed entrambi hanno obiettivi simili. Questo non significa che GO ed Erlang siano gli stessi poiché hanno molte differenze.

Concorrenza e canali; entrambi vanno di pari passo nella programmazione GO. Si può tuttavia affermare che questi canali hanno la vera potenza per far funzionare le nostre automazioni. E per questa natura impediscono la duplicazione delle routine in GO. Nuf ha detto, ora puoi eseguire i tuoi codici senza l'aiuto di blocchi e mutex. Se hai tempo che vale la pena cercare su Google, troverai molte persone che provano gli stessi metodi sotto forma di pipe UNIX.

Creazione di app GO native

Ora che sappiamo come funziona GO, diamo un'occhiata alla creazione di alcune applicazioni di base in GO. Prima esaminiamo i prerequisiti:

  1. Scarica il programma di installazione go dal sito ufficiale go (puoi ottenerlo cercando il download golang)
  1. Imposta GOPATH (Questa è la parte più difficile se non hai mai impostato variabili d'ambiente in vita tua)

un. Per utenti Windows:

imposta GOROOT = C: \ go

set GOPATH = C: \ Users \ testdir

set GOBIN = % GOPATH% \ bin

set PATH = % PATH%; c: \ go \ bin;% GOBIN%

cd % GOPATH% \ src

Nell'opzione testdir sopra, imposta la directory che vuoi usare ( chiamala come vuoi) come directory di lavoro. Questo imposterà tutte le directory e quando si digita l'ultimo comando cd (change firectory), si dovrebbe portare alla directory di lavoro predefinita, cioè nel nostro caso il suo testdir. Se lo fa, significa che funziona.

b. Per utenti Linux:

export GOROOT = / usr / local / go

export GOPATH = $ HOME / go

export PATH = $ PATH: $ GOROOT / bin: $ GOPATH / bin

Di seguito sono riportati i pacchetti richiesti che è necessario scaricare (questi sono opzionali, dipende da cosa è necessario compilare):

Puoi installare (o aggiornare) questi pacchetti eseguendo il seguente comando nella tua console:

vai a prendere -u

Ad esempio, se si desidera installare Negroni, è possibile utilizzare il comando seguente:

vai a prendere -u github.com/codehub/negroni

Per me, costruire applicazioni web significa costruire server Http. Il protocollo HTTP o Hypertext Transfer è un protocollo originariamente creato per trasportare solo documenti HTML specifici dell'utente da un server specifico a un browser Web lato client. Ad oggi, Http è utilizzato per trasportare più di semplici testi.

In realtà non entrerò in profondità, puoi fare riferimento a Github dove puoi trovare maggiori dettagli su questo progetto.

Ora, per iniziare, iniziamo creando un nuovo progetto nel nostro GOPATH

cd GOPATH / src

mkdir testserver

cd testserver

Ora, possiamo creare un main.go digitando:

pacchetto principale

importare "net / http"

func main () (

)

Ora che tutto è configurato, tutto ciò che dobbiamo fare è importare il pacchetto http e funzionerà. E ora, è il momento di scrivere il nostro codice test server:

http.ListenAndServe (“: 2964”, http.FileServer (http.Dir (“.”)))

Http.ListenAndServer è una funzione utilizzata per eseguire il server. Funzionerà sull'indirizzo che gli è stato assegnato, cioè la porta 2964 in questo caso, e quando riceve una risposta, lo trasferirà il gestore http che abbiamo fornito come secondo argomento, che di nuovo in questo caso è l'http incorporato -File server.

Abbiamo creato http.Handler con http.FileServer che fungerà da server per un'intera directory di file e risponderà automaticamente con il file che deve essere pubblicato sul percorso della richiesta. Per quanto riguarda questo pezzo di codice che abbiamo eseguito sopra, abbiamo detto al server di rispondere con l'attuale directory di lavoro, ovvero http.Dir (".")

L'intero programma apparirà così:

pacchetto principale

importare "net / http"

func main () (

http.ListenAndServe (“: 2964”, http.FileServer (http.Dir (“.”)))

)

Ora per eseguire e rendere vivo il nostro fileserver, possiamo eseguirlo quando vogliamo digitando:

vai a costruire

./testserver

E ora se apriamo questo nel nostro browser- localhost: 2964 / main.go o http: // 127.0.0.1:2964/main.go, dovremmo essere in grado di vedere i pacchetti all'interno del nostro file main.go nel nostro web browser. La parte migliore è che possiamo eseguire questo programma ovunque dal nostro computer e servire quella directory come homepage di base per localhost. Tutto ciò è possibile in una sola riga della programmazione Go.

A proposito, dovresti davvero controllare le applicazioni web sviluppate in github e rimarrai stupito nel vedere cosa hanno sviluppato tutte le app con la programmazione GO. GO language è molto più di una normale programmazione. Una volta capito questo linguaggio, è molto improbabile che tu possa effettivamente tornare al tuo normale C, C ++ o Java. Quindi, sarà così per ora. Resta sintonizzato per ulteriori informazioni sulla programmazione GO.

Prima fonte di immagine: pixabay.com

Articoli Correlati:-

  1. È necessario conoscere le domande e le risposte di intervista ai servizi Web
  2. Punti migliori e utili delle domande di intervista ai servizi Web Java
  3. Nuovi 10 vantaggi Strumenti di sviluppo Web per principianti (gratuiti)
  4. Importanti esempi di programmazione di Scratch
  5. Come costruire una carriera superba come professionista del software di sviluppo Web?
  6. Sviluppo software vs sviluppo Web

Categoria: