
Après avoir
repris notre
souffle après Saint-Pétersbourg
HolyJS , nous avons lu toutes les critiques du public - et découvert quel type de rapports le public a le plus apprécié. Et du fait que pendant la conférence il y a eu une diffusion sur YouTube de la première salle, certains de ces «favoris» sont déjà accessibles à tous.
Par conséquent, nous avons décidé de vous parler de la dernière conférence de cette manière: pour décrire plusieurs reportages qui sont tombés amoureux du public (en donnant des exemples de citations de leur part), et dans les cas où le reportage est entré dans la diffusion publique, donnez immédiatement un lien avec un timecode. Vous pouvez avoir une impression générale de l'événement et y rejoindre personnellement l'histoire.
En plus des rapports
Mais d'abord, quelques mots sur les autres moments mémorables de HolyJS:

Tout d'abord, outre les présentations, cette fois-ci, il y a eu trois discussions sur le format «Oiseaux d'une plume»: un certain nombre d'orateurs se sont assis, tout le monde s'est réuni et une discussion informelle (sans caméras ni microphones) sur un sujet brûlant a commencé. Au total, il y a eu trois sessions BoF sur les thèmes «Node.js in Enterprise», «Optimisation côté client» et «Ce que, outre JS, un développeur décent devrait savoir».
Deuxièmement, l'action était suffisante pour les stands des sponsors, et beaucoup ont particulièrement aimé le concours "Code in the Dark" sur le stand VK. Deux participants s'assoient devant des ordinateurs portables et essaient de créer une page en 10 minutes, mais en même temps, ils ne peuvent voir que la mise en page «correcte» et leur code, mais ils ne voient pas le résultat de leurs propres actions. Mais il est visible pour le public, ce qui lui permet de comparer - il s'est avéré presque un mème «attente et réalité».
Les photos ne traduisent pas le processus, j'ai donc essayé de filmer une courte vidéo sur le téléphone lorsque le développeur VK Timofey Chaptykov était derrière l'ordinateur portable. Le disque s'est avéré être très amateur, mais au moins une idée donne:
Et maintenant pour les rapports:
Vitaliy Fridman
Le fondateur de Smashing Magazine est devenu un triomphe absolu de la conférence: parlant de deux sujets, il a réussi à prendre la première et la deuxième place du classement selon les audiences.
Il y a six mois, lors du précédent HolyJS, Vitaliy en avait déjà conquis beaucoup avec ses
Nouvelles Aventures dans le Responsive Web Design . Maintenant, la conférence a été ouverte par la «deuxième saison d'aventures front-end» avec de nouvelles astuces, et Vitaly a diffusé son style reconnaissable avec des touches anglaises:
«Ce qui m'a vraiment surpris, c'est
Guess.js . Qui a entendu parler d'elle? Une caractéristique intéressante. Nous utilisons webpack, nous faisons des bundles, nous avons des morceaux. Mais que se passe-t-il si nous utilisons l'analyse prédictive et l'apprentissage automatique pour deviner ce qui sera nécessaire lors de la prochaine interaction utilisateur? L'utilisateur visite le site, nous pouvons prédire avec Google Analytics où il cliquera ou ce qu'il fera, et nous pouvons précharger le morceau le plus susceptible d'être utilisé. "
Soit dit en passant, le créateur de Guess.js est familier à beaucoup: c'est
Minko Gechev , qui a
parlé de l'accélération des applications angulaires lors du précédent HolyJS.

La performance d'ouverture de Vitaly
est dans l'émission. Et qu'y avait-il dans son deuxième rapport, "Petites astuces sales des coins sombres du commerce électronique", qui n'est pas encore apparu sur YouTube? Considérations sur la façon dont nous pouvons faciliter les conversions et augmenter les ventes tout en travaillant sur les magasins en ligne. Par exemple, tels que:
«J'ai travaillé avec un constructeur automobile allemand et nous avons discuté si le configurateur de voiture sur le site devait être réactif. À en juger par nos données, personne n'a acheté de voiture par téléphone. Pourquoi alors réactif? Mais le penser est une grosse erreur. Parce que si une personne veut acheter une voiture chère, elle a besoin de temps pour se convaincre que c'est un bon achat. Besoin de jouer avec l'idée. Et où avons-nous le temps pour cela? Un point très important est dans les toilettes. Et ils emmènent un smartphone aux toilettes, pas un ordinateur portable. »
Nikolay Matvienko - Décomposition du thread principal dans Node.js pour augmenter le débit

Si après les tours de commerce électronique de Vitaliy Fridman, quelqu'un avait le sentiment "intéressant, mais les gestionnaires ont le mal de tête d'augmenter la conversion, et je veux des détails techniques plus approfondis", un rapport de Nikolai Matvienko pourrait être un bon choix. Là, une expérience de travail sur des projets de commerce électronique a également été mentionnée, mais déjà dans le contexte de la productivité et des charges: lorsque certains jours, les commandes sont plus importantes que d'habitude et que vous devez résister à ce pic, vous comprendrez ces sujets. Nikolai a divisé tout ce qui se passe dans le flux principal en composants et les a décrits séparément, par exemple, comme ceci:
«Le rendu côté serveur est une opération CPU typique qui peut prendre 100, 200 et 500 millisecondes. Le rendu sur Node.js est très pratique, mais vous devez payer pour la commodité - le rendu bloque la boucle d'événements. Mais il existe une solution: utilisez le rendu en continu, divisez cette opération en petites parties, effectuez le rendu en plusieurs parties et diffusez-les en réponse. »
Il y a un rapport dans la diffusion - vous pouvez donc personnellement découvrir tous les détails techniques et admirer les diapositives, dont beaucoup dans les critiques ont fait l'éloge séparément.
Kirill Cherkashin - Utilisation d'arbres de syntaxe JavaScript abstraits

Parfois, en relation avec de tels sujets, la question se pose: «d'accord, c'est profond et intéressant, mais AST me donnera-t-il un résultat pratique, ou est-ce juste bon à savoir pour le développement général?» Cyril a décidé de montrer que cela pouvait être utile et a commencé par un bon exemple: «Combien d'entre vous ont déjà oublié de supprimer console.log du code avant de s'engager? Et qui pense qu'il peut s'y retrouver régulièrement? Et si l'on considère de tels cas, qui le pense encore? D'accord, une expression régulière aussi monstrueuse a réussi tous les tests auxquels je pouvais penser, mais alors la question est: qui veut maintenir un tel code? En général, AST pour moi ici est clairement plus efficace. "
En conséquence, parmi les avis d'audience, vous pouvez voir les mots "le rapport a été plus utile que ce à quoi je m'attendais". Peut-être que certains développeurs sont maintenant sauvés de ce qui les a amenés à s'exprimer régulièrement!
Imad Elyafi - Redonner vie au Web mobile

Les visiteurs du précédent HolyJS se souviennent des propos d'Imad sur la conversion des profils Pinterest en React, où il a cité les avantages d'une migration progressive. Et ici, au contraire, il a raconté comment le Web mobile sur Pinterest avait été complètement et complètement refait. Pourquoi est-ce nécessaire?
«Il y a trois ans, nous avons examiné l'état de notre Web mobile et réalisé que les utilisateurs ne l'aiment pas. Mais nous savions que nos applications natives avaient un taux d'engagement de 80% plus élevé. Ensuite, nous avons pris la décision difficile de pousser les gens à utiliser des applications (en allant sur un site mobile, vous avez vu une offre pour ouvrir / installer l'application). Et vu la taille de notre équipe, alors c'était justifié.
Maintenant, nous avons grandi et sommes prêts à mettre à niveau. Et bien que les métriques parlent en faveur des applications, les métriques ne mesurent pas les sensations. Ils ne peuvent pas mesurer comment l'utilisateur n'ouvrira plus notre site, car il a vécu une expérience désagréable. Et lorsque nous avons de nouveau fait le choix de promouvoir des applications ou d'investir dans le Web mobile, nous avons choisi le second. »
En conséquence, Pinterest a créé l'application Web progressive moderne - et HolyJS s'est avéré être un cas peu fréquent lorsqu'ils parlent de PWA non pas théoriquement, mais sur la base d'une utilisation pratique par une grande entreprise. Ce rapport
est diffusé, vous pouvez donc découvrir personnellement tous les détails de l'expérience de quelqu'un d'autre.
Alexey Kozyatinsky - Débogage de JS en utilisant Chrome DevTools comme exemple

Lorsqu'un outil est autant demandé que Chrome DevTools, il semble qu'il soit facile de google quoi que ce soit à ce sujet. Et, probablement, on pourrait trouver quelque part des phrases similaires sans assister à la conférence:
«Le profilage est divisé en instrumentation (où dans le code vous appelez l'heure lors de l'appel de la fonction) et échantillonnage (où vous collectez la pile après un certain intervalle de temps et voyez dans quelle fonction vous avez passé du temps). Il est important de se rappeler que le profileur de CPU dans DevTools utilise l'échantillonnage: c'est probablement la seule approche qui fonctionne bien dans JS. V8 aime compiler votre code presque en natif et l'exécuter très rapidement. Si nous réglons une minuterie pour revérifier l'heure, nous déformerons considérablement l'image finale. Et l'échantillonnage vous permet de calculer un profil qui montrera les performances de très près. »
Cependant, dans le cadre de la conférence, il est très important que le conférencier soit directement membre de l'équipe DevTools, et les zones de discussion ont permis de l'interroger en détail après le rapport. Et aucune diffusion ne transmettra cette partie: l'opportunité de communiquer dans la langue maternelle avec le développeur d'un outil pour vous aider à comprendre le fonctionnement de votre application. Alexey lui-même a également été heureux de communiquer, soulignant dans le rapport qu'il était important pour lui de se produire à Saint-Pétersbourg (la ville où l'équipe DevTools était basée avant de déménager en Californie). Eh bien, s'il n'avait pas dit cela, on aurait pu deviner son origine de Pétersbourg. Quelque chose a trahi Stirlitz: soit le numéro
«239» sur
Twitter , soit des exemples de Dostoïevski sur les diapositives.
Dmitry Bezhetskov, Vladimir Anufrienko - Portage de JS vers Elbrus

Ici, je veux remettre une médaille distincte «pour l'unicité de la tâche». Beaucoup de gens peuvent dire «nous écrivons en JS» - et combien de personnes dans le monde peuvent dire «nous avons porté JS sur une autre architecture de processeur» et en parler? Rarement lors d'un événement JS, vous pouvez entendre, par exemple, ceci:
«Elbrus a une spéculation explicite, contrairement à la spéculation implicite de x86. Cela signifie que si nous considérons cette fonction:
function Foo(a) { if (a === null) { return 0; } return a.bar; }
puis, en utilisant la spéculation, nous pouvons effectuer une action «illégale» en lisant la valeur du champ bar avant même de savoir si «a» est zéro ».
Il est clair que l'applicabilité pratique des connaissances sur l'architecture interne des processeurs Elbrus est en cause. Mais les évaluations du rapport montrent que la profondeur de l'analyse du travail des moteurs V8 et SpiderMonkey n'a pas laissé les fans inconditionnels indifférents. Et les sections en attente de la question et réponse ont découvert pourquoi LLVM n'est pas utilisé dans les langages dynamiques et quand une machine virtuelle universelle pour le bytecode peut apparaître.
Keynotes: Maxim Yuzva et Ilya Klimov

Enfin, chacun des deux jours de la conférence s'est terminé par une performance où il ne s'agissait pas de Service Workers ou de processeurs VLIW, mais complètement différent. Le premier jour a été clôturé par
Maxim Yuzva , le second par
Ilya Klimov , et leurs performances ont fait écho: ils n'ont pas tous les deux essayé de raconter mille faits sur la nouvelle bibliothèque de mode, mais ont suggéré de réfléchir aux faits dont nous avons généralement besoin, de quoi d'autre nous avons besoin et dans quelle direction se développer.
Maxim s'est concentré sur les moments de travail qui sont en dehors des holivars habituels sur les frameworks. Si vous avez une question sur la technologie, vous pouvez vous tourner vers Stack Overflow - mais «comment interagir avec des collègues» n'y est pas écrit, et c'est également important. Après ce rapport, la discussion dans la zone de discussion s'est avérée si orageuse et longue que, en fait, une quatrième session non planifiée de la BoF a été obtenue.
Ilya a mis l'accent sur comment et quoi apprendre dans un monde où la technologie se développe si rapidement que vous ne pouvez toujours pas rattraper tout le monde. Comme on pouvait s'y attendre de la part de ce conférencier, l'affaire n'était pas sans plaisanteries (le «Lotus jaune» en général est devenu un mème local de la conférence), mais le message général était assez sérieux.
La
première représentation et la
seconde sont disponibles dans l'émission.

Et si vous étiez intéressé par ces reportages qui n'étaient pas dans la première salle, de sorte que vous n'ayez pas pu accéder à la diffusion publique, jusqu'à présent leurs vidéos ne sont disponibles que pour les participants à la conférence, mais après quelques mois, nous publierons tout sur YouTube (et plus dans la forme de diffusion "brute", mais dans une version soigneusement conçue). Nous disons au revoir à cela et commençons à attendre le prochain HolyJS, qui se tiendra à Moscou en novembre.
Enfin - une photo particulièrement spectaculaire de la salle de conférence:
