Nettutviklingsapps i Go-programmering - Velkommen til min neste blogg, andre go-programmerere. I denne bloggen skal vi snakke om Googles fantastiske Golang-språk. I min forrige blogg har du kanskje sett hvordan Golang har utviklet seg over år, og har gitt en tøff konkurranse til Java og C ++. Men i denne bloggen vil vi snakke om dens virkelige applikasjoner. Golang er Googles offisielle programmeringsspråk.

Google har beholdt lisensen åpen kildekode. Det betyr at hvem som helst kan endre, kopiere, lime inn eller endre det i henhold til deres behov. Golang er et programmeringsspråk på høyt nivå. Selv om Go har mange egenskaper som ligner C eller Java, er det knapt noe som verken C eller Java.

Offisiell Go Lang-logo

Faktisk var Go-programmering ment å være et språk, som kan være en kombinasjon av Python, C og Java. Selv om det aldri kan erstatte disse språkene, men fortsatt ikke andre språk kan ikke gjøre hva Go kan, og for å snakke sannheten, er det faktisk mye raskere enn C eller Python. Nok om hvordan GO-programmering fungerer nå, kan vi se den virkelige applikasjonen av den i tillegg til å være til mye hjelp for Google, og hvordan den faktisk har dominert verdenen for webutvikling.

Gjennom hele denne bloggen vil jeg anta at du har noen grunnleggende kunnskaper i programmering av C, Java eller atleast Django. Hvis ikke, kan du lese de andre bloggene mine, for å få en dypere forståelse av den og deretter komme tilbake hit og fortsette med denne.

Go-programmeringsspråkeksempler-

Opprinnelsen til GO

Husker jeg fortalte deg at Go fikk sine egenskaper fra nettutviklingsspråk som C og python, men sannheten er at den faktisk lånte mye enn bare egenskaper. Den har smidigheten til samlehastigheten til python uten å miste den trygge polariteten til C. Miniatyrbyggene av GO er på plass, for eksempel kan du kompilere store programmer på bare sekunder. Hastighetene til disse bytekodene er nesten like den for C-ene.

Hovedårsaken til at GO-programmering ble utviklet fordi Google hadde veldig store datakritiske servere og programmererne investerte, eller det bedre vil være bortkastet, lenge ventet på at programmene skulle samles. Selv om koden ble satt sammen og parallellisert, tok det fortsatt veldig lang tid å bygge et enkelt program.

Selv trinnvise bygg var trege (inkrementelle bygg betyr bare å oppdatere gamle bygg med nye funksjoner eller rense feilene). Det var da de innså at de trenger noe annet, noe med kraften fra C og hastigheten på python. De bestemte seg også for at verktøyene som ble brukt i dette grunnleggende systemspråket var tregt.

Så de ønsket å starte noe fra bunnen av, noe for å skrive den slags programmer som de trengte å skrive på Google på en måte som bygningene kunne være veldig smarte og korte uten å miste effektiviteten.

Nettutvikling, concururrency og GO

Nå er saken, hvordan fungerer webutvikling med GO? Hvordan tjener det på samkjøring. Saken er teoretisk, med parallell behandling kan serverens ressurser utnyttes bedre. Hvis du for eksempel kjører 2 uavhengige sql-spørsmål parallelt, vil det gi en rask respons. Er ikke dette fantastisk?

La oss nå se på dette omvendt

Normalt når du hører ordet samtidighet, begynner du å tenke at du kan jobbe på flere tråder samtidig. Men vi er ikke ekstreme fagpersoner, for at kodestykket vårt skal være perfekt. Så en mer presis måte å si dette på ville være, at i stedet for å utføre flere oppgaver, kan du faktisk ende opp med å gjøre ting rundt deg.

Så, dessverre utvikler dette mange hikke på vei, noe som faktisk ikke er bra fordi samtidighet kan føre til bedre visuell ordning og mer tydelig kode. Kort sagt, det kan du stole på av en grunn, som du ikke ønsker: lav ytelse. Men, tro på alt dette, ignorerer vi egentlig hoveddelen. Hvis vi faktisk har et godt sett med maskinvare, eller raskere datateknikker for å være mer presise, ville GO faktisk fungere raskere i et flerkjerneprosessormiljø.

La oss nå se på hvordan GO er forskjellig fra andre språk. Så, hva vi trenger å gjøre er, trinn 1: velg hvilken som helst global, mutbar tilstand du ønsker å endre, og deretter trinn to: implementer låsing. Nå er dette en kombinasjon av to ordentlige trinn og to gale ting. Utviklere som har anstendig erfaring, vil være enige med meg i at global mutable tilstand er en dårlig ting.

Faktisk prøver mange kodere å fjerne dette på best mulig måte. Så det ytterste faktum at du har trinn en ser ut som noen refactoring er for å begynne med. Trinn to derimot, dvs. låsing, er i stand til å oppnå målet sitt, men samtidig introduserer det gigantiske mengder kjeleplate som er ekstremt vanskelig å skrive den ned på en ordentlig måte og deretter feilsøke den riktig.

Dermed kan slike språk ha en http-forespørsel som leser en bestemt variabel og en annen skriver den. Hva skjedde da? Er det viktig nok? Trenger det en ordre til leser og skriver? Har koden din den slags logikken? I så fall, hvorfor?

Anbefalte kurs

  • Profesjonell Linux med Python Training
  • Service Level Management Program
  • Online sertifiseringskurs i jQuery Mobile
  • Komplett Business Intelligence Training

