«Je suis juste un passionné de projets et un utilisateur de la langue Dart» - entretien avec Ari Lerner, auteur du célÚbre livre ng



Comment écrire neuf livres sur des technologies complÚtement différentes, y compris Angular, Vue, React, React Native et autres? Qu'est-ce qui est le plus important dans la formation, qu'est-ce que le «chat de couloir» et en général, qu'est-ce que Dart et Flutter ont à voir avec cela?

Aujourd'hui, notre invité est l'auteur de nombreux livres et articles sur la programmation, dont ng-book - Ari Lerner . Quel sera le prochain livre, ce que l'auteur pense d'un tel ... langage contradictoire comme Dart, et pourquoi il est si important de communiquer lors de conférences, demandent les gars du comité de programme de la conférence HolyJS ( Dmitry Dmitry Makhnev Makhnev et Evgeny bunopus Kot ).

- Bonjour. Il y aura trois sections dans notre interview, dans la premiÚre nous parlerons de vous, dans la seconde sur Flutter, et la troisiÚme sera finale. Commençons par vous parler un peu de vous?

- Pour commencer, je voudrais vous remercier pour l'invitation - Je suis trÚs heureux d'avoir l'occasion de parler à HolyJS. Quant à moi, je vis à Brooklyn à New York et programme autant que je me souvienne - ma premiÚre langue était l'assembleuse au début des années 1990. Pour le moment, je suis engagé dans la blockchain et le deep learning, jusqu'à présent séparément. Pour la plupart, je travaille avec des clients, les aide à entrer dans les ICO (Initial Coin Offerings) et les aide à travailler avec l'économie des jetons. Et aussi avec moi vit un délicieux chien Ginger, un croisement entre un chihuahua et un Corgi - je peux en parler sans fin.

"A quoi ressemble-t-elle?" La taille d'un chihuahua, mais hirsute, comme un corgi?

- Oui, c'est un Corgi plus petit avec un visage chihuahua. TrĂšs bien.

- Que gagnez-vous maintenant? Vous Ă©crivez des livres ou travaillez pour une entreprise?

- A la fois ça et un autre. J'Ă©cris un livre, mais cela ne prend plus tout mon temps. Jusqu'Ă  ce que je dĂ©cide quoi faire ensuite, je travaille pour moi-mĂȘme.

- Si je comprends bien, il y a 5 ou 6 ans, vous avez fondé Fullstack.io?

- Oui, c'Ă©tait en 2012.

- Parlez-nous de lui.

- Fullstack se compose de deux parties, c'est un éditeur de manuels de programmation, ainsi qu'une plateforme pédagogique. En ce qui concerne la publication de manuels, notre public principal est les développeurs professionnels, mais nous fournissons également des manuels aux universités, aux écoles et aux programmes de formation continue. De plus, nous organisons des formations en ligne et en direct, généralement dans le cadre de la formation continue. Nous travaillons avec des entreprises comme General Electric, Walmart, avec l'armée, etc.

- GĂ©nial. Êtes-vous en concurrence avec O'Reilly ou avez-vous un domaine complĂštement diffĂ©rent?

- Nous faisons des choses qui sont trÚs similaires à ce que fait O'Reilly, mais nous ne les concurrençons pas directement, car nous avons une échelle complÚtement différente - nous ne menaçons pas la domination mondiale d'O'Reilly sur les livres de programmation. De plus, nous avons une approche légÚrement différente. Habituellement, les livres aprÚs la publication ne sont pas mis à jour, donc dÚs que vous les lisez, ils sont obsolÚtes. Si vous achetez un livre chez nous, nous fournissons des mises à jour constantes.

- Publiez-vous des livres papier ou simplement des livres Ă©lectroniques?

- Tant ceux-ci que d'autres. Nous vendons des livres papier via Amazon, mais ne pouvons pas ĂȘtre mis Ă  jour. Les livres Ă©lectroniques achetĂ©s sur Fullstack sont automatiquement mis Ă  jour. Vous ne pouvez pas mettre Ă  jour via Amazon - ils ont un contrĂŽle trop strict.

- Si je comprends bien, vous ĂȘtes le co-auteur de nombreux livres sur Fullstack.io - Fullstack React, Fullstack React Native et, bien sĂ»r, le cĂ©lĂšbre ng-book. Pour Ă©crire un livre, vous devez ĂȘtre trĂšs familier avec le sujet sur lequel vous Ă©crivez - que ce soit Angular, React, Vue ou toute autre chose. À quoi ressemble votre prĂ©paration pour Ă©crire un livre?

- Bonne question. Permettez-moi d'abord de vous dire comment j'ai commencé à écrire des livres, et pourquoi j'aime cette leçon? Et ensuite passons à la façon dont le travail sur chaque livre se déroule.

"Oui, bien sûr."

- En 2012, j'ai atteint le plafond de l'entreprise oĂč je travaillais et j'ai dĂ©cidĂ© qu'il Ă©tait temps de partir. J'ai crĂ©Ă© ma startup - croyez-le ou non, mais c'Ă©tait une sociĂ©tĂ© de planification. Pour elle, j'ai Ă©crit un Ă©lĂ©gant backend en Erlang et Python, semble-t-il, avec une touche de Ruby. Mais il n'y avait pas de bonne interface, j'ai donc commencĂ© Ă  explorer diffĂ©rents cadres et suis tombĂ© sur Angular. C'Ă©tait trĂšs longtemps avant la version 1.0. J'ai commencĂ© Ă  Ă©crire une interface pour ma startup, et j'ai vraiment aimĂ© Angular, mais la documentation Ă©tait tout simplement horrible. Pour comprendre comment ce framework fonctionne, j'ai commencĂ© Ă  lire le code source et Ă  comprendre comment il fonctionne - c'est ainsi que je me suis familiarisĂ© avec Angular.

À peu prĂšs Ă  la mĂȘme Ă©poque, on m'a demandĂ© de faire un exposĂ© sur JavaScript lors d'un camp de formation pour les dĂ©veloppeurs Ă  San Francisco, puis j'ai rĂ©alisĂ© que j'aimais vraiment enseigner. J'ai donc dĂ©cidĂ© de combiner ces deux intĂ©rĂȘts et j'ai commencĂ© Ă  Ă©crire un mini-guide pour Angular pour les dĂ©butants. Au dĂ©but, je pensais que ce serait deux ou trois pages de texte, mais Ă  la fin il y avait 650 pages que j'ai continuĂ© Ă  mettre Ă  jour au fil des ans. Je suis finalement devenu l'auteur ou le co-auteur de neuf livres. J'ai enseignĂ© en tant que bĂ©nĂ©vole dans tous les grands camps de formation de dĂ©veloppeurs Ă  San Francisco. Je fais Ă©galement du bĂ©nĂ©volat auprĂšs d'organisations comme Women Who Code et Bridge Foundry, et enseigne ElixirBridge. J'ai mĂȘme donnĂ© des cours dans une prison gĂ©nĂ©rale de la baie de San Francisco et j'enseigne toujours ici Ă  New York.

L'enseignement est trĂšs important pour moi, il me motive Ă  en apprendre davantage moi-mĂȘme. En enseignant, j'aide non seulement les autres, je m'oblige Ă  passer Ă  un nouveau niveau afin de pouvoir expliquer comment telle ou telle technologie fonctionne. Je prĂ©pare gĂ©nĂ©ralement en lisant la source, en particulier JavaScript. Il y a un an ou demi, nous avons rencontrĂ© Vue, et nous avons juste commencĂ© Ă  Ă©tudier la source, notre travail avec Vue nous a fait grand plaisir. Pendant que je travaille, j'Ă©cris tous les problĂšmes que je rencontre, toutes les requĂȘtes de recherche sur Google, toutes les questions sur la documentation. En consĂ©quence, nous compilons une table des matiĂšres Ă©norme et trĂšs dĂ©taillĂ©e, qui ensuite, avec toutes les modifications, nous mettons Ă  jour avec le livre entier.

- Cela se produit-il automatiquement, avec l'aide de gestionnaires qui surveillent toutes ces informations dans la documentation?

- Nous avons des gestionnaires qui suivent les cycles de publication, mais, malheureusement, presque tout le reste - l'Ă©dition du contenu et des images - se fait manuellement. Nous avons des crochets sur React, et nous avons des mises Ă  jour automatiques de code, mais le contenu doit ĂȘtre mis Ă  jour manuellement.

- Je vois. Autant que je sache, vous ĂȘtes co-auteur de nombreux livres. Est-il plus difficile d'Ă©crire un livre seul ou avec quelqu'un? Comment organisez-vous votre travail, comment synchronisez-vous les chapitres?

- Tout comme pour le dĂ©veloppement d'applications conjointes, nous utilisons Git pour unifier le contenu, nous avons donc des versions et des branches. Écrire un livre en collaboration peut ĂȘtre difficile, mĂȘme si, je pense, c'est un peu plus facile dans le cas des livres sur les spĂ©cialitĂ©s techniques que sur les non techniques. Je pense que le plus difficile est de garantir un ton uniforme pour toutes les sections et de dĂ©terminer les dĂ©mos Ă  utiliser. Mais, en gĂ©nĂ©ral, ce n'est pas une tĂąche trĂšs difficile. Toute l'attention est absorbĂ©e par l'Ă©criture et l'Ă©dition, et nous sommes constamment en contact les uns avec les autres, ce qui simplifie considĂ©rablement le processus. Au fil des ans, nous avons dĂ©veloppĂ© des modĂšles d'Ă©criture qui offrent une unitĂ© de style Ă  tous nos nombreux auteurs. Et nous faisons de notre mieux pour que nos co-auteurs Ă©crivent avec nous, et non pour nous. Nous nous positionnons comme une Ă©quipe dans laquelle chacun travaille les uns avec les autres, et non comme une maison d'Ă©dition pour laquelle travaillent les auteurs. De plus, nous sommes tous co-Ă©diteurs des livres que nous Ă©crivons. Le fait d'avoir un ou des Ă©diteurs permet de garantir un style cohĂ©rent tout au long du livre. Chaque auteur Ă©dite une section Ă©crite par un autre auteur.

Quant aux outils, nous utilisons Git, ainsi que de simples éditeurs de texte et Markdown. Je travaille généralement dans Visual Studio Code ou Spacemacs - une combinaison d'Emacs et de Vim, je le recommande vivement si vous ne l'avez pas encore essayé. De plus, nous avons beaucoup de nos propres logiciels, que nous avons écrits pour compiler, travailler avec le style et prévisualiser les livres en temps réel. Nous l'utilisons avant de publier une nouvelle version ou de mettre à jour un livre. La plupart de nos outils sont écrits en JavaScript, TypeScript ou Python.

- Utilisez-vous des méthodologies flexibles comme Scrum pour écrire des livres?

- Oui, mais pas trop actif. Nous tenons une sorte de réunions debout modifiées, mais pas tous les jours, mais chaque semaine, ou aprÚs une semaine, selon le rythme de travail sur le livre. Si je travaille seul, mon stand-up est que j'ouvre mon éditeur de texte, mais si je travaille avec quelqu'un, nous sommes constamment en contact les uns avec les autres via Slack et Google Hangouts.

- Et combien de temps vous faut-il pour Ă©crire un livre?

- Cela dépend de quel livre c'est, si je travaille avec des co-auteurs, de la vitesse du framework. Disons que j'ai écrit un livre en quatre mois, en travaillant le soir et le week-end. Mais pour moi, c'est une vitesse absolument inimaginable, je ne comprends toujours pas comment j'ai réussi à faire autant. Habituellement, un livre prend de six à douze mois.

- IntĂ©ressant. Vous passez beaucoup de temps, travaillez avec des outils et des processus intĂ©ressants, peut-ĂȘtre en collaboration avec quelqu'un d'autre, puis donnez le livre Ă  la publication. Lorsque l'Ă©diteur essaie de traduire le fruit de vos travaux dans une autre langue, comment vĂ©rifiez-vous la qualitĂ© de la traduction? Je demande parce que quand j'ai commencĂ© la programmation, je ne pouvais pas lire la documentation technique en anglais, donc j'ai lu de nombreux livres en russe - par exemple, la traduction de Good Parts of JavaScript et les livres les plus cĂ©lĂšbres d'O'Reilly. Pour autant que je sache, ces traductions Ă©taient terribles. Je pense Ă  la façon dont les auteurs des livres auraient dĂ» rĂ©agir Ă  cela, et de quelle maniĂšre ils auraient pu vĂ©rifier les traductions. Quelle est votre opinion globale sur les traductions?

- Ici, je ne peux parler que de mon expĂ©rience personnelle et du fonctionnement de Fullstack. Nous avons de nombreuses situations oĂč nous ne connaissons pas la langue dans laquelle le livre est traduit - par exemple, la plupart de nos livres sont traduits en chinois, mais je ne parle pas le chinois. Certes, au fil du temps, j'ai appris quelques mots, j'ai une application spĂ©ciale pour cela, Babbel, avec laquelle j'apprends des langues Ă©trangĂšres. Mais dans le cas du chinois, les meilleures traductions ont Ă©tĂ© obtenues lorsque notre traducteur Ă©tait Ă©galement programmeur en mĂȘme temps. GrĂące Ă  cela, pour toutes les questions, il Ă©tait plus facile pour le traducteur de nous poser une question en anglais, puis de traduire correctement la rĂ©ponse en chinois. Malheureusement, je ne parle pas russe non plus. Je peux dire «vĂ©lo» - mĂȘme si, comme vous l'entendez, je ne peux mĂȘme pas dire cela. Bien sĂ»r, il est difficile de ne pas connaĂźtre la langue dans laquelle le logiciel est Ă©crit. Je comprends particuliĂšrement bien cela quand je regarde la documentation des projets chinois open-source - pour comprendre quoi que ce soit, je dois me plonger dans la source.

- Une situation similaire était avec Vue. Pour autant que je sache, ses premiÚres versions avaient une documentation plutÎt médiocre, et de nombreux problÚmes ont été décrits en chinois. Pour autant que je sache, l'anglais est maintenant une exigence.

- Oui, ça l'est. J'ai de la chance que ma langue maternelle soit l'anglais. Bien que je ne le parle pas couramment, je n'ai aucun problĂšme avec la documentation. Je pense que les traductions sont trĂšs importantes. De plus, nous vivons Ă  une Ă©poque oĂč la traduction automatique s'amĂ©liore de plus en plus, en particulier grĂące au deep learning - c'est l'une des raisons pour lesquelles je me suis intĂ©ressĂ© au deep learning. Cependant, je ne pense pas qu'il existe une panacĂ©e pour tous ces problĂšmes.

- RĂ©cemment, je suis tombĂ© sur une discussion animĂ©e dans la partie russe de Twitter. Un cĂŽtĂ© du diffĂ©rend a fait valoir que les traductions sont, par dĂ©finition, mal, parce que les programmeurs doivent connaĂźtre l'anglais, et c'est une langue internationale pour tout le monde. D'autres ont dit que pour les juniors et ceux qui ne parlent pas trĂšs bien anglais, la documentation doit ĂȘtre traduite. Avez-vous une opinion sur cette question controversĂ©e?

"Les arguments des deux parties sont proches de moi." Ce que je vais dire maintenant, c'est juste ma premiĂšre rĂ©action, pendant longtemps je n'ai pas pensĂ© Ă  ce problĂšme. Peut-ĂȘtre que lors d'une rĂ©union personnelle, nous pourrons approfondir ce sujet. Il me semble que tant de code est Ă©crit en anglais en ce moment que se dĂ©barrasser de la langue anglaise serait extrĂȘmement difficile. Il existe des langues internationales - par exemple, JavaScript est une langue internationale, si vous la parlez, vous pouvez communiquer avec n'importe qui dans le monde. La prĂ©sence d'une langue internationale - l'anglais - nous facilite la communication et la collaboration avec les dĂ©veloppeurs du monde entier; Par exemple, j'ai parlĂ© avec des dĂ©veloppeurs en Inde, en France, en Angleterre, en Chine, en Australie. Bien sĂ»r, ce n'est pas entiĂšrement vrai en ce qui concerne les personnes qui ne parlent pas anglais - je suis sĂ»r que si je ne parlais pas anglais, j'aurais une opinion diffĂ©rente sur cette question. De plus, comme je l'ai dit, ce ne sont que mes premiĂšres rĂ©flexions, je n'ai pas pensĂ© Ă  ce problĂšme depuis longtemps, et peut-ĂȘtre que demain mon opinion changera.

- Oui, nous pouvons en discuter en personne. Parlons maintenant des livres - ils deviennent moins populaires qu'auparavant, en raison de l'émergence de plates-formes telles que les médias, Twitter, etc. Pensez-vous que les livres disparaissent?

"Je ne suis pas convaincu que les livres deviennent moins populaires." Je crois que tout le monde travaille et apprend de diffĂ©rentes maniĂšres. Les services en ligne dans leur fonction sont similaires aux classes en classe. Et il me semble que l'apprentissage en ligne convient aux dĂ©veloppeurs qui souhaitent apprendre diffĂ©rents langages et frameworks diffĂ©remment. Il est plus facile pour certains de travailler avec la documentation, d'autres pour la source, certains fonctionnent mieux en groupe, d'autres seuls, par essais et erreurs, ou en lisant des livres sur les trains et les avions, puis en mettant en Ɠuvre ce qu'ils lisent dans la pratique. Par contre, j'ai enseignĂ© dans des classes oĂč tout Ă©tait exactement le contraire et oĂč les Ă©tudiants ne pouvaient tout simplement pas s'asseoir devant le livre, cela ne leur donnait rien. Ce n'est pas qu'ils ne savaient pas du tout lire, ils tirent juste moins de la lecture que de travailler avec d'autres personnes. Je pense que l'une des rĂ©alisations trĂšs importantes d'Internet pour la communautĂ© de la programmation est qu'il a rendu l'apprentissage plus accessible et le succĂšs plus rĂ©alisable. Des sites et des services comme Medium ou Coursera aident Ă  diffuser les connaissances et permettent une variĂ©tĂ© d'opportunitĂ©s d'apprentissage. Je suis fier d'ĂȘtre impliquĂ© dans cette Ă©volution de l'Ă©ducation. Peut-ĂȘtre qu'Ă  l'avenir, nos livres deviendront interactifs et nous pourrons les combiner avec des cours en ligne.

- Je me souviens qu'une fois les livres vendus avec un CD ou un DVD avec des exemples. Maintenant, ce format est démodé.

- Oui, maintenant ils préfÚrent tout envoyer dans des archives zip - par exemple, nous fusionnons toutes nos démos en une seule archive zip. L'un des outils les plus utiles que nous avons développés nous permet d'écrire tout le code source utilisé dans le livre en un seul endroit, puis nous avons des outils qui le mettent automatiquement à jour à partir des sources originales. Supposons que nous devons mettre en évidence une chaßne, une classe, un objet ou une fonction dont nous discutons dans un livre. Nous avons des outils grùce auxquels vous pouvez créer des liens directs vers le code source. Ceci est également utile car chaque fois que vous téléchargez un livre, la source est mise à jour. Nous écrivons donc les sources non pas directement dans le texte, mais dans un fichier séparé.

- Ma prochaine question sera liée à la précédente. Vous avez dit que tout le monde apprend de différentes maniÚres et que, en tant que développeur, je peux lire des livres, regarder des vidéos sur YouTube, lire des articles sur une plateforme de formation. Mais pourquoi devrais-je assister à des conférences?

- C'est une bonne question. Offhand, je peux citer deux raisons pour lesquelles cela vaut la peine. Le premier est le plus Ă©vident: les prĂ©sentations et les confĂ©rences lors des confĂ©rences sont gĂ©nĂ©ralement bien pensĂ©es et spĂ©cialement conçues pour ĂȘtre visionnĂ©es. En rĂšgle gĂ©nĂ©rale, un tel rapport est consacrĂ© Ă  un problĂšme bien dĂ©fini - par exemple, la refactorisation. Lorsque vous vous asseyez dans un public oĂč un bon rapport de refactoring est prĂ©sentĂ©, c'est comme si vous refactoriez vous-mĂȘme, vous ĂȘtes inclus dans la prĂ©sentation, dans le processus. Eh bien, pour moi, la personnalitĂ© du locuteur et ses Ă©motions sont toujours intĂ©ressantes.

La deuxiĂšme raison est moins Ă©vidente. J'appelle cela un «chat de couloir» - en plus des rapports eux-mĂȘmes, vous rencontrez et communiquez avec des gens qui font la mĂȘme chose que vous. Notre activitĂ© de dĂ©veloppeur est, par dĂ©finition, individuelle - mais lorsque vous commencez Ă  communiquer avec de nombreuses autres personnes qui sont dans le mĂȘme espace que vous et engagĂ©es dans la mĂȘme chose que vous, cette activitĂ© devient automatiquement sociale. Un autre avantage de «parler dans le hall» est que vous rencontrez des personnes qui ont besoin de vos services, de vos connaissances techniques ou de votre expĂ©rience d'enseignement. , , - — .

— — , ? , ?

— . , , , , , , , , . Google, .

, , , — , . , «C++ for JavaScript developers», . , JavaScript -, ++.

— - WebAssembly? , ++ JavaScript


— EOS — . Etherium, LLVM, , LLVM, ++.

— . , HolyJS. Angular, Vue, React, JavaScript — Flutter, Google, Dart. ?

— . , Angular, . , Android, iPhone. ReactNative, , - . Java, Kotlin Swift, Swift. , Swift Android, , , , . , , — . iOS Java, , , Java iOS. , JavaScript — , Redux, , . - Flutter.

Flutter Dart, , TypeScript. JavaScript, , , Redux. Flutter , , . , . , Flutter AOT- JIT-, , UI. , , Flutter, , Flutter .

Flutter — , , , . Flutter — hot reload, web. , Swift, , , , , , , , , . , Flutter UI , -. Flutter, , . , Dart TypeScript, , , JavaScript, JavaScript Dart.

— Dart — , , JavaScript, . Dart , ? ?

— , , Dart . — , Clojure. , , , - JavaScript TypeScript — , . Dart , , . , , , , , . , TypeScript Flow. , Flutter . , , Flutter JIT-, , Flutter.

Dart — , , JavaScript, “” . , , — Java, , , . , Dart, JavaScript JavaScript. , , , Dart JS. Isolates Dart Web workers Dart. -, Dart . , Dart , Flutter, , Dart , React Native, JavaScript.

— .

— . , React Native , - — , JavaString, . Flutter , . , Dart Java, C#, ActionScript JavaScript, , , - , .

— Clojure, — . Dart , .

— , Clojure — .

— , -, — — Flutter? , , ? , «Hello World»?

— , Flutter . - Flutter React Native, . , , , — Flutter . , , — Flutter. , , , — , Java Swift, , -, , . , , Flutter , , .

, Flutter , — , Twitter. , , , , AR VR. AR- Swift, Flutter . , iOS, Android .

— , Flutter Twitter — Twitter PWA. Flutter PWA? -, .

— , Flutter -, . - - Dart, . Dart . Dart JavaScript- , , JavaScript.

— , .

— , . Flutter , , JavaScript.

— . , , . , , JavaScript — JavaScript. — Angular Ionic, — Cordova PhoneGap. , ? , JavaScript?

— . , , JavaScript , , — React Native, Node.js , , Dart. JavaScript, -, . , — , . , - . , 2018 - , , — , , — , JavaScript.

— JavaScript , — Go, ClojureScript, Dart? , JavaScript?

— , ? , , — , . Go, , , Go C++ — . JavaScript Dart, ClojureScript. , C , . , . , . , JavaScript, . . Swift Java — , AR Swift, , , Flutter, , , Swift .

— , 2013 , Dart, , , , Dart . Dart Flutter, Dart Flutter? AngularDart, Dart .

— . , - , . - , , Flutter — Dart. , Cupertino — Flutter iOS — . , , Flutter Flutter — .

Dart, , , , . 2013 EcmaScript , , Google, ECMAScript. Flow TypeScript , . Dart Flutter , 1.0 Flutter.

, , Flutter, Fuse, C#. . JavaScript , , Dart JavaScript, Dart Flutter.

— , . . ?

— , «hallway chat». . , , , . , . , , , , .

— , ?

— .

— , HolyJS?

— , , , . , — , , . , , , , , , . , — , , . - , . , — .

HolyJS, , , , . - , , . , -, , , .

, , .

— , , -10 -15 , .

— -? .

— . , Dart Flutter — , , JavaScript. : HolyJSaura lieu du 24 au 25 novembre, et le 1er dĂ©cembre, il y aura une confĂ©rence sur Dart et Flutter.

- GĂ©nial. Flutter sera dĂ©sormais hors de la version bĂȘta.

Bien que dans le cas de Flutter, le code soit écrit sur Dart, le rapport d'Ari sur HolyJS sera conçu pour les personnes ayant une expérience en JavaScript: une introduction préliminaire à Dart n'est pas requise. Et les zones de discussion à la conférence signifient qu'aprÚs le rapport, il y aura une opportunité de discuter avec Ari de tout ce qui l'intéresse: au moins poser une question sur Angular, au moins lui donner un livre à signer. En général, rendez-vous les 24 et 25 novembre à Holi !

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


All Articles