5-6 raisons de venir à GolangConf

Si vous avez visité HighLoad ++, vous connaissez le traditionnel Mitap Go. Les militants qui sont intéressés par Go, ont occupé la salle pendant quelques heures, ont présenté de petits rapports, ont discuté de sujets urgents et ont été holivar. Étaient sur HighLoad ++ et des rapports séparés sur Go.

Maintenant, il nous semble qu'il est temps de passer à un nouveau niveau , donc le 7 octobre nous organiserons GolangConf . D'après le nom, il est clair qu'il s'agit d'une conférence sur Go, mais ce n'est clairement pas suffisant.



Nous préparons cette conférence pour:

  • Développeurs de Go - ceux qui sont assis sur Go depuis longtemps, qui souhaitent discuter de nouveaux produits, parler de performances et de courage, découvrir ce qui change dans Go, parler de génériques, par exemple.
  • De plus, au fur et à mesure que la communauté Go se développe, nous attendons des programmeurs qui sont en train de passer à Go ou même d'y penser. Nous allons leur montrer des histoires de réussite qui se sont réalisées avec la transition vers Go, ou des histoires d'échec. Nous apprenons ce qui ne fonctionne pas, pourquoi, quels sont leurs premiers sentiments, opinions, impressions.
  • La troisième catégorie de visiteurs est constituée d' utilisateurs d'outils écrits en Go . Il s'agit des infrastructures Cloud Native populaires: Kubernetes, Docker, Terraform, Consul et d'autres produits Hashicorp. Lors de la conférence Go, les invités, d'une part, découvriront quels sont les problèmes de ces outils liés aux fonctionnalités du langage, et d'autre part, ils verront quels sont les défis et les tâches de Go pour commencer, par exemple, pour contribuer à ces projets.

Pour déterminer quels sujets devraient être discutés lors de la conférence Go, quels problèmes et quelles tâches sont importants pour chacune des catégories de participants, nous avons réuni le comité du programme et les militants de la communauté Go. Organisé une sorte de brainstorming. Nous partageons les résultats avec vous et, puisque notre objectif principal est de développer la communauté, nous espérons avoir votre avis. Écrivez dans les commentaires ce qui doit être révélé plus complètement, ce qui est complètement inintéressant, et ce qui est exactement nécessaire. Indiquez, par exemple, s'il vaut la peine de discuter des fonctionnalités du fonctionnement de Go sous Windows, sinon les opinions étaient partagées.

Nous représenterons les acteurs lorsqu'ils monteront sur scène.

Sections GolangConf


Elena Grahovac ( responsable de l'équipe d'automatisation des processus TechOps de la startup allemande de fintech N26. Co-animatrice du podcast GolangShow, membre du GolangConf PC. Elle écrit Go depuis 11 ans depuis 2015 et possède 11 ans d'expérience professionnelle en informatique ) .

Tout d'abord, lors de la conférence Go, il y aura une section pour ceux qui écrivent sur Go depuis longtemps , qui ont de sérieux problèmes ou qui peuvent être limités par la productivité et qui veulent se plonger dans le hardcore. Dans cette section conditionnelle, nous prendrons des cas, par exemple, lorsqu'une bibliothèque populaire a été utilisée, mais il y a eu des problèmes de performances que nous avons réussi à surmonter. Envisagez des approches non standard et des solutions non évidentes mais pertinentes.

Deuxièmement, nous aurons une section "débutants" . Il y aura des présentations pour ceux qui peuvent déjà faire quelque chose dans d'autres langages de programmation, mais demandez-vous si Go convient à ses tâches ou non.

Nous planifions des rapports sur les tâches qui conviennent à Go, comment effectuer la transition à partir d'autres langages de programmation, ou - un sujet préféré de tous les programmeurs - comment jeter le langage X et tout réécrire sur Go.

Ce serait formidable d'entendre parler de l'expérience négative de la transition, car cela se produit également, mais cela, malheureusement, n'est pas souvent dit. Si vous avez une telle expérience, écrivez- nous.

Un volet distinct sera la section des réunions, des ateliers et des rapports légers , comme un endroit où vous pouvez parler d'un sujet sensible ou commencer à discuter de ce qui est soudainement apparu pendant la conférence. Par exemple, je me suis souvenu que vous souhaitez partager votre expérience, inspirée par d'autres rapports - s'il vous plaît, il y a toutes les conditions pour cela. Cette approche est rarement vue dans d'autres conférences.

Bien sûr, vous pouvez simplement parler en marge, mais les mitaps permettent de rassembler un public plus large, de discuter des problèmes, de se vanter de quelque chose ou, inversement, de pleurer quelque chose et de partager votre douleur.

De plus, nous prévoyons d'aborder des sujets peu techniques à première vue. Par exemple, lors de la conférence GopherCon Europe, il y a eu deux rapports sur la lisibilité du code avec un léger biais en neurosciences. Ces connaissances aideront à mieux structurer votre application, à la rendre conviviale et plus pratique pour les collègues. Nous espérons voir des rapports sur de nouveaux sujets lors de notre conférence, qui jusqu'à présent n'ont pas reçu suffisamment d'attention.

Pourquoi avez-vous besoin d'aller


Igor Dolzhikov ( ingénieur SRE chez Openprovider, automatise le développement des microservices, assure leur fiabilité et leur haute disponibilité, en utilisant Go )

Lors des conférences consacrées à une langue, l'agitation a généralement lieu: pourquoi cette langue, pourquoi elle est plus intéressante, pourquoi vous devez passer à celle-ci. Je suis moi-même sur Go depuis longtemps et je comprends la pertinence. Mais il me semble qu'il est important de révéler des concepts clés, par exemple, expliquer pourquoi Google fabrique ses produits sur Go.

Ceux qui réussissent à programmer en PHP ou en Python doivent utiliser des exemples pour montrer pourquoi ils devraient regarder Go. Non seulement pour des tâches spécifiques, mais donnez des exemples de grandes entreprises qui développent des projets à grande échelle dans cette langue.

Elena Grakhovac: C'est vrai, c'est l'une de nos astuces - pour montrer des exemples: pourquoi cela peut être intéressant, pour qui cela peut être intéressant, que les gens peuvent gagner.

Nous voulons rester complètement honnêtes et dire qui et quand ne devrait pas choisir Go.

Si nous parlons de la fraîcheur de passer de «X» à Go, puis que quelque chose ne fonctionne pas pour les participants à la conférence et qu'ils commencent à nous gronder, ce ne sera pas génial. Par conséquent, il serait cool de raconter les échecs et de découvrir pourquoi il n'a pas été possible de réussir.

Tous les exemples doivent être liés à la question:

  • Dois-je passer à Go;
  • qui en a besoin;
  • pourquoi est-ce nécessaire;
  • comment le faire.

Igor Dolzhikov: De plus, il me semble que des rapports similaires aux tout premiers rapports de Rob Pike seraient appropriés. Apparemment, tout le monde est timide, mais ce serait bien si quelqu'un reprenait les rapports de niveau débutant, qui montrent brièvement les points les plus clés des architectures Go dans le code: comment élever le premier serveur, comment travailler avec les canaux et les goroutines, etc. Pour une raison quelconque, il n'y a pas de tels rapports en russe.

Marko Kevats ( chef d'équipe au département plateforme chez Badoo. C Go presque depuis le tout début. Le principal initiateur de la mise en œuvre de Go dans l'entreprise. Auteur et conférencier, membre du PC GolangConf. Orateur hardcore. Il n'aime pas GC ).

Ceux qui envisagent d'implémenter Go seront intéressés par le sujet de l'interaction de Go avec d'autres langues. Autrement dit, la connexion de Java à C est très simple. La rouille est très facile à connecter à C. Et en C, une énorme quantité de tout est écrite. Avec Go, c'est toujours une douleur et souvent les gens décident simplement de tout réécrire sur Go. C’est beaucoup plus facile, plus pratique, tous les utilitaires fonctionnent et vous n’obtiendrez aucun bogue étrange. Nous discuterons lors de la conférence quand ce n'est pas la meilleure idée de tout jeter, mais de ce qui doit être écrit exactement en Go - après tout, nous avons une Go-conférence.

Performance aller


Oleg Bunin : Et pas pour les débutants, quels autres sujets pourraient être abordés lors de la conférence? Par exemple, chez Moscow Python Conf ++, nous avions presque toute une série de rapports liés au domaine populaire de son application - l'apprentissage automatique. Existe-t-il une telle zone pour Go?

Vitaly Levchenko ( évangéliste, organisateur des réunions ITGM, Go et SRE à Saint-Pétersbourg, membre de GolangConf PC. Travaille avec Go depuis sa sortie. Responsable du développement NDA ).

La performance peut être un tel sujet. Essayons de collecter des rapports hardcore sur le sujet de la surcharge. Planifiez pourquoi vous devez remplacer TCP par UDP, mais plus dans le contexte de Go.

Par exemple, j'ai longtemps voulu entendre un reportage en Russie sur la question de la performance, mais je n'ai rien vu de suffisamment sérieux - c'est une histoire sur l' assembleur Go-shny . C'est un sujet important et important.

Marco Kevac : Ce rapport peut être combiné avec la sécurité et le cryptage. Maintenant, en gros, si vous voulez programmer le chiffrement ou la sécurité sur Go pour qu'il fonctionne rapidement, vous devez écrire dans l'assembleur. C'est une partie du problème. Immédiatement, un autre apparaît - que tout cela doit être testé et pris en charge plus tard. Cela pourrait être un thème vraiment hardcore.

Vitaly Levchenko: C'est toujours valable, car les développeurs optimisent, optimisent l'emplacement clé, puis se reposent sur le Go habituel, lèvent les pattes et disent "alors tout". Mais en fait, plus assembleur.

Allez partout


Oleg Bunin: Quels autres sujets souhaitez-vous aborder lors de la conférence?

Elena Grahovac: Maintenant, ils essaient d'appliquer Go littéralement partout. Par exemple, les amateurs d'appareils embarqués tentent également d'écrire sur Go, même s'il existe des frameworks spéciaux. Go est également utilisé pour l'apprentissage automatique, à une époque il y avait une tendance TensorFlow sur Go. Nous serions ravis de considérer un rapport sur une telle expérience. Mais ici, comme en général pour tous les rapports de la conférence, il est important que ce soit précisément une expérience personnelle.

Ce qui est écrit dans la documentation peut y être lu, et la chose la plus précieuse est quand le rapport est construit sur des exemples, ce que vous avez rencontré, comment surmonter ce que vous avez obtenu.

Marco Kevac : En effet, Go comme langue est utilisée partout. Si vous entendez parler d'un nouveau projet maintenant, alors 90% qu'il est écrit en Go. J'aimerais vraiment écouter un rapport de synthèse sur cette tendance, comment le passage d'une jeune langue populaire est devenu omniprésent, sur un futur possible, etc.

Igor Dolzhikov: Je propose d'aborder le sujet de la conteneurisation. Peut-être que personne ne l'a remarqué, mais il y a eu une révolution - le transfert des applications dans des conteneurs . Et en fait, il marchait de long en large avec la langue Go.

Vitaly Levchenko: C'est vrai, les sujets de format sont intéressants: patch Kubernetes, récupérez votre cloud on Go, notre Service mesh. Plusieurs entreprises en Russie le font à coup sûr.

Elena Grahovac: Et nous venons donc d'arriver dans notre troisième catégorie de participants - les ingénieurs d'infrastructure qui interagissent avec les services cloud et sont obligés de comprendre au moins un peu Go.

Marco Kevats: Que pensez-vous de la programmation mobile sur Go?

Elena Grahovac: Google avait un tel projet, mais il a fermé. Par conséquent, il me semble que la programmation mobile sur Go est morte. S'il vous plaît, si vous savez que ce n'est pas le cas, réfutez-moi.

Vitaly Levchenko: Je ne connais aucun cas réussi en Russie, personne n'a fait plus d'une bibliothèque pour moi, mais nous serons heureux de recevoir une telle demande.

Marco Kevats : Il me semble que Go est toujours populaire pour développer des applications de console et rivalise avec Rust, y compris en raison du fait qu'il est assemblé en un seul binaire, qui est facile à mettre sur le serveur et à utiliser partout.

Elena Grahovac: Cela est encore dû à ceux qui utilisent ces binaires: ingénieurs, infrastructures et DBA. Par exemple, dans notre entreprise, DBA a décidé d'écrire en Go, afin que vous puissiez simplement générer des binaires qui feraient ce qu'ils veulent.

Igor Dolzhikov: Nous écrivons des modèles de service sur Go depuis longtemps - nous écrivons des modèles de service sur Go, nous écrivons sur Go.

Vitaly Levchenko: Il y a ici un grand sujet distinct qui est mal divulgué et qu'il serait bien de séparer dans une section distincte - l' observabilité , c'est-à-dire la journalisation, les métriques, le traçage ouvert et comment ils fonctionnent avec tout cela.

Allez dans les grandes entreprises


Oleg Bunin: Et quels sont les principaux problèmes et défis rencontrés par les grandes entreprises lors de l'utilisation de Go?

Elena Grahovac: Beaucoup avec quoi. Commençons par structurer une application sur Go si: il y a un tas de microservices et vous avez besoin d'un mono-référentiel, ou d'un tas de microservices et de référentiels séparés. Comment gérer les dépendances, comment intégrer la sécurité - il y a beaucoup de tâches, mais elles sont pertinentes avec n'importe quel langage de programmation. Le même problème d'observabilité est un problème, ce sont plutôt les applications Cloud Native. Mais nous pouvons le considérer dans le contexte de Go.

Mais les sujets liés à l'architecture seront spécifiques, car Go n'est toujours pas OOP. Et comment, par exemple, en Java, une application est structurée et comment une classe est allouée, est très différente des approches applicables à Go.

Alexey Palazhchenko ( Gopher principal à Percona, gopher principal, contributeur chez Prométhée ).

Vous pouvez parler de n'importe lequel de ces sujets dans le contexte de Go. Disons que monorepo ou multi-rep dans le contexte Go est très différent, car l'importation de chemin utilise l'URL entière. Même dans de telles choses, il y a des différences importantes, il me semble donc que vous pouvez parler de tout cela.

Allez chemin


Oleg Bunin: Dites-moi, les modèles architecturaux utilisés pour concevoir des applications qui fonctionneront sur Go sont-ils similaires à certains standards ou est-ce une histoire complètement différente?

Vitaly Levchenko: Il existe un concept Go-way qui se glisse en quelque sorte dans la communauté. Go est assez unique en termes d'approches.

Elena Grahovac: La question de savoir ce qu'est le Go-way est holistique, il serait intéressant d'en discuter.

Si nous parlons de modèles, les modèles de POO traditionnels pour Go ne sont pas pertinents en général. Mais en même temps, Go a quelque chose qui lui est propre. Par exemple, les pratiques de gestion des erreurs, les approches structurantes, l'utilisation du contexte, le traitement des requêtes, etc. Les applications Web Go ont leurs propres spécificités.

Oleg Bunin: Je comprends bien que le programmeur Go moyen a besoin de savoir et de mieux comprendre le fonctionnement d'un ordinateur qu'un programmeur PHP classique? Un programmeur Go a-t-il plus d'accès au processeur et aux threads, plus de contrôle sur l'exécution du code?

Elena Grahovac: Je ne serais pas d'accord, pour être honnête.

Vitaly Levchenko: Go, plutôt, a un accès direct. En gros, vous pouvez appeler sys call un appel direct. Vous pouvez écrire quelque chose sur un disque avec les options nécessaires en deux étapes. Il est pratique, bien documenté et utilisé.

Marco Kevats: Je suis d'accord, il me semble que le Go-Schnick devrait mieux comprendre pour programmer normalement. Mais pas un ordre de grandeur.

Vitaly Levchenko: Cela est dû à la question de la productivité. Dès que le développeur Go a une question de productivité, il commence à travailler avec du matériel. Après cela, il devient immédiatement clair que vous devez comprendre le matériel et Linux .

De PHP à Go


Igor Dolzhikov: Une fois que j'ai dit que Go est un nouveau PHP, ils m'ont presque lancé des tomates. Maintenant, c'est le langage qui est pris précisément pour lancer rapidement quelque chose.

Vitaly Levchenko: Une question non triviale concerne l'intégration des développeurs qui font partie de Go. Certaines personnes pensent qu'une personne sans expérience n'est pas un go-shnik. Et il y a une position que vous pouvez prendre des gens sans expérience en Go, jeter immédiatement un projet sur Go, et tout ira bien. Une telle expérience serait très utile.

Igor Dolzhikov: Un bon sujet pour le rapport: ne portez pas votre expérience et toutes les approches qui fonctionnent pour une langue (PHP, en particulier) dans Go. C'est une erreur courante.

Vitaly Levchenko: Ajoutez à cela la question: "Comment gérer les programmeurs qui passent de PHP à Go?" et obtenez un excellent rapport. Qui va le faire, écrire ?

Et depuis qu'ils ont commencé à parler de management, je propose de discuter de Go de ce point de vue. Tout d'abord, ses inconvénients.

En règle générale, les langages de programmation sont pris en compte par l'ingénieur: caractéristiques architecturales, syntaxe, etc. Lors de toute conférence linguistique, une partie importante des sujets est de choisir ou non un instrument dans un cas particulier. Dans le même temps, les langues sont comparées en fonction des caractéristiques techniques, mais il y a des problèmes spécifiques à l'équipe et à la gestion, et il est plus difficile de les traiter. Un rapport à leur sujet sera utile à ceux qui décident d'utiliser Go.

Le Go devient de plus en plus populaire, nous attendons donc à notre conférence des spécialistes intéressés par le Go, mais qui ne le connaissent pas encore très bien.

Allez contre tout le monde


Marco Kevac: J'aimerais vraiment entendre un rapport appelé quelque chose comme "Comment vivons-nous sans génériques?" et dans lequel il serait trié par points qu'il est possible de contourner ceci et cela. Tout le monde parle de ces génériques, et peut-être qu'ils simplifient la vie, mais en fait, vous pouvez vous en passer. Il est intéressant de montrer du côté pratique comment y parvenir.

Vitaly Levchenko: En plus des génériques, il provoque des holivars, parmi ceux qui ne sont pas de Go, la gestion des erreurs. La gestion des erreurs dans Go est très différente de toutes les autres langues, il existe des modèles que tout le monde ne connaît pas et n'utilise pas. Avec l'avènement de Go 1.13, ce problème sera partiellement résolu, mais dans tous les cas, la gestion des erreurs est un sujet important.

Alexey Palazhchenko: En plus des génériques et des erreurs, il y a un troisième cheval de l'Apocalypse - ce sont des modules .

Elena Grahovac: Quoi de plus controversé dans le contexte des modules: fonctionnent-ils, comment ne fonctionnent-ils pas, ou qu'est-ce qui tire l'Internet des addictions?

Alexey Palazhchenko: Il me semble, tous ensemble. Ce sujet sera encore plus pertinent pour GolangConf en octobre, car Go 1.13 sera publié en août, et les gens commenceront à y basculer juste à temps. Avant cela, tous étaient des passionnés dans l'ensemble.

Elena Grahovac: Que pensez-vous qu'ils diront sur l'American GopherCon? Annoncer Go 2.0?

Marco Kevac: Je pense que nous ne verrons aucune découverte.

Alexey Palazhchenko: Mon hypothèse est qu'ils parleront principalement de réglage et de modules, c'est-à-dire gopls, goproxy, registre et audit.

Alexey Palazhchenko: En parlant des holivars, j'irais dans un rapport sur le sujet: «Allez - suce» ou «Allez - pire que X» d'une personne célèbre qui écrit bien en X, par exemple.

Elena Grahovac: Vous pouvez appeler n'importe quelle personne de notre entreprise, il vous dira pourquoi Kotlin est meilleur que Go. Et puis je ferai un rapport: "Comment un golfeur peut-il survivre dans une entreprise qui ne veut s'associer qu'avec Kotlin".

Alexey Palazhchenko: Ce serait un bon combo. Il est intéressant d'assister à une conférence sur le langage X, où, entre autres, ils diront que X est nul. Pour faire un tel rapport, vous devez avoir des nerfs d'acier et un très bon argument. En règle générale, ces personnes sont très préparées, elles obtiennent des rapports intéressants et bons et des discussions intéressantes en marge.

Go, sécurité et Windows


Vitaliy Levchenko: Au fait, ils n'ont pas encore dit un mot sur la sécurité.

Elena Grahovac: Oui, nous serions heureux de recevoir un rapport sur Go et la sécurité d'un spécialiste de la sécurité hardcore. Répondez si c'est vous. Bien que, il me semble, ce sujet n'a pas été couvert presque partout, pas seulement dans Go.

Et puisque nous nous sommes déjà souvenus de la sécurité, je propose un sujet - quelque chose sur Windows. J'ai essayé de me souvenir du type de bogues que je connais spécifiquement dans Go liés à la sécurité, et pour une raison quelconque, ils concernent tous Windows.

Marco Kevats: Qu'est-ce que Windows?

Elena Grahovac: Je demande sérieusement, qu'est-ce que tu plaisantes?

Alexey Palazhchenko: Rarement, mais pas une, pas deux ou trois fois, ils m'ont demandé quelque chose sur Windows. Quelqu'un ne configure tout simplement pas localement. Quelqu'un demande comment créer une plaque signalétique Excel à partir de Go ou comment travailler avec Home. Par conséquent, un rapport d'examen sur la façon d'utiliser Go sur Windows en général n'est peut-être pas très populaire, mais il rassemblera certainement ces personnes, ce qui est précieux en soi.

Marco Kevac: Je suis d'accord. J'étais récemment à un atelier pour les «débutants» Go, où les programmeurs ont essayé d'installer trivialement Go et de faire quelque chose à ce sujet. Un grand nombre de problèmes sont survenus précisément à cause de Windows et des fonctionnalités de travail avec Go.

Alexey Palazhchenko: Windows n'est pas dans notre bulle, mais en général, c'est le cas. À en juger par les sondages, Windows est la plate-forme la plus populaire.

Go Developer Career


Elena Grahovac: De quoi d'autre voulons-nous discuter lors de notre conférence? Par exemple, je serais intéressé par le sujet du développement de carrière des développeurs Go.

Vitaly Levchenko: En quoi diffère-t-il de l'évolution de carrière d'un autre développeur?

Elena Grahovac: C'est la question: y a-t-il une différence. Par exemple, je vois que parfois les développeurs de Go viennent sur Go pour passer à SRE plus tard. Maintenant, à Berlin, c'est une tendance, de jeunes gars viennent qui disent: "Je veux vraiment être SRE, mais je comprends que je ne peux pas immédiatement, donc pour l'instant je vais travailler en tant que développeur junior Go, puis passer en quelque sorte à SRE".

Vitaly Levchenko: Il y a donc un intérêt, et lors de la conférence, vous devez couvrir le SRE.

Elena Grahovac: SRE sont ceux qui utilisent beaucoup Go pour automatiser leurs tâches, tout ce qui devrait être automatisé après la première utilisation. C'est donc une question urgente pour la conférence Go.

Vitaliy Levchenko: SRE se développe également plus rapidement à partir de Go-Schnicks en raison de la gamme de connaissances nécessaires.

: DevOpsConf SRE Go 5 .


: Go. : « Prometheus, Go , ». CocroroachDB Go, . , , , , , . .

:Serverless . serverless- Go: AWS, Google, Microsoft Azure. , -, .

: , Go , . . , , , . , , JSON-RPC, Go-.

, — . telegram- . GolangConf .

Source: https://habr.com/ru/post/fr458768/


All Articles