Webudviklingsapps i Go-programmering - Velkommen til min næste blog, kolleger go-programmerere. I denne blog vil vi tale om Googles fantastiske Golang-sprog. I min forrige blog har du måske set, hvordan Golang har udviklet sig i årevis, og har givet Java og C ++ en hård konkurrence. Men i denne blog ville vi tale om dens applikationer i den virkelige verden. Golang er Googles officielle programmeringssprog.

Google har bevaret sin licens Open source. Det betyder, at enhver kan ændre, kopiere, indsætte eller ændre det efter deres behov. Golang er et programmeringssprog på højt niveau. Selvom Go har en masse egenskaber, der ligner C eller Java, er det næppe noget som hverken C eller Java.

Officielt Go Lang-logo

Faktisk var Go-programmering beregnet til at være et sprog, der kunne være en kombination af Python, C og Java. Selvom det aldrig kan erstatte disse sprog, men stadig andre sprog kan ikke gøre, hvad Go kan, og for at tale sandheden, er det faktisk meget hurtigere end C eller Python. Nok om, hvordan GO-programmering fungerer nu, kan vi se den virkelige verden af ​​applikationer ud over at være til en masse hjælp for Google, og hvordan det faktisk har domineret verdenen af ​​webudvikling.

Gennem denne blog antager jeg, at du har en vis grundlæggende viden inden for programmering af C, Java eller mindst Django. Hvis ikke, kan du læse mine andre blogs for at få en dybere forståelse af den og derefter vende tilbage hit og fortsætte med denne.

Go-programmeringssprogeksempler-

Oprindelse af GO

Husk, at jeg fortalte dig, at Go modtog sine egenskaber fra webudviklingssprog som C og python, men sandheden er, at den faktisk lånte meget end bare egenskaber. Det har smidigheden af ​​pythons kompilationshastighed uden at miste den sikre polaritet af C. Miniature-builds af GO er spot on, for eksempel kan du kompilere store programmer på bare sekunder. Hastighederne på disse bytecodes svarer næsten til C'ernes.

Hovedårsagen til, at GO-programmering blev udviklet, fordi Google havde meget store datakritiske servere, og programmererne investerede, eller det bedre tidsrum ville blive spildt, længe ventet på, at programmerne skulle udarbejdes. Selvom koden blev samlet og paralleliseret, tog det stadig meget lang tid at opbygge et enkelt program.

Selv stigende builds var langsomme (inkrementelle builds betyder bare at opdatere gamle builds med nye funktioner eller rense dens bugs). Det var da de indså, at de har brug for noget andet, noget med kraften i C og hastigheden af ​​python. De besluttede også, at værktøjerne, der blev brugt i dette basale systemsprog, var langsomme.

Så de ønskede at starte noget fra bunden af, noget at skrive de slags programmer, som de havde brug for at skrive på Google på en sådan måde, at bygningerne kunne være rigtig smarte og korte uden at miste dens effektivitet.

Webudvikling, konkurutaer og GO

Nu er det, hvordan fungerer webudvikling med GO? Hvordan får det udbytte af dens samtidighed. Sagen er teoretisk, med parallel behandling kunne serverens ressourcer bruges bedre. For eksempel, hvis du kører 2 uafhængige sql-forespørgsler parallelt, giver det et hurtigt svar. Er det ikke fantastisk?

Lad os nu kigge på dette omvendt

Normalt når du hører ordet samtidighed, begynder du at tænke, at du kan arbejde på flere tråde på én gang. Men vi er ikke ekstreme fagfolk, for vores kodeks er perfekt. Så en mere præcis måde at sætte dette på ville være, at i stedet for at udføre flere opgaver, kan du faktisk ende med bare at mangle ting omkring dig.

Så dette udvikler desværre en masse hikke på vores vej, hvilket faktisk ikke er godt, fordi samtidighed kan føre til bedre visuelt arrangement og mere klar kode. Kort sagt kan man stole på den af ​​en grund, som man ikke ønsker: lav ydeevne. Men tro på alt dette, ignorerer vi faktisk hoveddelen. Hvis vi faktisk har et godt sæt hardware, eller hurtigere computerteknikker for at være mere præcise, ville GO faktisk arbejde hurtigere i et multi-core processormiljø.

Lad os nu se på, hvordan GO er forskellig fra andre sprog. Så hvad vi er nødt til at gøre, er, trin et: vælg enhver global mutabel tilstand, som du ønsker at ændre, og trin to: implementer låsning. Nu er dette en kombination af to ordentlige trin og to forkerte ting. Udviklere, der har anstændig erfaring, vil være enige med mig i, at global mutable tilstand er en dårlig ting.

Faktisk prøver mange kodere at fjerne dette på den bedst mulige måde. Så den yderste kendsgerning, at du har trin 1, ligner en vis refactoring for at begynde med. Trin to på den anden side, dvs. låsning, er i stand til at nå sit mål, men på samme tid introducerer det gigantiske mængder kedelplade, som er ekstremt svært at nedskrive den på en ordentlig måde og derefter debugge den korrekt.

Således kan en sådan type sprog have en http-anmodning, der læser en bestemt variabel, og en anden skriver den. Hvilket skete, hvornår? Er det vigtigt nok? Har det brug for en ordre til læser og skriver? Har din kode denne slags logik? I bekræftende fald, hvorfor?

Anbefalede kurser

  • Professionel Linux med Python-træning
  • Program til styring af serviceniveau
  • Online certificeringskursus i jQuery Mobile
  • Komplet Business Intelligence Training

Vejen at gå

Trådene i GO er ikke det, du måske er vant til, når du skriver disse kerner. Disse ligner faktisk processerne i Erlang. De er ekstremt lette og begge har lignende mål. Dette siger ikke, at GO og Erlang er de samme, da de har mange egne forskelle.

Samtidig og kanalerne; begge går sammen hånd i hånd i GO-programmering. Det kan dog siges, at disse kanaler har den rigtige hestekræft til at få vores automatiseringer til at fungere. Og på grund af denne art forhindrer de, at rutinerne i GO duplikeres. Nuf sagde, nu kan du køre dine koder uden hjælp af låse og mutexer. Hvis du har tid værd til at google, vil du finde en masse mennesker, der prøver de samme metoder i form af UNIX-rør.

Opbygning af oprindelige GO-apps

Nu, hvor vi ved, hvordan GO fungerer, kan vi tage et kig på at opbygge nogle basale applikationer i GO. Lad os gennemgå forudsætningerne først:

  1. Download go-installationsprogrammet fra det officielle go-websted (du kan få det ved at søge på download golang)
  1. Indstil GOPATH (dette er den mest vanskelige del, hvis du aldrig har indstillet miljøvariabler i dit liv)

en. For Windows-brugere:

sæt GOROOT = C: \ go

sæt GOPATH = C: \ Brugere \ testdir

sæt GOBIN = % GOPATH% \ bin

sæt PATH = % PATH%; c: \ go \ bin;% GOBIN%

cd % GOPATH% \ src

I testdir- indstillingen ovenfor skal du indstille det bibliotek, du vil bruge ( navng det, hvad du vil) som arbejdsmappen. Dette indstiller alle mapper, og når du indtaster den sidste cd-kommando (skift fyrværkeri), skal det føre dig til standardarbejdsmappen, dvs. i vores tilfælde dens testdir. Hvis det gør det, betyder det, at det fungerer.

b. For Linux-brugere:

eksport GOROOT = / usr / local / go

eksport GOPATH = $ HOME / go

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

Følgende er de påkrævede pakker, som du bliver nødt til at downloade (disse er valgfri, afhænger af, hvad du har brug for at opbygge):

Du kan installere (eller opdatere) disse pakker ved at køre følgende kommando i din konsol:

gå og hent -u

Hvis du f.eks. Vil installere Negroni, kan du bruge følgende kommando:

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

For mig betyder bygning af webapplikationer at bygge Http-servere. Http- eller Hypertext Transfer-protokol er en protokol, der oprindeligt blev bygget til kun at transportere brugerspecifikke HTML-dokumenter fra en bestemt server til en klientside webbrowser. Fra i dag bruges Http til at transportere mere end blot almindelige tekster.

Jeg kommer faktisk ikke ind i dybden, du kan henvise til github, hvor du kan finde flere detaljer om dette projekt.

Nu for at komme i gang lad os begynde med at oprette et nyt projekt i vores GOPATH

cd GOPATH / src

mkdir testserver

cd testserver

Nu kan vi oprette en main.go ved at skrive:

pakke vigtigste

import “net / http”

func main () (

)

Nu, da alt er konfigureret, er alt, hvad vi skal gøre, at importere http-pakken, og så fungerer det. Og nu er det tid til at skrive vores testserver kode:

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

Http.ListenAndServer er en funktion, der bruges til at køre serveren. Det kører på den adresse, der er givet til det, dvs. port 2964 i dette tilfælde, og når det modtager et svar, overfører det det http.handler, som vi leverede som det andet argument, som igen i dette tilfælde er det indbyggede http -FileServer.

Vi oprettede http.Handler med http.FileServer, der fungerer som en server for et helt bibliotek med filer og automatisk svarer med den fil, der skal serveres på anmodningsstien. Hvad angår dette stykke kode, vi løb ovenfor, fortalte vi serveren at svare med det aktuelle arbejdsmappe, dvs. http.Dir (“.”)

Hele programmet vil så se sådan ud:

pakke vigtigste

import “net / http”

func main () (

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

)

Nu for at udføre og gøre vores filserver live, kan vi køre den, når vi vil, ved at skrive:

gå bygge

./testserver

Og nu, hvis vi åbner dette i vores browser- localhost: 2964 / main.go eller http: // 127.0.0.1:2964/main.go, skulle vi være i stand til at se pakkerne inde i vores main.go-fil på vores web browser. Det bedste er, at vi kan køre dette program hvor som helst fra vores computer og tjene det bibliotek som den grundlæggende hjemmeside for localhost. Alt dette er muligt i kun én linje Go-programmering.

Når vi taler om dette, skal du faktisk tjekke de webapplikationer, der er udviklet i github, og du vil faktisk blive overrasket over at se, hvad alle apps folk har udviklet med GO-programmering. GO-sprog er mere end bare din almindelige programmering. Når du først får fat på dette sprog, er det meget usandsynligt, at du rent faktisk vil gå tilbage til dit almindelige C, C ++ eller Java. Så det vil være det som for nu. Hold øje med mere om GO-programmering.

Første billedskilde: pixabay.com

Relaterede artikler:-

  1. Du bør lære om intervjuspørgsmål og svar på webservices
  2. Bedste og nyttige punkter i Java Web Services Interview Spørgsmål
  3. Nye 10 fordele Webudviklingsværktøjer til begyndere (gratis)
  4. Vigtigt på eksempler på ridseprogrammering
  5. Hvordan bygger man Superb Karriere som professionel webudviklingssoftware?
  6. Softwareudvikling vs webudvikling

Kategori: