Verkkokehityssovellukset Go-ohjelmoinnissa - Tervetuloa seuraavaan blogiini, muut ohjelmoijat. Tässä blogissa puhumme Googlen mahtavasta Golangin kielestä. Edellisessä blogissani olit ehkä nähnyt kuinka Golang on kehittynyt vuosien varrella ja antanut kovan kilpailun Javalle ja C ++: lle. Mutta tässä blogissa puhumme sen todellisen maailman sovelluksista. Golang on Googlen virallinen ohjelmointikieli.

Google on pitänyt lisenssinsä avoimen lähdekoodin. Se tarkoittaa, että kuka tahansa voi muokata, kopioida, liittää tai muuttaa sitä tarpeidensa mukaan. Golang on korkean tason ohjelmointikieli. Vaikka Go: lla on paljon ominaisuuksia, jotka ovat samanlaisia ​​kuin C tai Java, tuskin mitään, kuten joko C tai Java.

Virallinen Go Lang -logo

Itse asiassa Go-ohjelmoinnin oli tarkoitus olla kieli, joka voisi olla Pythonin, C: n ja Java: n yhdistelmä. Vaikka se ei voi koskaan korvata näitä kieliä, mutta muut kielet eivät kuitenkaan voi tehdä mitä Go voi, ja totta puhuen, se on todella paljon nopeampi kuin C tai Python. Tarpeeksi siitä, kuinka GO-ohjelmointi toimii nyt, annetaan nähdä sen reaalimaailman sovelluksia sen lisäksi, että siitä on paljon apua Googlelle, ja kuinka se on todella hallinnut verkkokehityksen maailmaa.

Tämän blogin kautta oletan, että sinulla on perustiedot C: n, Java: n tai vähintään Djangon ohjelmoinnista. Jos ei, voit lukea muita blogejani saadaksesi syvemmän käsityksen siitä ja palata takaisin tänne ja jatkaa tällä.

Go-ohjelmointikielen esimerkkejä-

GO: n alkuperä

Muista, että kerroin sinulle, että Go sai ominaisuudet verkkokehityskielistä, kuten C ja python, mutta totuus on, että se lainasi paljon kuin vain ominaisuuksia. Siinä on pythonin kokoamisnopeuden ketteryyttä menettämättä C: n turvallista napaisuutta. GO: n pienoisrakennukset ovat paikalla, esimerkiksi voit koota suuret ohjelmat muutamassa sekunnissa. Näiden tavukoodien nopeudet ovat melkein samanlaisia ​​kuin C: n.

Tärkein syy GO-ohjelmointiin kehitettiin, koska Googlella oli erittäin suuria tietokriittisiä palvelimia ja ohjelmoijat sijoittivat, tai mikäli parempi termi menisi hukkaan, kauan odottaa ohjelmien kokoamista. Vaikka koodi koottiin ja yhdenmukaistettiin, yhden ohjelman luominen kesti silti hyvin kauan.

Jopa inkrementaaliset rakennukset olivat hitaita (inkrementaalinen rakennus tarkoittaa vain vanhojen rakennusten päivittämistä uusilla ominaisuuksilla tai niiden virheiden puhdistamista). Silloin he tajusivat tarvitsevansa jotain erilaista, jotain C: n voimalla ja pythonin nopeudella. He päättivät myös, että näissä perusjärjestelmän kielissä käytetyt työkalut olivat hitaita.

Joten he halusivat aloittaa jotain tyhjästä, jotain kirjoittaa sellaisia ​​ohjelmia, jotka heidän tarvittiin kirjoittaa Googlelle tavalla, joka rakentaa voisi olla todella älykäs ja lyhyt menettämättä tehokkuutta.

Verkkosuunnittelu, samanaikaisuudet ja GO

Nyt asia on, miten web-kehitys toimii GO: n kanssa? Kuinka se hyötyy samanaikaisuudesta? Asia on teoriassa rinnakkaisprosessoinnin avulla palvelimen resursseja käytettäessä paremmin. Esimerkiksi, jos suoritat 2 erillistä sql-kyselyä samanaikaisesti, se antaa nopean vastauksen. Eikö tämä ole hämmästyttävää?

Katsotaanpa nyt tätä päinvastoin

Yleensä kun kuulet sanan samanaikaisuus, alat ajatella, että voit työskennellä useilla säieillä kerralla. Emme ole kuitenkaan äärimmäisiä ammattilaisia, jotta koodinumeromme olisi täydellinen. Joten, tarkempi tapa laittaa tämä olisi, että sen sijaan, että suorittaisit useita tehtäviä, päätät itse asiassa vain pistää asioita ympärilläsi.

Joten, tämä valitettavasti kehittää paljon hikkaa matkallamme, mikä ei oikeastaan ​​ole hyvä, koska samanaikaisuus voi johtaa parempaan visuaaliseen järjestelyyn ja selkeämpään koodiin. Lyhyesti sanottuna siihen voi luottaa yhdestä syystä, jota et halua: heikko suorituskyky. Mutta kaikesta tästä huolimatta, emme todellakaan sivuuta pääosaa. Jos meillä on todella hyvä laitekokonaisuus tai nopeampia laskentatekniikoita tarkemmin, GO toimisi todella nopeammin moniytimisessä prosessoriympäristössä.

Katsotaanpa nyt, kuinka GO eroaa muista kielistä. Joten mitä meidän on tehtävä, on vaihe yksi: valitse mikä tahansa globaalisti muutettava tila, jonka haluat muuttaa, ja sitten toinen vaihe: toteuta lukitus. Nyt tämä on yhdistelmä kahta oikeaa vaihetta ja kahta vääriä asioita. Kehittäjät, joilla on kunnollista kokemusta, ovat samaa mieltä kanssani siitä, että globaali muuttuva tila on huono asia.

Itse asiassa monet kooderit yrittävät poistaa tämän parhaalla mahdollisella tavalla. Joten äärimmäinen tosiasia, että sinulla on ensimmäinen askel, näyttää siltä, ​​että jotkut refaktorit ovat aloittamiseksi. Toinen vaihe, toisin sanoen lukitus, pystyy saavuttamaan tavoitteensa, mutta samalla se tuo mukanaan jättimäisiä määriä kattilalevyä, joka on erittäin vaikea kirjoittaa se asianmukaisella tavalla ja sitten korjata se oikein.

Tällaisilla kielillä voi siten olla yksi http-pyyntö lukea tietty muuttuja ja toinen kirjoittaa se. Mikä tapahtui kun? Onko se tarpeeksi tärkeä? Tarvitseeko se tilausta lukea ja kirjoittaa? Onko koodillasi tällainen logiikka? Jos on, miksi?

Suositellut kurssit

  • Professional Linux Python-koulutuksella
  • Palvelutasohallintaohjelma
  • Online-sertifiointikurssi jQuery Mobilessa
  • Täydellinen Business Intelligence -koulutus

Tie mennä

GO: n ketjut eivät ole niitä, joihin saatat tottunut kirjoittaessasi näitä ytimiä. Nämä ovat oikeastaan ​​jonkin verran samanlaisia ​​kuin Erlangin prosessit. Ne ovat erittäin kevyitä ja molemmilla on samanlaiset tavoitteet. Tämä ei tarkoita, että GO ja Erlang olisivat samat, koska heillä on monia omia eroja.

Samanaikaisuus ja kanavat; molemmat kulkevat yhdessä käsi kädessä GO-ohjelmoinnissa. Voidaan kuitenkin sanoa, että näillä kanavilla on todellinen hevosvoimaa saadaksemme automaatiomme toimimaan. Ja tämän luonteen vuoksi ne estävät GO: n rutiinien monistamisen. Nuf sanoi, nyt voit käyttää koodejasi ilman lukkojen ja mutexien apua. Jos sinulla on aikaa googlemisen arvoista, löydät paljon ihmisiä, jotka kokeilevat samoja menetelmiä UNIX-putkien muodossa.

Natiivien GO-sovellusten luominen

Nyt kun tiedämme kuinka GO toimii, voidaan katsoa joidenkin perussovellusten rakentamista GO: han. Katsotaan ensin läpi edellytykset:

  1. Lataa go-asennusohjelma viralliselta go-verkkosivustolta (voit saada sen etsimällä Lataa golang)
  1. Aseta GOPATH (Tämä on vaikein osa, jos et ole koskaan asettanut ympäristömuuttujia elämässäsi)

a. Windows-käyttäjille:

aseta GOROOT = C: \ go

aseta GOPATH = C: \ Users \ testdir

aseta GOBIN = % GOPATH% \ bin

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

cd % GOPATH% \ src

Aseta yllä olevassa testdir- vaihtoehdossa hakemisto, jota haluat käyttää (nimeä se mitä haluat) työhakemistoon. Tämä asettaa kaikki hakemistot ja kun kirjoitat viimeisen cd (muuta palomuuri) -komennon, sen pitäisi viedä sinut oletuskäyttöön tarkoitettuun hakemistoon, eli tapauksessamme sen testdiriin. Jos se on, se tarkoittaa, että se toimii.

b. Linux-käyttäjille:

vie GOROOT = / usr / local / go

vie GOPATH = $ HOME / go

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

Seuraavassa on vaadittavat paketit, jotka sinun pitäisi ladata (nämä ovat valinnaisia, riippuen siitä mitä sinun täytyy rakentaa):

Voit asentaa (tai päivittää) nämä paketit suorittamalla seuraavan komennon konsolissa:

mene hakemaan -u

Jos esimerkiksi haluat asentaa Negronin, voit käyttää seuraavaa komentoa:

mene hakemaan -u github.com/codehub/negroni

Minulle Web-sovellusten rakentaminen tarkoittaa Http-palvelimien rakentamista. Http- tai Hypertext Transfer Protocol on protokolla, joka on alun perin rakennettu kuljettamaan vain käyttäjäkohtaisia ​​HTML-asiakirjoja tietystä palvelimesta asiakaspuolen selaimeen. Http: tä käytetään nykyään enemmän kuin pelkkien tekstien kuljettamiseen.

En todellakaan syventynyt, voit viitata githubiin, josta löydät lisätietoja tästä projektista.

Aloita nyt aloittamalla luomalla uusi projekti GOPATH: iin

cd GOPATH / src

mkdir-testipalvelin

CD-testipalvelin

Nyt voimme luoda main.go kirjoittamalla:

paketin pää

Tuo “net / http”

func main () (

)

Nyt kun kaikki on asennettu, meidän tarvitsee vain tuoda http-paketti, ja sitten se toimii. Ja nyt on aika kirjoittaa testipalvelinkoodimme:

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

Http.ListenAndServer on toiminto, jota käytetään palvelimen suorittamiseen. Se toimii sille annetussa osoitteessa eli tässä tapauksessa portti 2964, ja kun se saa vastauksen, se siirtää sille toisena argumenttina toimittamasi http.handler, joka tässäkin tapauksessa on sisäänrakennettu http -Tiedosto palvelin.

Loimme http.Handlerin yhdessä http.FileServerin kanssa, joka toimii palvelimena koko tiedostohakemistolle ja vastaa automaattisesti tiedostolla, joka on toimitettava pyyntöpolulle. Mitä tulee tähän yllä olevaan koodikappaleeseen, käskimme palvelinta vastaamaan nykyisellä työhakemistolla eli http.Dir (“.”)

Koko ohjelma näyttää tältä:

paketin pää

Tuo “net / http”

func main () (

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

)

Nyt toteuttaaksemme ja saadaksemme palvelinpalvelun eläväksi, voimme suorittaa sen milloin haluamme kirjoittamalla:

mennä rakentamaan

./testserver

Ja nyt, jos avaamme tämän selaimessa - localhost: 2964 / main.go tai http: // 127.0.0.1:2964/main.go, meidän pitäisi voida nähdä paketit web.main.go-tiedostossa selain. Parasta on, että voimme suorittaa tämän ohjelman mistä tahansa tietokoneelta ja palvella tätä hakemistoa localhostin perussivulla. Kaikki tämä on mahdollista vain yhdellä Go-ohjelmoinnin rivillä.

Mistä puhutaan, sinun tulee tosiasiallisesti tutustua githubissa kehitettyihin verkkosovelluksiin, ja sinut todella hämmästytään nähdäksesi, mitä kaikki ihmiset ovat kehittäneet GO-ohjelmoinnin avulla. GO-kieli on muutakin kuin tavallista ohjelmointia. Kun olet hankkinut tämän kielen, on erittäin epätodennäköistä, että siirryt takaisin normaaliin C-, C ++- tai Java-versioon. Joten niin tulee olemaan nyt. Pysy kuulolla GO-ohjelmoinnista.

Ensimmäinen kuvan lähde: pixabay.com

Aiheeseen liittyvät artikkelit:-

  1. Sinun tulisi oppia Web Services -haastatteluun liittyvistä kysymyksistä ja vastauksista
  2. Java Web Services -haastattelukysymysten parhaat ja hyödylliset kohdat
  3. Uudet 10 etua Web-kehitystyökalut aloittelijoille (ilmainen)
  4. Tärkeää raaputusohjelmointiesimerkkeissä
  5. Kuinka luoda upea ura verkkokehitysohjelmien ammattilaisena?
  6. Ohjelmistokehitys vs. Web-kehitys