Veien å gå

Trådene til GO er ikke det du kan være vant til når du skriver disse kjernene. Disse er faktisk noe lik prosessene til Erlang. De er ekstremt lette og begge har lignende mål. Dette sier ikke at GO og Erlang er de samme siden de har mange forskjellige forskjeller.

Samtidig og kanalene; begge går sammen hånd i hånd i GO-programmering. Det kan imidlertid sies at disse kanalene har den virkelige hestekrefter for å få automatiseringene våre til å fungere. Og på grunn av denne art forhindrer de at rutinene i GO blir duplisert. Nuf sa, nå kan du kjøre kodene dine uten hjelp av låser og mutexer. Hvis du har tid verdt å google, vil du finne mange som prøver de samme metodene i form av UNIX-rør.

Bygg innfødte GO-apper

Nå som vi vet hvordan GO fungerer, kan vi ta en titt på å bygge noen grunnleggende applikasjoner i GO. La oss gå gjennom forutsetningene først:

  1. Last ned go-installasjonsprogrammet fra det offisielle go-nettstedet (du kan få det ved å søke ned nedlastning golang)
  1. Still inn GOPATH (dette er den vanskeligste delen hvis du aldri har angitt miljøvariabler i livet ditt)

en. For Windows-brukere:

sett GOROOT = C: \ go

sett GOPATH = C: \ Brukere \ testdir

sett GOBIN = % GOPATH% \ bin

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

cd % GOPATH% \ src

I testdir- alternativet over, angir du katalogen du vil bruke (navn den hva du vil) som arbeidskatalog. Dette vil angi alle kataloger, og når du skriver inn den siste cd-kommandoen (endre firectory), bør den ta deg til standard arbeidskatalog, dvs. i vårt tilfelle testdir. Hvis det gjør det, betyr det at det fungerer.

b. For Linux-brukere:

eksport GOROOT = / usr / local / go

eksport GOPATH = $ HOME / go

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

Følgende er de nødvendige pakkene du trenger å laste ned (disse er valgfrie, avhenger av hva du trenger å bygge):

Du kan installere (eller oppdatere) disse pakkene ved å kjøre følgende kommando i konsollen:

gå og få -u

Hvis du for eksempel vil installere Negroni, kan du bruke følgende kommando:

gå og få -u github.com/codehub/negroni

For meg betyr å bygge webapplikasjoner å bygge Http-servere. Http- eller Hypertext Transfer-protokoll er en protokoll som opprinnelig ble bygd for bare å transportere brukerspesifikke HTML-dokumenter fra en spesifikk server til en klientsiden nettleser. Per i dag brukes Http til å transportere mer enn bare vanlige tekster.

Jeg vil faktisk ikke komme dypt inn, du kan henvise til github der du kan finne flere detaljer om dette prosjektet.

Nå for å komme i gang kan vi begynne med å lage et nytt prosjekt i vår GOPATH

cd GOPATH / src

mkdir testserver

cd testserver

Nå kan vi opprette en main.go ved å skrive:

pakke hoved

importer “net / http”

func main () (

)

Siden alt er satt opp, er alt vi trenger å gjøre å importere http-pakken, og da vil det fungere. Og nå er det på tide å skrive testserverkoden vår:

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

Http.ListenAndServer er en funksjon som brukes til å kjøre serveren. Den vil kjøres på adressen som er gitt til det, dvs. port 2964 i dette tilfellet, og når den mottar et svar, vil den overføre det http.handleren som vi leverte som det andre argumentet, som igjen i dette tilfellet er den innebygde http -Filserver.

Vi opprettet http.Handler med http.FileServer som vil fungere som en server for en hel katalog med filer og vil automatisk svare med filen som må serveres på forespørselsbanen. Når det gjelder dette kodestykket vi kjørte over, ba vi serveren svare på den gjeldende arbeidskatalogen, dvs. http.Dir (“.”)

Hele programmet vil da se slik ut:

pakke hoved

importer "net / http"

func main () (

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

)

Nå for å utføre og gjøre filserveren vår live, kan vi kjøre den når vi vil ved å skrive:

gå bygge

./testserver

Og nå, hvis vi åpner dette i nettleseren vår- localhost: 2964 / main.go eller http: // 127.0.0.1:2964/main.go, bør vi kunne se pakkene inne i main.go-filen vår på nettet. nettleser. Det beste er at vi kan kjøre dette programmet hvor som helst fra datamaskinen vår og tjene den katalogen som den grunnleggende hjemmesiden for localhost. Alt dette er mulig i bare én linje Go-programmering.

Når du snakker om det, bør du faktisk sjekke ut nettapplikasjonene som er utviklet i github, og du vil faktisk bli overrasket over å se hva alle appene folk har utviklet med GO-programmering. GO-språket er mer enn bare din vanlige programmering. Når du har fått tak i dette språket, er det svært usannsynlig at du faktisk vil gå tilbake til din vanlige C, C ++ eller Java. Så det vil være det som nå. Følg med for mer om GO-programmering.

Første bildekilde: pixabay.com

Relaterte artikler:-

  1. Du bør lære om spørsmål og svar på intervjuer om nettjenester
  2. De beste og nyttige poengene med Java Web Services Interview Questions
  3. Nye 10 fordeler Webutviklingsverktøy for nybegynnere (gratis)
  4. Viktig på skrapeprogrammeringseksempler
  5. Hvordan bygge suveren karriere som profesjonell webutviklingsprogramvare?
  6. Programvareutvikling vs Webutvikling