Pourquoi il: 5 questions pour les enseignants d'Ozon Go

image

Go est l'une des principales langues dans lesquelles les services Ozon sont écrits. La semaine dernière, nous avons ouvert la première inscription à l'école Go-development, où en deux mois, vous pouvez apprendre gratuitement l'une des langues les plus populaires aujourd'hui au niveau intermédiaire. Pourquoi y aller, pour quelles tâches il est le mieux adapté et à quoi s'attendre de l'école, disent les développeurs du laboratoire informatique Ozon, ils sont aussi professeurs de l'école.


  1. Go?
  2. / ?
  3. / Go?
  4. ?
  5. ?
  6. : Go?

, « , »


image1. Depuis combien de temps écrivez-vous sur Go?
J'écris exactement 5 ans sur Go, avant cette commande, j'écris PHP depuis 8 ans, alors que je faisais un raid sur JS, Python depuis environ un an. À l'école pendant 2 ans, il a activement écrit sur Pascal, a même réussi à faire un tetris graphique à part entière en 11e année.

2. En quoi cette langue est-elle intéressante / différente des autres pour vous?
Je ne dirais pas que le langage est quelque chose de spécial, mais par rapport à PHP, il y a pas mal de différences. Tout d'abord, c'était intéressant pour moi de travailler avec le multithreading et tout ce qui s'y rattache. Deuxièmement, c'est ici que j'ai pleinement dévoilé les possibilités d'une architecture flexible basée sur des interfaces et de petits modules / briques. Et enfin, la prise en charge de nombreuses bibliothèques, une approche de microservice et la possibilité d'écrire aussi vite que dans les langues faiblement typées.

3. Quel est le projet le plus grand / le plus intéressant que vous ayez écrit sur Go?
Sur Go, j'ai commencé à écrire dans Lazada (e-commerce sud-asiatique, qui a ensuite été acheté par Alibaba) et j'ai appliqué toute l'expérience acquise à Ozon. En conséquence, il s'est avéré créer le cœur du site Ozon, reliant toutes les équipes de projet Composer. Ce nom lui est venu, car en tant que compositeur, il contrôle le travail commun de nombreux widgets de différentes équipes, minimisant ainsi le travail des équipes verticales. Grâce au système de gestion de ce produit, vous pouvez créer toutes les pages du site, mais ce n'est pas un système de gestion de contenu (CMS), mais plutôt un moteur de modèle. Dans un sens, les modèles avec widgets peuvent être considérés comme de la méta-programmation, car vous disposez de if, tryCatch, pagination, etc. Tout le trafic du site d'Ozon passe par nous.

4. Pour quelles tâches la langue est-elle la mieux adaptée?
Le langage peut être utilisé à diverses fins, le plus souvent, il est utilisé pour créer des microservices, de petites bibliothèques, où vous devez effectuer un travail en parallèle, il existe de nombreux appels réseau.

5. De quoi parlez-vous sur le cours?
Au cours, je prévois de parler de ce qui attend les futurs employés d'Ozon. Pourquoi, sous ma direction, le projet Composer est né, comment il était avant lui, comment des tâches similaires sont résolues par d'autres approches, par exemple le célèbre MVC. Cependant, à l'échelle de l'ozone, d'autres solutions ne sont plus aussi efficaces. Vous trouverez ici les détails du projet et de nombreuses astuces qui résolvent les tâches difficiles des grands projets.

En pratique, nous allons créer un service backend avec plusieurs widgets, implémenter ces widgets sur la page et même les afficher sur le site. Nous ajouterons également de l'interactivité à ces widgets en utilisant le chargement, l'action et la pagination asynchrones.

6. Pourquoi vaut-il la peine d'apprendre Go?
Si vous voulez rejoindre l'une des communautés les plus actives du monde du développement, être en demande sur le marché, faire des choses cool et être fier du travail accompli, alors vous êtes en route avec Ozon and Go.

Masha Pospelova, groupe de développement «Tri dans les usines de traitement et les centres de tri»


image 1. Depuis combien de temps écrivez-vous sur Go?
Depuis que je suis arrivé à Ozone - 5 mois, avant cela, j'écrivais en C / C ++, Perl, un peu de Python.

2. En quoi cette langue est-elle intéressante / différente des autres pour vous?
Je suis très impressionné par l'approche basée sur la simplicité et la non-ambiguïté dans le développement. Les auteurs contrôlent strictement toutes les extensions de la langue, en essayant d'éviter la redondance. D'une part, la norme impose de nombreuses restrictions, imposant une approche concrète du développement, d'autre part, une telle ambiguïté résout de nombreux problèmes

3. Quel est le projet le plus grand / le plus intéressant que vous avez écrit sur Go?
Le projet le plus intéressant sur lequel j'ai travaillé était probablement le service d'accessibilité aux produits, qui servait environ 10000 demandes par seconde, qui montrait quels produits et à partir de quelles usines de traitement des commandes pouvaient être commandés à un utilisateur spécifique de son village. Ce n'est pas un cas très fréquent lorsque vous pouvez appliquer toutes les connaissances des subtilités de l'implémentation du langage, en optimisant, en outre, sous une telle charge, vous pouvez observer de nombreux effets intéressants - car Go fournit de nombreuses informations intéressantes sur l'état de l'exécution.

4. Pour quelles tâches la langue est-elle la mieux adaptée?
Je dirais cela pour de petits services simples. À mon avis, Go est plutôt avare sur les moyens d'organiser le code des grands projets avec un grand nombre d'entités et de fonctionnalités.

5. De quoi parlez-vous sur le cours?
Je vais parler du cadre interne, qui vous permet de créer un service réseau à partir de zéro avec tout le nécessaire pour un travail complet, intégré à l'infrastructure Ozon.

6. Pourquoi vaut-il la peine d'apprendre Go?
Il me semble que les créateurs de Go ont mis beaucoup d'efforts pour permettre de commencer à travailler avec cette langue le plus rapidement possible. Il est tout à fait compréhensible et simple, avec une bibliothèque standard riche, il a tous les outils nécessaires pour écrire des tests unitaires et des benchmarks, déboguer, profiler, déterminer le statut de la course et de nombreuses autres commodités agréables. Et, bien sûr, il est très agréable d'écrire du code à l'aide d'outils de synchronisation très puissants et, surtout, intuitifs - des goroutines et des canaux.

Vladimir Serdyukov, groupe de développement des comptes personnels


image1. Depuis combien de temps écrivez-vous sur Go?
Déjà 1,5 ans

2. En quoi cette langue est-elle intéressante / différente des autres pour vous?
Le langage est simple, se compile rapidement, fonctionne sur toutes les plateformes populaires, en plus, Go a un linter et un fmt intégrés.

3. Quel est le projet le plus grand / le plus intéressant que vous ayez écrit sur Go?
Le plus gros projet est une carte des points de livraison des commandes, dont Ozon en compte plus de 6 000. De nombreuses demandes asynchrones et des exigences de performances strictes.

4. Pour quelles tâches la langue est-elle la mieux adaptée?
Go est bien adapté aux tâches non liées à l'interface utilisateur personnalisée (backend)

5. De quoi parlez-vous dans le cours?
Dans le cours, je parlerai des IDE qui peuvent être utilisés pour le développement et de l'apparence de la structure du projet sur Go.

6. Pourquoi vaut-il la peine d'apprendre Go?
Go vaut la peine d'être exploré car il est idéal pour créer des systèmes très chargés.

Dmitry Kulagin, groupe de développement des services financiers


image1. Depuis combien de temps écrivez-vous sur Go?
1 année. Avant cela, j'ai codé en PHP pendant environ 5 ans, écrit quelques scripts en Python

2. En quoi ce langage est-il intéressant / différent des autres pour vous?
Il est de type statique, compilé, très similaire à C, et il a une grande communauté cool.

3. Quel est le projet le plus grand / le plus intéressant que vous ayez écrit sur Go?
Points Ozon classiques.

4. Pour quelles tâches la langue est-elle la mieux adaptée?
Parallélisez le déchargement de la base de données, créez un programme de console qui clique rapidement sur quelque chose et, bien sûr, des microservices; démons

5. De quoi parlez-vous sur le parcours?
Comment passer de votre langue à Go in Ozon.

6. Pourquoi vaut-il la peine d'apprendre Go?

  • C'est aussi simple que 5 cents;
  • il mange [RAM] plus rapidement et moins que PHP;
  • il a toute l'infrastructure pour régler et paralléliser;
  • vous adorerez écrire des tests unitaires, et peut-être commencerez-vous la fonction directement dans le test comme moi;
  • il est difficile d'écrire du code spaghetti dessus. Go a de nombreux mécanismes (par exemple, linter) qui vont battre les mains des nouilles. Le premier est le compilateur
  • vous devez y écrire moins de crochets, mais vous pouvez oublier le point-virgule;
  • Vous penserez plus à la logique métier qu'à l'endroit où placer ce morceau de code.

Si vous êtes prêt à apprendre le Go avec l'une des plus grandes équipes de Golang en Russie, en savoir plus sur l'école Ozon Go et laisser une demande ici . Et pour ceux qui ont déjà parfaitement maîtrisé Go (ou C # .Net), nous avons un programme de parrainage avec la possibilité de gagner 100 000 roubles pour une recommandation réussie. En général, rendez-vous à Ozon - en ligne jusqu'à présent, bien sûr)

All Articles