Veebiarenduse rakendused programmeerimises Go - Tere tulemast minu järgmisesse ajaveebisse, teised programmeerijad. Selles blogis räägime Google'i vinge Golangi keelest. Minu eelmises ajaveebis võisite näha, kuidas Golang on aastate jooksul arenenud ning andnud Java ja C ++ jaoks kõva konkurentsi. Kuid selles blogis räägiksime selle reaalse maailma rakendustest. Golang on Google'i ametlik programmeerimiskeel.

Google on säilitanud oma litsentsi avatud lähtekoodiga. See tähendab, et igaüks saab seda vastavalt oma vajadustele muuta, kopeerida, kleepida või muuta. Golang on kõrgetasemeline programmeerimiskeel. Ehkki Go-l on palju C või Javaga sarnaseid omadusi, pole vaevalt midagi sellist nagu C või Java.

Ametlik Go Langi logo

Tegelikult pidi Go Programming olema keel, mis võiks olla Pythoni, C ja Java kombinatsioon. Ehkki see ei saa kunagi neid keeli asendada, ei saa teised keeled siiski teha seda, mida Go saab, ja tõtt-öelda on see tegelikult palju kiirem kui C või Python. Piisavalt sellest, kuidas GO programmeerimine praegu töötab, võimaldab meil lisaks Google'ile palju abistamisele näha ka selle reaalainete rakendusi ja kuidas see on veebiarenduse maailmas tegelikult domineerinud.

Selle ajaveebi kaudu eeldan, et teil on mõned põhiteadmised C, Java või vähemalt Django programmeerimisel. Kui ei, siis võite lugeda minu teisi ajaveebid, et saada sellest põhjalikumat teavet ja siis siia tagasi tulla ja seda jätkata.

Go programmeerimiskeele näited-

GO päritolu

Pidage meeles, et ma ütlesin teile, et Go sai oma tunnused sellistest veebiarenduskeeltest nagu C ja python, kuid tõde on see, et see laenas tegelikult palju, mitte ainult omadusi. Sellel on pythoni kompileerimise kiiruse paindlikkus, kaotamata samal ajal C. ohutut polaarsust. GO miniatuursed ehitused asuvad kohapeal, näiteks saate koostada suuri programme vaid sekunditega. Nende baitkoodide kiirused on peaaegu sarnased C-de kiirustega.

GO programmeerimise peamine põhjus töötati välja seetõttu, et Google'il olid väga suured andmekriitilised serverid ja programmeerijad investeerisid, või kui parem termin raisku minna, oodatakse pikka aega programmide koostamist. Ehkki kood koostati ja paralleeliti, võttis ühtse programmi loomine siiski väga kaua aega.

Isegi järkjärgulised ehitamised olid aeglased (lisanduv kogum tähendab lihtsalt vanade versioonide värskendamist uute funktsioonidega või nende vigade puhastamist). Siis said nad aru, et nad vajavad midagi muud, midagi C-võimsuse ja pütoni kiirusega. Samuti otsustasid need põhisüsteemide keeles kasutatavad tööriistad aeglased.

Nii et nad tahtsid midagi nullist alustada, midagi sellist, et kirjutada selliseid programme, mida Google'is kirjutamiseks vaja oli, nii et ehitamine oleks tõesti nutikas ja lühike, ilma et see tõhusust kaotaks.

Veebiarendus, samaaegsused ja GO

Nüüd on asi selles, kuidas töötab veebiarendus GO-ga? Kuidas ta kasu saab oma samaaegsusest? Asi on teoreetiliselt, paralleelse töötlemisega saaks serveri ressursse paremini kasutada. Näiteks kui käitate paralleelselt 2 sõltumatut sql-päringut, annab see kiire vastuse. Kas pole see hämmastav?

Nüüd vaatame seda vastupidi

Tavaliselt, kui kuulete sõna paralleelsus, hakkate mõtlema, et saate töötada mitme lõimega korraga. Kuid me pole äärmuslikud spetsialistid, et meie kooditükk oleks täiuslik. Niisiis, täpsem viis selle sõnastamiseks oleks see, et mitme ülesande tegemise asemel võiksite tegelikult lihtsalt enda ümber asju hallata.

Niisiis arendab see meie teel kahjuks palju luksumist, mis tegelikult pole hea, sest samaaegsus võib viia parema visuaalse paigutuse ja selgema koodini. Lühidalt võib sellele tugineda ühel põhjusel, mida te ei sooviks: madala jõudlusega. Kuid vaatamata kõigele sellele ignoreerime tegelikult põhiosa. Kui meil on tegelikult hea riistvarakomplekt või täpsemad kiiremad arvutustehnikad, siis GO töötaks mitmetuumalises protsessorikeskkonnas tegelikult kiiremini.

Vaatame nüüd, kuidas GO erineb teistest keeltest. Seega peame tegema esimese sammu: vali kõik globaalselt muutuvad olekud, mida soovid muuta, siis astu teine ​​samm: rakenda lukustus. Nüüd on see kombinatsioon kahest õigest sammust ja kahest valest asjast. Arendajad, kellel on korralikud kogemused, nõustuksid minuga, et globaalne muutlik olek on halb asi.

Tegelikult proovivad paljud kodeerijad seda parimal võimalikul viisil eemaldada. Nii et kõige tõsisem asjaolu, et teil on esimene samm, näib, et alustamiseks on vaja mõnda ümberkorraldust. Teine samm, st lukustamine, on küll võimeline oma eesmärki saavutama, kuid samal ajal tutvustatakse sellega hiiglaslikke koguseid katlaplaate, mida on äärmiselt raske seda õigesti kirja panna ja siis õigesti siluda.

Seega võib sellistel keeltel olla üks http-taotlus konkreetse muutuja lugemiseks ja teine ​​selle kirjutamiseks. Mis juhtus siis? Kas see on piisavalt oluline? Kas selleks, et lugeda ja kirjutada, on vaja tellimust? Kas teie koodil on selline loogika? Kui jah, siis miks?

Soovitatavad kursused

  • Professionaalne Linux koos Pythoni koolitusega
  • Teenuse taseme juhtimisprogramm
  • JQuery Mobile'i veebipõhine atesteerimiskursus
  • Täielik äriteabe koolitus

Tee edasi

GO niidid pole need, mida võiksite kasutada nende tuumade kirjutamisel. Need on tegelikult mõneti sarnased Erlangi protsessidega. Nad on äärmiselt kerged ja mõlemal on sarnased eesmärgid. See ei tähenda, et GO ja Erlang oleksid samad, kuna neil on palju omaette erinevusi.

Paralleelsus ja kanalid; mõlemad käivad käsikäes GO programmeerimisel. Võib siiski öelda, et neil kanalitel on tõeline hobujõud, et meie automaatika töötaks. Ja selle olemuse tõttu takistavad nad GO rutiinide dubleerimist. Nuf ütles, et nüüd saate oma koode käivitada ilma lukkude ja mutexide abita. Kui teil on aega googeldamist väärt, siis leiate palju inimesi, kes proovivad samu meetodeid UNIXi torude kujul.

GO-rakenduste loomine

Nüüd, kui me teame, kuidas GO töötab, saame heita pilgu GO põhirakenduste loomisele. Esmalt läbime eeltingimused:

  1. Laadige go installer alla ametlikult go veebisaidilt (selle saate alla laadida golangi allalaadimisega otsides)
  1. Määrake GOPATH (See on kõige keerulisem osa, kui te pole kunagi oma elus keskkonnamuutujaid määranud)

a. Windowsi kasutajatele:

määra GOROOT = C: \ go

määrake GOPATH = C: \ Users \ testdir

seatud GOBIN = % GOPATH% \ bin

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

cd % GOPATH% \ src

Ülaltoodud suvandis testdir määrake töötavaks kataloogiks kataloog, mida soovite kasutada (pange sellele nimi, mida soovite). See seab kõik kataloogid ja kui sisestate viimase käsu cd (muuda tulemüüri), peaks see viima vaikimisi töötava kataloogi, st meie juhul testdir. Kui see juhtub, tähendab see, et see töötab.

b. Linuxi kasutajatele:

eksport GOROOT = / usr / local / go

eksport GOPATH = $ HOME / go

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

Järgnevalt leiate vajalikud paketid, mida peate alla laadima (need on valikulised, sõltub sellest, mida peate ehitama):

Neid pakette saate installida (või värskendada), käivitades oma konsoolis järgmise käsu:

mine saa -u

Näiteks kui soovite installida Negroni, saate kasutada järgmist käsku:

minge hankige -u github.com/codehub/negroni

Minu jaoks tähendab veebirakenduste ehitamine Http-serverite ehitamist. Http- või hüpertekstiülekandeprotokoll on protokoll, mis loodi algselt ainult kasutajapõhiste HTML-dokumentide transportimiseks konkreetsest serverist kliendipoolsesse veebibrauserisse. Alates tänasest on Http-d kasutatud enamat kui lihtsalt lihttekstide transportimiseks.

Tegelikult ma ei süvene, võite viidata githubile, kust leiate selle projekti kohta lisateavet.

Alustage nüüd uue projekti loomisega meie GOPATH-is

cd GOPATH / src

mkdir testerver

cd testerver

Nüüd saame luua main.go, kirjutades:

paketi peamine

impordi „net / http”

func main () (

)

Kuna kõik on seadistatud, peame vaid importima http-paketi ja siis see töötab. Ja nüüd on aeg kirjutada meie testiserveri kood:

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

Http.ListenAndServer on serveri käitamiseks kasutatav funktsioon. See töötab sellel aadressil, st antud juhul pordil 2964, ja kui ta saab vastuse, edastab ta selle teise argumendina meie poolt edastatud http.käitleja, mis antud juhul on jällegi sisseehitatud http -FileServer.

Lõime http.Handleri koos http.FileServeriga, mis toimib serverina kogu failide kataloogi korral ja vastab automaatselt failiga, mida tuleb päringuteel teenindada. Selle ülaltoodud kooditüki korral käskisime serveril vastata praeguse töökataloogiga, st http.Dir (“.”)

Seejärel näeb kogu programm välja selline:

paketi peamine

impordi „net / http”

func main () (

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

)

Nüüd, kui soovite failiserveri käivitada ja elavaks muuta, saame seda igal ajal käivitada, tippides:

mine ehita

./testserver

Ja nüüd, kui avame selle oma brauseris localhost: 2964 / main.go või http: // 127.0.0.1:2964/main.go, peaksime nägema oma veebi faili main.go sees olevaid pakette brauser. Parim külg on see, et saame seda programmi käivitada kõikjal oma arvutis ja kasutada seda kataloogi localhost'i peamise avalehena. Kõik see on võimalik ainult ühe Go-programmeerimise reaga.

Millest rääkides peaksite tegelikult kontrollima githubis välja töötatud veebirakendusi ja teid hämmastab, kui vaadata kõiki rakendusi, mille inimesed on GO-programmeerimisega arendanud. GO keel on midagi enamat kui lihtsalt tavaline programmeerimine. Kui olete selle keele üles riputanud, on ülimalt ebatõenäoline, et pöördute tagasi tavalise C, C ++ või Java juurde. Niisiis, see on nii nagu praegu. Olge GO programmeerimise kohta rohkem kursis.

Esimene pildi allikas: pixabay.com

Seotud artiklid:-

  1. Peaksite tundma õppima veebiteenuste intervjuu küsimusi ja vastuseid
  2. Java Web Services Intervjuuküsimuste parimad ja kasulikud punktid
  3. 10 uut eelist - veebiarenduse tööriistad algajatele (tasuta)
  4. Tähtsad kraapimisprogrammide näited
  5. Kuidas luua suurepärast karjääri veebiarendustarkvara professionaalina?
  6. Tarkvaraarendus vs veebiarendus

Kategooria: