Webbutvecklingsappar i Go-programmering - Välkommen till min nästa blogg, kolleger go-programmerare. I den här bloggen kommer vi att prata om Googles fantastiska Golang-språk. I min tidigare blogg kanske du har sett hur Golang har utvecklats under årens lopp och har gett Java och C ++ en hård tävling. Men i den här bloggen skulle vi prata om dess verkliga applikationer. Golang är Googles officiella programmeringsspråk.

Google har behållit sin licens Open source. Det betyder att vem som helst kan modifiera, kopiera, klistra in eller ändra det enligt deras behov. Golang är ett programmeringsspråk på hög nivå. Även om Go har många egenskaper som liknar C eller Java, är det knappast något som varken C eller Java.

Officiell Go Lang-logotyp

I själva verket var Go-programmering avsett att vara ett språk, som kan vara en kombination av Python, C och Java. Även om det aldrig kan ersätta dessa språk, men fortfarande andra språk kan inte göra vad Go kan, och för att säga sanningen är det faktiskt mycket snabbare än C eller Python. Tillräckligt med hur GO-programmering fungerar nu, låter oss se den verkliga världen applikationer förutom att vara till mycket hjälp för Google, och hur det faktiskt har dominerat världen av webbutveckling.

Genom hela denna blogg kommer jag att anta att du har lite grundläggande kunskaper i programmering av C, Java eller minst Django. Om inte kan du läsa mina andra bloggar för att få en djupare förståelse av det och sedan komma tillbaka hit och fortsätta med den här.

Go-programmeringsspråksexempel-

Ursprunget till GO

Kom ihåg att jag sa att Go fick sina egenskaper från webbutvecklingsspråk som C och python, men sanningen är att den faktiskt lånade mycket än bara egenskaper. Den har smidigheten i kompilationshastigheten för python utan att förlora den säkra polariteten hos C. Miniatyrbyggnaderna av GO är spot on, till exempel kan du kompilera stora program på bara några sekunder. Hastigheterna för dessa bytekoder är nästan lika höga som C: erna.

Den främsta orsaken till att GO-programmering utvecklades eftersom Google hade mycket stora datakritiska servrar och programmerarna investerade, eller så skulle den bättre termen slösas bort, länge väntar på att programmen skulle sammanställas. Trots att koden kompilerades och parallelliserades tog det fortfarande mycket lång tid att bygga ett enda program.

Även inkrementella builds var långsamma (inkrementella build innebär att bara uppdatera gamla builds med nya funktioner eller rensa dess buggar). Det var då de insåg att de behöver något annat, något med kraften i C och hastigheten på python. De beslutade också att verktygen som används i dessa grundläggande systemspråk var långsamma.

Så de ville starta något från början, något för att skriva sådana program som de behövde skriva på Google på ett sätt som byggnaderna kunde vara riktigt smarta och korta utan att förlora dess effektivitet.

Webbutveckling, concururrency och GO

Nu är saken, hur fungerar webbutveckling med GO? Hur tjänar det på sin samtidighet. Saken är teoretiskt, med parallellbehandling kan serverns resurser utnyttjas bättre. Om du till exempel kör två oberoende sqlfrågor parallellt ger det ett snabbt svar. Är det inte fantastiskt?

Låt oss nu titta på detta tvärtom

Normalt när du hör ordet samtidighet börjar du tänka att du kan arbeta på flera trådar på en gång. Men vi är inte extrema yrkesverksamma, för vår kod är perfekt. Så ett mer exakt sätt att säga detta skulle vara att i stället för att utföra flera uppgifter, kan du faktiskt hamna bara saker runt dig.

Så, detta tyvärr utvecklar en hel del hicka på väg, vilket faktiskt inte är bra eftersom samtidighet kan leda till bättre visuellt arrangemang och mer tydlig kod. Kort sagt, det kan man lita på av en anledning, vilket du inte vill ha: låg prestanda. Men, tro på allt detta, ignorerar vi faktiskt huvuddelen. Om vi ​​faktiskt har en bra uppsättning hårdvara, eller snabbare datortekniker för att vara mer exakta, skulle GO faktiskt arbeta snabbare i en processormiljö med flera kärnor.

Låt oss nu titta på hur GO skiljer sig från andra språk. Så, vad vi behöver göra är, steg ett: välj ett globalt förändrat tillstånd som du vill ändra och steg två: implementera låsning. Nu är detta en kombination av två ordentliga steg och två fel saker. Utvecklare som har anständig erfarenhet skulle hålla med mig om att ett globalt förändrat tillstånd är en dålig sak.

Faktum är att många kodare försöker ta bort detta på bästa sätt. Så det yttersta faktumet att du har steg ett ser ut som om någon refactoring är för att börja med. Steg två å andra sidan, dvs. låsning, kan uppnå sitt mål, men samtidigt introducerar det enorma mängder pannplatta som är extremt svårt att skriva ner den på ett ordentligt sätt och sedan felsöka den korrekt.

Således kan en sådan typ av språk ha en http-begäran som läser en specifik variabel och en annan skriver den. Vilket hände när? Är det tillräckligt viktigt? Behöver det en beställning till läser och skriver? Har din kod den här logiken? Om så är fallet, varför?

Rekommenderade kurser

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

Vägen att gå

Trådarna i GO är inte det du kan vara van vid när du skriver dessa kärnor. Dessa är faktiskt något liknande processerna i Erlang. De är extremt lätta och båda har liknande mål. Detta säger inte att GO och Erlang är desamma eftersom de har många egna skillnader.

Samtidighet och kanalerna; båda går tillsammans hand i hand i GO-programmering. Det kan dock sägas att dessa kanaler har den verkliga hästkraften för att få våra automationer att fungera. Och på grund av denna karaktär förhindrar de att rutinerna i GO dupliceras. Nuf sa, nu kan du köra dina koder utan hjälp av lås och mutexer. Om du har tid värt att googla, hittar du många människor som försöker samma metoder i form av UNIX-rör.

Bygga inbyggda GO-appar

Nu när vi vet hur GO fungerar kan vi ta en titt på att bygga några grundläggande applikationer i GO. Låt oss gå igenom förbehållet först:

  1. Ladda ner go-installationsprogrammet från den officiella go-webbplatsen (du kan få det genom att söka nedladdning golang)
  1. Ställ in GOPATH (detta är den svåraste delen om du aldrig har ställt in miljövariabler i ditt liv)

a. För Windows-användare:

set GOROOT = C: \ go

set GOPATH = C: \ Users \ testdir

ställa in GOBIN = % GOPATH% \ bin

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

cd % GOPATH% \ src

I testdir- alternativet ovan ställer du in katalogen du vill använda (namnge vad du vill) som arbetskatalog. Detta ställer in alla kataloger och när du skriver in det sista kommandot cd (ändra fyrverkeri) bör det ta dig till standardkatalogen, dvs i vårt fall dess testdir. Om det gör det betyder det att det fungerar.

b. För Linux-användare:

exportera GOROOT = / usr / local / go

exportera GOPATH = $ HOME / go

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

Följande är de paket som krävs för att ladda ner (dessa är valfria, beror på vad du behöver bygga):

Du kan installera (eller uppdatera) dessa paket genom att köra följande kommando i din konsol:

gå och få -u

Om du till exempel vill installera Negroni kan du använda följande kommando:

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

Att bygga webbapplikationer betyder för mig att bygga Http-servrar. Http- eller Hypertext Transfer-protokollet är ett protokoll som ursprungligen byggdes för att endast transportera användarspecifika HTML-dokument från en specifik server till en klientsidan webbläsare. Från idag används Http för att transportera mer än bara texter.

Jag kommer faktiskt inte att komma in i djupet, du kan hänvisa till github där du kan hitta mer information om detta projekt.

Nu för att komma igång kan vi börja med att skapa ett nytt projekt i vår GOPATH

cd GOPATH / src

mkdir testserver

cd testserver

Nu kan vi skapa en main.go genom att skriva:

paketets huvud

importera "net / http"

func main () (

)

Nu eftersom allt är inställt är allt vi behöver göra att importera http-paketet, och sedan fungerar det. Och nu är det dags att skriva vår testserverkod:

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

Http.ListenAndServer är en funktion som används för att köra servern. Den kommer att köras på den adress som har givits det, dvs. port 2964 i detta fall, och när den får ett svar, kommer det att överföra det http.handler som vi levererade som det andra argumentet, som återigen i detta fall är den inbyggda http -Fil server.

Vi skapade http.Handler med http.FileServer som fungerar som en server för en hel katalog med filer och kommer automatiskt att svara med den fil som måste serveras på begäran. När det gäller den här kodkoden som vi sprang ovan, sa vi servern att svara med den aktuella katalogen, dvs. http.Dir (“.”)

Hela programmet kommer då att se ut så här:

paketets huvud

importera "net / http"

func main () (

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

)

Nu för att köra och göra vår filserver levande kan vi köra den när vi vill genom att skriva:

gå bygga

./testserver

Och nu om vi öppnar detta i vår webbläsare- localhost: 2964 / main.go eller http: // 127.0.0.1:2964/main.go, borde vi kunna se paketen i vår main.go-fil på vår webb webbläsare. Det bästa är att vi kan köra detta program var som helst från vår dator och tjäna den katalogen som den grundläggande hemsidan för localhost. Allt detta är möjligt i bara en rad Go-programmering.

Om du talar om det, bör du faktiskt kolla in webbapplikationerna som utvecklats i github, och du blir faktiskt förvånad över att se vad alla appar människor har utvecklat med GO-programmering. GO-språk är mer än bara din vanliga programmering. När du väl har fått tag på detta språk är det mycket osannolikt att du faktiskt kommer att gå tillbaka till ditt vanliga C, C ++ eller Java. Så det kommer att vara det som nu. Håll ögonen öppna för mer om GO-programmering.

Första bildkälla: pixabay.com

Relaterade artiklar:-

  1. Du bör lära dig mer om intervjuer och svar på webbtjänster
  2. Bästa och hjälpsamma punkter i Java Web Services Interview Questions
  3. Nya tio fördelar Verktyg för webbutveckling för nybörjare (gratis)
  4. Viktigt för Scratch-programmeringsexempel
  5. Hur bygger jag utmärkt karriär som professionell webbutvecklingsprogramvara?
  6. Programutveckling vs webbutveckling

Kategori: