Webfejlesztő alkalmazások a Go programozásban - Üdvözöljük a következő blogomban, programozó társaim. Ebben a blogban a Google félelmetes Golang nyelvéről fogunk beszélni. Előző blogomban láthatta, hogyan fejlődött a Golang az évek során, és kemény versenyt adott a Java és a C ++ számára. De ebben a blogban a valós alkalmazásokról beszélnénk. A Golang a Google hivatalos programozási nyelve.

A Google megtartotta licencét nyílt forráskódú. Ez azt jelenti, hogy bárki módosíthatja, másolhatja, beillesztheti vagy megváltoztathatja azt igényeinek megfelelően. A Golang magas szintű programozási nyelv. Noha a Go sok olyan tulajdonsággal rendelkezik, amelyek hasonlóak a C vagy a Java használatához, szinte semmi, mint a C vagy a Java.

Hivatalos Go Lang logó

Valójában a Go Programming nyelvet szánták, amely Python, C és Java kombinációja lehet. Annak ellenére, hogy soha nem helyettesítheti ezeket a nyelveket, de más nyelvek sem tudják megtenni azt, amit a Go képes, és az igazat megvallva, valójában sokkal gyorsabban, mint a C vagy a Python. Elég az, hogy a GO programozás hogyan működik most, lehetővé téve annak valós alkalmazásainak megtekintését, amellett, hogy sok segítséget nyújt a Google-nak, és hogy valóban uralta a webfejlesztés világát.

Ezen a blogon keresztül azt feltételezem, hogy rendelkezel alapvető ismeretekkel a C, Java vagy legalább Django programozásában. Ha nem, elolvashatja a többi blogomat, hogy mélyebben megértse azt, majd visszatérjen ide, és folytassa ezzel.

A Go programozási nyelv példái -

A GO eredete

Ne feledje, hogy elmondtam, hogy a Go jellemzői olyan webfejlesztő nyelvektől származtak, mint a C és a python, de az igazság az, hogy valójában sokkal kölcsönzött, nem csak a jellemzőkből. A csúcs összeállítási sebességének agilitása anélkül, hogy elveszíti a C biztonságos polaritását. A GO miniatűr összeállítása helyszínen van, például nagyméretű programokat állíthat elő néhány másodperc alatt. Ezeknek a bájtkódoknak a sebessége majdnem hasonló a C-khez.

A GO Programming fő okát azért fejlesztették ki, mert a Google-nak nagyon nagy adatkritikus szerverei voltak, és a programozók befektettek, vagy a jobb táv elveszne, sokáig várakozva a programok összeállítására. Annak ellenére, hogy a kódot összeállították és párhuzamosították, még mindig nagyon hosszú időbe telt az egyetlen program felépítése.

Még a növekményes építések is lassúak voltak (az növekményes építések azt jelentik, hogy a régi építményeket csak frissítik új funkciókkal, vagy eltávolítják a hibákat). Aztán rájöttek, hogy valamire másra van szükségük, valami a C erejével és a python sebességével. Úgy döntöttek, hogy az ezen alapvető rendszerek nyelvében használt eszközök lassúak.

Tehát a kezdetektől kezdve valamit el akarnak indítani, valamit, hogy megírhassanak olyan programokat, amelyeket a Google-on meg kellett írniuk, oly módon, hogy az építések valóban okosak és rövidek legyenek, anélkül, hogy hatékonyságát elveszítenék.

Webfejlesztés, párhuzamok és GO

A helyzet az, hogy hogyan működik a webfejlesztés a GO-val? Hogyan szerezhető meg párhuzamossága? A helyzet elméletileg az, hogy a párhuzamos feldolgozással a szerver erőforrásait jobban ki lehet használni. Például, ha 2 független sql lekérdezést futtat párhuzamosan, ez gyors választ ad. Hát nem csodálatos?

Most nézzük meg ezt fordítva

Általában, amikor meghallja a párhuzamosság szót, elkezdi azt gondolni, hogy egyszerre több szálon is dolgozhat. De nem vagyunk extrém szakemberek, hogy a kódrészletünk tökéletes legyen. Tehát ennek pontosabb módja az lenne, hogy több feladat elvégzése helyett a dolgok elkísérlését eredményezheti körülötte.

