Applications de développement Web dans la programmation Go - Bienvenue sur mon prochain blog, chers programmeurs go. Dans ce blog, nous parlerons de l'impressionnant langage Golang de Google. Dans mon blog précédent, vous avez peut-être vu comment Golang a évolué au fil des ans et a donné une rude concurrence à Java et C ++. Mais dans ce blog, nous parlerions de ses applications réelles. Golang est le langage de programmation officiel de Google.

Google a conservé sa licence Open source. Cela signifie que n'importe qui peut le modifier, le copier, le coller ou le changer selon ses besoins. Golang est un langage de programmation de haut niveau. Bien que Go ait beaucoup de caractéristiques similaires à C ou Java, ce n'est presque rien comme C ou Java.

Logo officiel de Go Lang

En fait, Go Programming devait être un langage, qui pourrait être une combinaison de Python, C et Java. Même s'il ne peut jamais remplacer ces langages, mais d'autres langages ne peuvent pas faire ce que Go peut faire, et pour dire la vérité, c'est en fait beaucoup plus rapide que C ou Python. Assez sur le fonctionnement actuel de la programmation GO, permet de voir les applications du monde réel en plus d'être d'une grande aide pour Google, et comment elle a réellement dominé le monde du développement Web.

Tout au long de ce blog, je supposerai que vous avez des connaissances de base en programmation C, Java ou au moins Django. Sinon, vous pouvez lire mes autres blogs, pour en avoir une meilleure compréhension, puis revenir ici et continuer avec celui-ci.

Les exemples du langage de programmation Go-

Origine de GO

N'oubliez pas que je vous ai dit que Go a reçu ses caractéristiques des langages de développement Web comme C et python, mais la vérité est qu'il a en fait emprunté beaucoup plus que de simples caractéristiques. Il a l'agilité de la vitesse de compilation de python sans perdre la polarité sûre de C. Les versions miniatures de GO sont parfaites, par exemple, vous pouvez compiler de gros programmes en quelques secondes. Les vitesses de ces bytecodes sont presque similaires à celles des C.

La principale raison pour laquelle la programmation GO a été développée parce que Google disposait de très gros serveurs critiques de données et que les programmeurs avaient investi, sinon le meilleur terme serait perdu, longtemps à attendre que les programmes soient compilés. Même si le code a été compilé et parallélisé, il a fallu très longtemps pour créer un seul programme.

Même les versions incrémentielles étaient lentes (les versions incrémentielles signifient simplement mettre à jour les anciennes versions avec de nouvelles fonctionnalités ou nettoyer ses bogues). C'est alors qu'ils ont réalisé qu'ils avaient besoin de quelque chose de différent, quelque chose avec la puissance de C et la vitesse de python. Ils ont également décidé que les outils utilisés dans ces langages de systèmes de base étaient lents.

Ils voulaient donc commencer quelque chose à partir de zéro, quelque chose pour écrire ce genre de programmes dont ils avaient besoin pour écrire chez Google de manière à ce que les versions soient vraiment intelligentes et courtes sans perdre son efficacité.

Développement Web, devises et GO

Maintenant, comment fonctionne le développement Web avec GO? Comment gagne-t-il de sa concurrence. La chose est théoriquement, avec un traitement parallèle, les ressources du serveur pourraient être mieux utilisées. Par exemple, si vous exécutez 2 requêtes SQL indépendantes en parallèle, cela donnera une réponse rapide. N'est-ce pas incroyable?

Jetons maintenant un œil à cela dans l'autre sens

Normalement, lorsque vous entendez le mot simultané, vous commencez à penser que vous pouvez travailler sur plusieurs threads à la fois. Mais nous ne sommes pas des professionnels extrêmes, pour que notre code soit parfait. Donc, une façon plus précise de dire cela serait qu'au lieu de faire plusieurs tâches, vous pourriez en fait finir par malmener les choses autour de vous.

Donc, cela développe malheureusement beaucoup de hoquets sur notre chemin, ce qui n'est en fait pas bon car la concurrence peut conduire à une meilleure disposition visuelle et à un code plus clair. En bref, il peut être invoqué pour une raison que vous ne voudriez pas: les faibles performances. Mais, malgré tout cela, nous ignorons en fait la partie principale. Si nous avons effectivement un bon ensemble de matériel ou des techniques informatiques plus rapides pour être plus précis, GO fonctionnerait en fait plus rapidement dans un environnement de processeur multicœur.

Voyons maintenant en quoi GO est différent des autres langues. Donc, ce que nous devons faire, c'est la première étape: choisissez n'importe quel état mutable global que vous souhaitez modifier, puis la deuxième étape: implémentez le verrouillage. Maintenant, c'est une combinaison de deux étapes appropriées et de deux mauvaises choses. Les développeurs qui ont une expérience décente conviendraient avec moi que l'état mutable mondial est une mauvaise chose.

En fait, de nombreux codeurs essaient de supprimer cela de la meilleure façon possible. Donc, le plus grand fait que vous ayez la première étape ressemble à une refactorisation afin de commencer. La deuxième étape, par exemple, le verrouillage, est capable d'atteindre son objectif, mais en même temps, elle introduit des quantités gigantesques de passe-partout qui sont extrêmement difficiles à écrire correctement et à le déboguer correctement.

Ainsi, ce type de langues peut avoir une requête http lisant une variable spécifique et une autre l'écrivant. Qu'est-il arrivé quand? Est-ce assez important? A-t-il besoin d'un ordre de lecture et d'écriture? Votre code a-t-il cette logique un peu? Si oui, pourquoi?

Cours recommandés

  • Linux professionnel avec formation Python
  • Programme de gestion des niveaux de service
  • Cours de certification en ligne dans jQuery Mobile
  • Formation complète en intelligence d'affaires

Le chemin à parcourir

Les threads de GO ne sont pas ceux auxquels vous pourriez être habitué lors de l'écriture de ces noyaux. Ceux-ci sont en fait quelque peu similaires aux processus d'Erlang. Ils sont extrêmement légers et ont tous deux des objectifs similaires. Cela ne veut pas dire que GO et Erlang sont les mêmes, car ils ont leurs propres différences.

Concurrence et les canaux; les deux vont de pair dans la programmation GO. On peut cependant dire que ces canaux ont la vraie puissance pour faire fonctionner nos automatisations. Et en raison de cette nature, ils empêchent la duplication des routines dans GO. Nuf a dit, maintenant vous pouvez exécuter vos codes sans l'aide de verrous et de mutex. Si vous avez du temps à googler, vous trouverez beaucoup de gens essayant les mêmes méthodes sous la forme de canaux UNIX.

Création d'applications GO natives

Maintenant que nous savons comment GO fonctionne, jetons un œil à la création de quelques applications de base dans GO. Voyons d'abord les pré-requis:

  1. Téléchargez l'installateur go depuis le site officiel go (vous pouvez l'obtenir en recherchant download golang)
  1. Définissez le GOPATH (C'est la partie la plus délicate si vous n'avez jamais défini de variables d'environnement dans votre vie)

une. Pour les utilisateurs de Windows:

définir GOROOT = C: \ go

définissez GOPATH = C: \ Users \ testdir

définir GOBIN = % GOPATH% \ bin

définir PATH = % PATH%; c: \ go \ bin;% GOBIN%

cd % GOPATH% \ src

Dans l'option testdir ci-dessus, définissez le répertoire que vous souhaitez utiliser (nommez-le comme vous le souhaitez) comme répertoire de travail. Cela définira tous les répertoires et lorsque vous tapez la dernière commande cd (changez le répertoire), cela devrait vous amener dans le répertoire de travail par défaut, c'est-à-dire dans notre cas son testdir. Si c'est le cas, cela signifie que cela fonctionne.

b. Pour les utilisateurs Linux:

export GOROOT = / usr / local / go

export GOPATH = $ HOME / go

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

Voici les packages requis que vous devrez télécharger (ceux-ci sont facultatifs, cela dépend de ce que vous devez construire):

Vous pouvez installer (ou mettre à jour) ces packages en exécutant la commande suivante dans votre console:

aller chercher -u

Par exemple, si vous souhaitez installer Negroni, vous pouvez utiliser la commande suivante:

allez chercher -u github.com/codehub/negroni

Pour moi, créer des applications Web signifie construire des serveurs Http. Le protocole de transfert Http ou Hypertext est un protocole initialement conçu pour transporter uniquement des documents HTML spécifiques à l'utilisateur d'un serveur spécifique vers un navigateur Web côté client. À ce jour, Http est utilisé pour transporter plus que des textes simples.

Je ne vais pas entrer dans les détails en fait, vous pouvez vous référer à github où vous pouvez trouver plus de détails sur ce projet.

Maintenant, pour commencer, commençons par créer un nouveau projet dans notre GOPATH

cd GOPATH / src

mkdir testserver

cd testserver

Maintenant, nous pouvons créer un main.go en tapant:

paquet principal

importer "net / http"

func main () (

)

Maintenant que tout est configuré, tout ce que nous devons faire est d'importer le package http, puis cela fonctionnera. Et maintenant, il est temps d'écrire notre code de serveur de test:

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

Http.ListenAndServer est une fonction utilisée pour exécuter le serveur. Il s'exécutera sur l'adresse qui lui est donnée, c'est-à-dire le port 2964 dans ce cas, et lorsqu'il recevra une réponse, il lui transférera le http.handler que nous avons fourni comme deuxième argument, qui est dans ce cas encore le http intégré -Serveur de fichiers.

Nous avons créé le http.Handler avec le http.FileServer qui servira de serveur pour un répertoire entier de fichiers et répondra automatiquement avec le fichier qui doit être servi sur le chemin de la demande. En ce qui concerne ce morceau de code que nous avons exécuté ci-dessus, nous avons dit au serveur de répondre avec le répertoire de travail actuel, c'est-à-dire http.Dir (".")

L'ensemble du programme ressemblera alors à ceci:

paquet principal

importer "net / http"

func main () (

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

)

Maintenant, pour exécuter et faire vivre notre serveur de fichiers, nous pouvons l'exécuter quand nous le voulons en tapant:

va construire

./testserver

Et maintenant, si nous l'ouvrons dans notre navigateur - localhost: 2964 / main.go ou http: // 127.0.0.1:2964/main.go, nous devrions être en mesure de voir les packages à l'intérieur de notre fichier main.go sur notre site Web navigateur. La meilleure partie est que nous pouvons exécuter ce programme depuis n'importe où à partir de notre ordinateur et servir ce répertoire comme page d'accueil de base pour l'hôte local. Tout cela est possible dans une seule ligne de programmation Go.

En parlant de cela, vous devriez réellement consulter les applications Web développées dans github, et vous serez vraiment étonné de voir ce que toutes les applications ont été développées avec la programmation GO. La langue GO est plus que votre programmation habituelle. Une fois que vous maîtrisez ce langage, il est très peu probable que vous reveniez à votre C, C ++ ou Java habituel. Donc, ce sera comme pour l'instant. Restez à l'écoute pour en savoir plus sur la programmation GO.

Première source d'image: pixabay.com

Articles Liés:-

  1. Vous devriez vous renseigner sur les questions et réponses des entrevues sur les services Web
  2. Questions d'entretiens chez Java Web Services
  3. 10 nouveaux outils de développement Web pour débutants (gratuits)
  4. Exemples importants de programmation Scratch
  5. Comment construire une superbe carrière en tant que professionnel du logiciel de développement Web?
  6. Développement logiciel vs développement Web