Web Development Apps in der Go-Programmierung - Willkommen zu meinem nächsten Blog, Kollegen der Go-Programmierung. In diesem Blog werden wir über die großartige Golang-Sprache von Google sprechen. In meinem vorherigen Blog haben Sie vielleicht gesehen, wie sich Golang im Laufe der Jahre weiterentwickelt hat und Java und C ++ eine harte Konkurrenz gemacht hat. Aber in diesem Blog würden wir über seine realen Anwendungen sprechen. Golang ist die offizielle Programmiersprache von Google.

Google hat seine Lizenz Open Source behalten. Dies bedeutet, dass jeder Benutzer sie nach Bedarf ändern, kopieren, einfügen oder ändern kann. Golang ist eine Programmiersprache auf hohem Niveau. Obwohl Go viele ähnliche Eigenschaften wie C oder Java aufweist, ist es kaum vergleichbar mit C oder Java.

Offizielles Go Lang Logo

Tatsächlich sollte Go Programming eine Sprache sein, die eine Kombination aus Python, C und Java sein kann. Obwohl es diese Sprachen niemals ersetzen kann, können andere Sprachen nicht das tun, was Go kann, und um die Wahrheit zu sagen, es ist tatsächlich viel schneller als C oder Python. Genug davon, wie die GO-Programmierung jetzt funktioniert, lassen Sie uns die realen Anwendungen sehen, die für Google von großer Hilfe sind, und wie sie tatsächlich die Welt der Webentwicklung dominiert haben.

In diesem Blog gehe ich davon aus, dass Sie Grundkenntnisse in der Programmierung von C, Java oder mindestens Django haben. Wenn nicht, kannst du meine anderen Blogs lesen, um ein tieferes Verständnis davon zu bekommen und dann hierher zurückkehren und mit diesem fortfahren.

Beispiele für die Programmiersprache Go

Herkunft von GO

Denken Sie daran, ich habe Ihnen gesagt, dass Go seine Eigenschaften von Webentwicklungssprachen wie C und Python erhalten hat, aber die Wahrheit ist, dass es tatsächlich nicht nur Eigenschaften entlehnt hat. Es hat die Agilität der Kompilierungsgeschwindigkeit von Python, ohne die sichere Polarität von C zu verlieren. Die Miniatur-Builds von GO sind genau richtig, zum Beispiel können Sie große Programme in nur wenigen Sekunden kompilieren. Die Geschwindigkeiten dieser Bytecodes sind denen der Cs fast ähnlich.

Der Hauptgrund, warum GO Programming entwickelt wurde, war, dass Google über sehr große datenkritische Server verfügte und die Programmierer investierten, da sonst lange auf die Kompilierung der Programme gewartet werden musste. Obwohl der Code kompiliert und parallelisiert wurde, dauerte es sehr lange, ein einzelnes Programm zu erstellen.

Selbst inkrementelle Builds waren langsam (inkrementelle Builds bedeuten, alte Builds nur mit neuen Funktionen zu aktualisieren oder ihre Fehler zu beseitigen). Dann wurde ihnen klar, dass sie etwas anderes brauchen, etwas mit der Kraft von C und der Geschwindigkeit von Python. Sie entschieden auch, dass die Werkzeuge, die in dieser grundlegenden Systemsprache verwendet wurden, langsam waren.

Also wollten sie etwas von vorne anfangen, etwas, um solche Programme zu schreiben, die sie bei Google auf eine Weise schreiben mussten, dass die Builds wirklich intelligent und kurz sind, ohne an Effizienz zu verlieren.

Webentwicklung, Gleichzeitigkeit und GO

Nun ist die Sache, wie funktioniert die Webentwicklung mit GO? Wie profitiert es von seiner Nebenläufigkeit? Theoretisch könnten bei paralleler Verarbeitung die Ressourcen des Servers besser genutzt werden. Wenn Sie beispielsweise zwei unabhängige SQL-Abfragen gleichzeitig ausführen, erhalten Sie eine schnelle Antwort. Ist das nicht erstaunlich?

Schauen wir uns das nun anders herum an

Wenn Sie das Wort Parallelität hören, denken Sie normalerweise, dass Sie an mehreren Threads gleichzeitig arbeiten können. Aber wir sind keine Extremprofis, denn unser Code ist perfekt. Ein genauerer Weg, dies auszudrücken, wäre, dass Sie, anstatt mehrere Aufgaben zu erledigen, tatsächlich nur Dinge um sich herum zermalmen könnten.

Das führt leider zu vielen Schluckaufen auf unserem Weg, was eigentlich nicht gut ist, da die Parallelität zu einer besseren visuellen Anordnung und klarerem Code führen kann. Kurz gesagt, es gibt einen Grund, auf den Sie sich nicht verlassen möchten: geringe Leistung. Trotzdem ignorieren wir den Hauptteil. Wenn wir tatsächlich über eine gute Hardware verfügen, oder genauer gesagt über schnellere Computertechniken, würde GO in einer Umgebung mit Mehrkernprozessoren tatsächlich schneller funktionieren.

Schauen wir uns nun an, wie sich GO von anderen Sprachen unterscheidet. Was wir also tun müssen, ist Schritt eins: Wählen Sie einen beliebigen globalen veränderlichen Status aus, den Sie ändern möchten, und dann Schritt zwei: Implementieren Sie das Sperren. Dies ist eine Kombination aus zwei richtigen Schritten und zwei falschen Dingen. Entwickler mit anständiger Erfahrung stimmen mir zu, dass ein global wandelbarer Zustand eine schlechte Sache ist.

Tatsächlich versuchen viele Programmierer, dies auf die bestmögliche Weise zu beseitigen. Die äußerste Tatsache, dass Sie Schritt eins haben, sieht also wie ein Refactoring aus, ist zunächst einmal. Der zweite Schritt, das Verriegeln, kann zwar sein Ziel erreichen, führt aber gleichzeitig gigantische Mengen von Boilerplate ein, die sich nur sehr schwer richtig aufschreiben und dann richtig debuggen lassen.

Bei solchen Sprachen kann es daher vorkommen, dass eine http-Anforderung eine bestimmte Variable liest und eine andere schreibt. Was ist wann passiert? Ist es wichtig genug Benötigt es eine Reihenfolge zum Lesen und Schreiben? Hat Ihr Code diese Logik? Wenn ja warum?

Empfohlene Kurse

  • Professionelles Linux mit Python-Training
  • Service Level Management-Programm
  • Online-Zertifizierungskurs in jQuery Mobile
  • Schließen Sie das Business Intelligence-Training ab

Der Weg, den man gehen sollte

Die Threads von GO sind nicht das, was Sie beim Schreiben dieser Kernel gewohnt sind. Diese sind eigentlich den Prozessen von Erlang etwas ähnlich. Sie sind extrem leicht und beide haben ähnliche Ziele. Dies bedeutet nicht, dass GO und Erlang gleich sind, da sie viele eigene Unterschiede aufweisen.

Parallelität und die Kanäle; Bei der GO-Programmierung gehen beide Hand in Hand. Man kann jedoch sagen, dass diese Kanäle die wirkliche Leistung haben, um unsere Automatisierung zum Laufen zu bringen. Und aufgrund dieser Natur verhindern sie, dass die Routinen in GO dupliziert werden. Nuf sagte, jetzt können Sie Ihre Codes ohne die Hilfe von Sperren und Mutexen ausführen. Wenn Sie Zeit haben, die es wert ist, gegoogelt zu werden, werden Sie eine Menge Leute finden, die die gleichen Methoden in Form von UNIX-Pipes ausprobieren.

Erstellen nativer GO-Apps

Nachdem wir nun wissen, wie GO funktioniert, werfen wir einen Blick auf das Erstellen einiger grundlegender Anwendungen in GO. Gehen wir zuerst die Voraussetzungen durch:

  1. Laden Sie das Go-Installationsprogramm von der offiziellen Go-Website herunter (Sie können es herunterladen, indem Sie nach Download Golang suchen.)
  1. Festlegen des GOPATH (Dies ist der schwierigste Teil, wenn Sie in Ihrem Leben noch nie Umgebungsvariablen festgelegt haben.)

ein. Für Windows Benutzer:

setze GOROOT = C: \ go

setze GOPATH = C: \ Users \ testdir

setze GOBIN = % GOPATH% \ bin

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

cd % GOPATH% \ src

Legen Sie in der obigen Option testdir das Verzeichnis fest, das Sie als Arbeitsverzeichnis verwenden möchten (benennen Sie es wie immer Sie möchten). Dadurch werden alle Verzeichnisse festgelegt, und wenn Sie den letzten Befehl cd (change firectory) eingeben, werden Sie zum Standardarbeitsverzeichnis geleitet, in unserem Fall zum Testverzeichnis. Wenn ja, heißt das, dass es funktioniert.

b. Für Linux Benutzer:

exportiere GOROOT = / usr / local / go

export GOPATH = $ HOME / go

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

Im Folgenden sind die erforderlichen Pakete aufgeführt, die Sie herunterladen müssen (diese sind optional und hängen davon ab, was Sie erstellen müssen):

Sie können diese Pakete installieren (oder aktualisieren), indem Sie den folgenden Befehl in Ihrer Konsole ausführen:

Geh und hol -u

Wenn Sie beispielsweise Negroni installieren möchten, können Sie den folgenden Befehl verwenden:

Holen Sie sich -u github.com/codehub/negroni

Für mich bedeutet das Erstellen von Webanwendungen das Erstellen von HTTP-Servern. Das HTTP- oder Hypertext-Übertragungsprotokoll wurde ursprünglich erstellt, um nur benutzerspezifische HTML-Dokumente von einem bestimmten Server zu einem clientseitigen Webbrowser zu übertragen. Http wird heute nicht mehr nur zum Transport von einfachen Texten verwendet.

Eigentlich werde ich nicht weiter darauf eingehen, Sie können sich auf github beziehen, wo Sie weitere Details zu diesem Projekt finden.

Beginnen wir mit der Erstellung eines neuen Projekts in unserem GOPATH

cd GOPATH / src

mkdir testserver

cd testserver

Jetzt können wir eine main.go erstellen, indem wir Folgendes eingeben:

Paket main

"net / http" importieren

func main () (

)

Jetzt, da alles eingerichtet ist, müssen wir nur noch das http-Paket importieren, und dann funktioniert es. Und jetzt ist es Zeit, unseren Testserver-Code zu schreiben:

http.ListenAndServe (": 2964", http.FileServer (http.Dir (".")))

Der http.ListenAndServer ist eine Funktion, mit der der Server ausgeführt wird. In diesem Fall wird es an der ihm zugewiesenen Adresse ausgeführt, dh an Port 2964, und wenn es eine Antwort erhält, wird es an den von uns als zweites Argument angegebenen http.handler übergeben, der in diesem Fall wiederum das integrierte http ist -Dateiserver.

Wir haben den http.Handler mit dem http.FileServer erstellt, der als Server für ein gesamtes Verzeichnis von Dateien fungiert und automatisch mit der Datei antwortet, die im Anforderungspfad bereitgestellt werden muss. Für diesen Code, den wir oben ausgeführt haben, haben wir den Server angewiesen, mit dem aktuellen Arbeitsverzeichnis zu antworten, dh http.Dir (".").

Das gesamte Programm sieht dann so aus:

Paket main

"net / http" importieren

func main () (

http.ListenAndServe (": 2964", http.FileServer (http.Dir (".")))

)

Um nun unseren Fileserver auszuführen und zu aktivieren, können wir ihn ausführen, wann immer wir möchten, indem wir Folgendes eingeben:

geh bauen

./testserver

Und wenn wir dies jetzt in unserem browser- localhost öffnen : 2964 / main.go oder http: // 127.0.0.1:2964/main.go, sollten wir in der Lage sein, die Pakete in unserer main.go-Datei in unserem Web zu sehen Browser. Das Beste daran ist, dass wir dieses Programm von überall auf unserem Computer ausführen können und dieses Verzeichnis als Basis-Homepage für den Localhost verwenden können. All dies ist in nur einer Zeile der Go-Programmierung möglich.

Apropos, Sie sollten sich die in github entwickelten Webanwendungen genauer ansehen, und Sie werden erstaunt sein, welche Apps alle mit GO-Programmierung entwickelt haben. GO-Sprache ist mehr als nur Ihre reguläre Programmierung. Sobald Sie diese Sprache verstanden haben, ist es sehr unwahrscheinlich, dass Sie tatsächlich zu Ihrem regulären C, C ++ oder Java zurückkehren. So, das wird es jetzt sein. Erfahren Sie mehr über die GO-Programmierung.

Erste Bildquelle: pixabay.com

In Verbindung stehende Artikel:-

  1. Sie sollten mehr über Fragen und Antworten zu Web Services-Vorstellungsgesprächen erfahren
  2. Die besten und hilfreichsten Punkte bei Fragen zu Java Web Services-Vorstellungsgesprächen
  3. Neue 10 Vorteile Web-Entwicklungstools für Anfänger (kostenlos)
  4. Wichtig bei Scratch-Programmierbeispielen
  5. Wie baue ich eine hervorragende Karriere als Web Development Software Professional auf?
  6. Softwareentwicklung vs Webentwicklung