Tehát ez sajnos sok csuklást fejlesztett fel úton, ami valójában nem jó, mert az egyidejűség jobb vizuális elrendezést és egyértelműbb kódot eredményezhet. Röviden: egy okból bízható meg, amelyre nem akarja: alacsony teljesítmény. De mindezek ellenére valójában figyelmen kívül hagyjuk a fő részét. Ha valóban van egy jó hardverkészlet, vagy pontosabb a gyorsabb számítástechnika, a GO valóban gyorsabban működne egy többmagos processzorkörnyezetben.

Most nézzük meg, hogy a GO különbözik más nyelvektől. Tehát azt kell tennünk, hogy az első lépés: válasszon minden megváltoztatni kívánt globális állapotot, majd a második lépés: hajtsa végre a reteszelést. Ez két helyes lépés és két rossz dolog kombinációja. Azok a fejlesztők, akik megfelelő tapasztalattal rendelkeznek, egyetértenek velem abban, hogy a globálisan változó állapot rossz dolog.

Valójában sok kódoló megpróbálja ezt a lehető legjobb módon eltávolítani. Tehát a legfontosabb tény, hogy már megtette az első lépést, úgy néz ki, mintha valamilyen újjáépítés lenne az induláshoz. Másrészt a második lépés, azaz a reteszelés képes elérni a célját, ugyanakkor bevezet egy hatalmas mennyiségű kazánlemezt, amelyet rendkívül nehéz leírni, és azt megfelelő módon hibakeresni.

Így az ilyen típusú nyelveknek lehet, hogy egy http kérés egy adott változó elolvasására, a másiknak pedig azt írja. Mi történt mikor? Ez elég fontos? Szüksége van parancsra az olvasáshoz és az íráshoz? Van a kódod ilyen kicsit logikai? Ha igen, miért?

Ajánlott tanfolyamok

  • Professzionális Linux Python Training programmal
  • Szolgáltatási szint menedzsment program
  • Online tanúsító tanfolyam a jQuery Mobile-ban
  • Teljes üzleti intelligencia képzés

Az út a GO-hoz

A GO szálai nem azok, amelyekhez megszokhattad ezeket a kerneleket. Ezek valójában kissé hasonlóak az Erlang folyamataival. Rendkívül könnyűek és mindkettőnek hasonló célja van. Ez nem azt jelenti, hogy a GO és az Erlang ugyanazok, mivel sok különbség van önmagában.

Párhuzamosság és csatornák; mindkettő együtt jár a GO programozásban. Elmondhatjuk azonban, hogy ezeknek a csatornáknak az a valódi lóereje, hogy az automatizálásunkat működőképessé tegyék. És ez a természet miatt megakadályozzák a GO-ban lévő rutinok megismétlését. Nuf mondta, mostantól futtathatja a kódjait zárak és mutexek nélkül. Ha ideje érdekli a google-ot, akkor sok ember találja meg ugyanazokat a módszereket UNIX csövek formájában.

Natív GO alkalmazások készítése

Most, hogy tudjuk, hogyan működik a GO, vessünk egy pillantást néhány alapvető alkalmazás felépítésére a GO-ban. Először végigvinnük az előfeltételeket:

  1. Töltse le a go telepítőjét a hivatalos go webhelyről (letöltheti a golang letöltésével)
  1. Állítsa be a GOPATH-t (Ez a leg trükkösebb rész, ha még soha nem állított be környezeti változókat az életében)

a. Windows felhasználók számára:

állítsa GOROOT = C: \ go

set GOPATH = C: \ Users \ testdir

set GOBIN = % GOPATH% \ bin

beállított PATH = % PATH%; c: \ go \ bin;% GOBIN%

cd % GOPATH% \ src

A fenti testdir opcióban állítsa be a használni kívánt könyvtárat (nevezze el, amit akar), mint működő könyvtárat. Ez beállítja az összes könyvtárat, és amikor beírja az utolsó cd (tűzijáték módosítása) parancsot, el kell jutnia az alapértelmezett munkakönyvtárba, azaz esetünkben a testdirbe. Ha igen, akkor azt jelenti, hogy működik.

b. Linux felhasználók számára:

export GOROOT = / usr / local / go

export GOPATH = $ HOME / go

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

Az alábbiakban bemutatjuk azokat a szükséges csomagokat, amelyeket letöltésre kellene (ezek nem kötelezőek, attól függően, hogy mit kell építenie):

Telepítheti (vagy frissítheti) ezeket a csomagokat a konzol következő parancsának futtatásával:

menj kap -u

Például, ha telepíteni kívánja a Negroni fájlt, akkor a következő parancsot használhatja:

keresse meg a -u github.com/codehub/negroni webhelyet

Számomra a webes alkalmazások létrehozása azt jelenti, hogy Http-kiszolgálókat építünk. A Http vagy a Hypertext Transfer protokoll egy olyan protokoll, amelyet eredetileg csak a felhasználó-specifikus HTML-dokumentumok szállítására hoztak létre egy adott szerverről az ügyféloldali webböngészőre. Manapság a Http-t nemcsak a sima szövegek szállítására használják.

Valójában nem mélyülök be, hivatkozhat a github-ra, ahol további részleteket talál a projektről.

A kezdéshez kezdje meg egy új projekt létrehozásával a GOPATH-ban

cd GOPATH / src

mkdir tesztelő

cd tesztszerver

Most létrehozhatunk egy main.go-t a következő gépeléssel:

csomag fő

„net / http” importálása

func main () (

)

Mivel minden beállítva, csak annyit kell tennünk, hogy importáljuk a http csomagot, és akkor működni fog. És most itt az ideje, hogy megírjuk a tesztszolgáltató kódot:

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

A http.ListenAndServer a szerver futtatásához használt funkció. A megadott címen fog futni, azaz ebben az esetben a 2964-es porton, és amikor válasz érkezik, átadja neki a második érvként megadott http.handler-t, amely ebben az esetben is a beépített http -FileServer.

Létrehoztuk a http.Handler programot a http.FileServerrel, amely kiszolgálóként fog működni a fájlok teljes könyvtárában, és automatikusan válaszol a fájlra, amelyet a kérési útvonalon kell kiszolgálni. A fent említett kódrészletre vonatkozóan azt mondtuk a szervernek, hogy válaszoljon az aktuális működő könyvtárral, azaz a http.Dir („.”)

A teljes program ezután így néz ki:

csomag fő

„net / http” importálása

func main () (

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

)

A fájlkiszolgáló futtatásához és élővé tételéhez bármikor futtathatjuk, ha beírjuk:

menj építeni

./testserver

És most, ha megnyitjuk ezt a böngészőnkben - localhost: 2964 / main.go vagy http: // 127.0.0.1:2964/main.go, akkor láthatnánk a main.go fájlban lévő csomagokat a weben böngészőt. A legjobb az, hogy ezt a programot bárhonnan futtathatjuk a számítógépünkről, és ezt a könyvtárat szolgálhatjuk a localhost alapvető honlapjára. Mindez csak a Go programozás egy sorában lehetséges.

Ebből a tényből ki kell nézni a githubban kifejlesztett webes alkalmazásokat, és valójában meglepődni fog látni, hogy az összes alkalmazás amit az emberek fejlesztettek ki a GO programozással. A GO nyelv nem csak a szokásos programozás. Ha egyszer megkapja ezt a nyelvet, nagyon valószínűtlen, hogy valóban visszatér a szokásos C, C ++ vagy Java nyelvre. Szóval, most is így lesz. Legyen híre a GO programozással kapcsolatban.

Első képforrás: pixabay.com

Kapcsolódó cikkek:-

  1. Tudnia kell a webszolgáltatások interjúkérdéseiről és kérdéseiről
  2. A Java Web Services interjúkérdések legjobb és hasznos pontjai
  3. Új 10 előnyös webfejlesztő eszköz kezdőknek (ingyenes)
  4. Fontos a Scratch programozási példákra
  5. Hogyan lehet kiváló karriert építeni webes fejlesztő szoftverként?
  6. Szoftverfejlesztés vs. webfejlesztés

Kategória: