Top 10: les meilleurs articles du Joker 2017



Récemment, nous avons ouvert à tous les enregistrements vidéo des rapports du Joker 2017. Et quand quarante rapports Java sont immédiatement accessibles au public, quel pourrait être le problème? Le fait que les yeux écarquillent! Quand il y a tant de choses, on ne sait pas quoi chercher en premier lieu.

Vous pouvez vous concentrer sur les notes d'audience: commencez par les rapports les plus appréciés des personnes assises dans la salle. Par conséquent, nous avons compilé pour vous les dix principales vidéos principales, en leur fournissant de petites descriptions.

Habituellement, dans de tels sommets, nous désignons strictement des endroits. Mais cette fois, les meilleurs rapports se sont «affrontés» et la différence entre eux est parfois symbolique. Par conséquent, bien que les vidéos soient classées par ordre décroissant de classement au plus haut, cette division est plutôt arbitraire: elle est plus importante non pas dans l'ordre dans lequel elles se déroulent, mais du fait que le public les a vraiment appréciées.

Les profileurs sont des hobbits couchés


Conférencier: Nitsan Wakart
Lien de présentation


Que diriez-vous si l'application "Tenir compte de la consommation de trafic mobile" vous disait parfois "Ici, il mange du trafic!" pas le service qui a vraiment dépensé tout votre quota, mais l'innocent? Vous seriez probablement indigné: l'application ne fait pas face à sa tâche principale et ne fait que vous induire en erreur.

La situation avec les profileurs Java est généralement similaire. Dans certaines conditions, beaucoup d'entre eux peuvent être tellement trompeurs que si vous ne le savez pas, leur utilisation peut compliquer votre vie au lieu de soulager. Mais cela ne signifie pas que vous devez tous les jeter et mesurer les performances «à l'œil nu». Il sera beaucoup plus constructif de comprendre ce qui ne va pas exactement et comment vivre avec. C'est ce dont parle Nitsan Wakart, connu de beaucoup sur le blog Psychosomatic, Lobotomy, Saw .



Un éditeur de texte n'est pas votre plus haute mathématique, vous devez penser ici


Conférencier: Alexey Kudryavtsev
Lien de présentation


Le titre du rapport, bien sûr, est provocateur, mais il n'est pas apparu de toutes pièces. Même chose avec le rapport lui-même: il manque à la fois d'ironie et de «viande». Alexey travaille chez JetBrains sur l'IDE (qui est aussi un éditeur de texte dans un certain sens) - et il sait très bien comment gérer des textes d'une longueur dont nous n'avons jamais rêvé dans notre String. Et quel genre de spécificité surgit lorsque des inspections sont constamment effectuées sur ce texte.

Ici, bien sûr, la question se pose de l'applicabilité pratique. Combien d'entre nous devront jamais travailler sur un éditeur de texte? Sinon, que nous apportera ce rapport? Mais il peut donner au moins ceci: au même IDE que vous voyez tous les jours, après cela vous regardez un peu les yeux différents.



Sourcing d'événements, architecture événementielle et CQRS


Conférencier: Sebastian Daschner


Il semblerait qu'il n'y ait pas de pénurie de textes sur Internet expliquant les concepts de sourcing d'événements et de ségrégation de responsabilité des requêtes de commande ("restauration de l'état actuel en fonction de la source et des événements qui se sont produits", "séparation de la lecture et de l'écriture", c'est tout). Mais la même chose peut être expliquée de différentes manières, et les commentaires du public ont montré: les gens aiment la façon dont Sebastian Dashner explique.

Voici un exemple dans le rapport: "Imaginez que vous avez commandé un hamburger dans un café, asseyez-vous avec impatience, puis le serveur revient avec les mots" Je suis désolé, ils ont dit dans la cuisine qu'il n'y avait pas le bon ingrédient pour le moment. " Bien sûr, c'est désagréable. Mais pour garantir l'évitement d'une telle chose, le serveur devrait immédiatement après les mots "puis-je commander un hamburger?" courez à la cuisine et ne revenez pas tant qu'il n'est pas prêt: "oui, vous pouvez, et le voici." De toute évidence, cette approche ne fonctionnera pas du tout. Par conséquent, il est plus raisonnable de rendre un système complexe de nombreux éléments non absolument cohérent, mais finalement cohérent. »

Et Sebastian voudrait remettre une réalisation distincte "l'esprit de la vieille école" pour le fait que sa présentation au lieu de Powerpoint a été faite, semble-t-il, à Vim (et les schémas y sont soigneusement peints avec de l'art ASCII).



DC / OS à un nuage en Java et pour Java


Conférencier: Oleg Anastasiev
Lien de présentation


Le mot «nuage» au cours des dernières années s'est déjà épuisé. Mais si dans de nombreux cas, il peut être mentalement remplacé par Amazon, la situation est complètement différente.

Au départ, à Odnoklassniki, chaque serveur n'était responsable que d'une seule tâche, ce qui simplifiait considérablement (par exemple, il est immédiatement évident quelle tâche «mange» combien). Mais au fur et à mesure de son développement, il est devenu clair que la ressource d'infrastructure la plus précieuse n'est pas un serveur, mais un rack, et nous devons augmenter l'utilisation du centre de données, en répartissant les ressources de chaque serveur entre différentes tâches. Comment utiliser Docker pour partager correctement les ressources entre les tâches de la classe «la réponse rapide est importante» et la classe «la bande passante est importante»? Que se passe-t-il lorsque Kubernetes ne convient pas, mais y a-t-il la force de prendre votre propre décision?

Selon la description, le rapport peut sembler assez «débile» et infrastructurel, plutôt que développemental. Mais en réalité, il est devenu «complètement dévorateur» non pas au Joker, mais à notre autre conférence DevOops: Oleg a préparé différentes versions du rapport pour deux événements différents.



Java Puzzlers NG S03 - D'où venez-vous tous?!


Intervenants: Tagir Valeev et Baruch Sadogursky
Lien de présentation


Puzzlers, bien sûr, je veux démontrer avec un exemple spécifique. Par conséquent, nous racontons le deuxième des problèmes exprimés par Tagir et Baruch. Supposons que nous ayons imbriqué un opérateur ternaire dans un autre (ne demandez pas pourquoi):

System.out.println(isUltimateQuestion ? 42 : isUltimateQuestion ? 42 : null); 

Supposons également que isUltimateQuestion est false. Question: que produira le code et pourquoi?

Options:

  1. nul
  2. Non compilé
  3. 42
  4. Interception nullpointer

La bonne réponse est sous le spoiler.

Texte masqué
L'option correcte est la dernière, NullPointerException. Pourquoi? Il s'avère, selon la spécification, que si des résultats int et null sont possibles dans l'opérateur ternaire, l'expression dans son ensemble sera de type Integer. Et si int et Integer, alors int. À quoi cela mène-t-il: une tentative sera faite pour envoyer l'opérateur ternaire «interne», et il tombera sur null.



Cependant, dans les rapports de casse-tête, les tâches elles-mêmes représentent la moitié de la bataille, la présentation n'en est pas moins importante. Et ici, comme on peut s'y attendre de ces enceintes, elle est aussi brillante: des T-shirts volent dans la salle, Baruch plaisante sur la scène, à l'écran le loup poursuit le lièvre. Lors d'une conférence dans une salle voisine, ils se sont plaints que c'était audible même là-bas!



Projet Ambre: le plomb des champs


Conférencier: Tagir Valeev
Lien de présentation


Et ici Tagir est déjà sans Baruch. Il a décidé de bien comprendre «ce que la journée à venir nous prépare» et a étudié les informations sur le projet Amber - une sélection de petits changements.

Aujourd'hui, le principal problème avec ce rapport, bien sûr, c'est que beaucoup de choses ont changé au fil des ans. Disons que le rapport commence par une sortie locale de variables - et maintenant nous l'avons déjà reçu en Java 10, et il y a déjà beaucoup de matériaux au format «tel quel», et non «comment ça va être». Mais le rapport reste intéressant: à la fois parce qu'il met tout en contexte («en fait, l'inférence de type en tant que telle apparaissait dans la huitième version»), et parce qu'il est intéressant de voir à quoi tout ressemblait fin 2017.



Shenandoah: un ramasse-miettes qui pourrait (partie 2)


Conférencier: Alexey Shipilev .


Ce rapport est exigeant pour le spectateur pour deux raisons:

Tout d'abord, cela nécessite une connaissance préliminaire du rapport précédent d'Alexey fait au JPoint 2017 (en fait, à partir d'ici vient la «partie 2» dans le titre). Maintenant que ces deux rapports sont accessibles à tous, vous pouvez immédiatement les considérer comme une «dilogie intégrale sur GC».

Et deuxièmement, il s'agit d'un rapport d'Alexei Shipilev. Pas le plus furieux de tout ce qu'il avait jamais dit, donc vous ne devriez pas avoir peur d'approcher, mais néanmoins, certaines connaissances sont nécessaires de la part du spectateur. Et ici, le format vidéo peut être un avantage sur la présence personnelle sur le rapport. Parce que vous pouvez mettre en pause la vidéo et google quelque chose d'incompréhensible!



Java 8: bien, mal, mal


Conférencier: Nikolay Alimenkov
Lien de présentation


Les nouvelles versions de Java se remplacent désormais plus rapidement que les nouveaux iPhones, et la onzième ne se rapproche plus. Mais si nous demandons «bien, mais quel type de production est dans votre production», vous répondrez probablement «huitième». Et cela signifie que le rapport sur les caractéristiques de son utilisation reste toujours d'actualité.

Sans aucun doute, le G8 nous a donné de nombreuses nouvelles opportunités merveilleuses - mais il n'y a pas une telle opportunité qui ne pourrait être gâchée par une mauvaise utilisation. Et le rapport est à ce sujet: comment il est utilisé incorrectement, et comment cela en vaudrait la peine. Le référentiel GitHub va au rapport dans un couple - si vous préférez, vous pouvez consulter des exemples spécifiques ici.



GraphQL - API d'une nouvelle façon


Conférencier: Vladimir Tsukur
Lien de présentation


Un sondage du public au tout début du rapport montre que de nombreuses personnes ont entendu parler de GraphQL parmi le public, mais très peu l'ont utilisé «au combat». Bien sûr, pour l'ensemble de la communauté Java, il peut s'agir d'un échantillon non représentatif (il n'est pas surprenant que de telles personnes soient attirées par un tel rapport), mais il y a toujours le sentiment que cette technologie est maintenant au statut de `` il est temps d'apprendre à connaître ''. C'est exactement ce que propose le rapport - une connaissance vive et fluide.

Désormais, les problèmes liés à l'API peuvent devenir une zone de tension entre le front-end et le back-end. Pour le frontend, cela peut ressembler à "mes exigences ont changé et j'ai besoin de changer quelque chose dans les endpoints, mais ils ne démangent pas", pour le backend - "tout le monde vient ici et veut de toute urgence quelque chose quand nous avons d'autres tâches en feu". Si les frontendeurs pouvaient simplement demander les données dont ils avaient besoin et les recevoir exactement, ni plus ni moins, le paradis sur Terre ne viendrait-il pas en même temps?

En fait, je ne serais pas venu: GraphQL a ses inconvénients. Mais les téléspectateurs ont salué ce rapport en partie parce qu'il ne les a pas contournés et ne s'est pas transformé en une belle image publicitaire. Et en même temps, beaucoup ont indiqué dans les commentaires qu'ils voulaient maintenant tester la technologie dans un projet de travail. N'est-ce pas un succès?



Démarrez-vous, le printemps arrive


Intervenants: Evgeny Borisov et Kirill Tolkachev

Partie 1:


Partie 2:


Enfin, la note est couronnée non seulement d'un rapport, mais d'un rapport. Il occupait deux plages horaires et, semble-t-il, pourrait facilement continuer aussi longtemps. Il s'est réuni dans la salle et a payé des émissions en ligne au total plus d'un millier de personnes. Enfin, il a exigé deux personnes sur scène à la fois, et c'est aussi un défi: un rapport de couple est un format que tout le monde n'obtient pas.

Peut-être, étant donné la popularité de Spring Boot dans l'écosystème Java, un rapport d'une telle ampleur était nécessaire. Et les critiques ont montré que tout n'était pas en vain: il s'est avéré non seulement une balançoire sur le rouble, mais aussi un coup correspondant.

Et si vous êtes un fan de séries et que vous avez immédiatement vu dans le titre une référence à "Brace Yourselves, Winter is Coming", alors vous avez raison: Cyril et Eugene jouent à "Game of Thrones" depuis deux heures.
Si les rapports de la liste vous intéressent, nous attirons votre attention: nous avons déjà annoncé le prochain Joker , et là vous ne pouvez pas être moins intéressant. Dans le même temps, les billets deviennent plus chers au fil du temps et la prochaine augmentation de prix aura lieu le 1er juillet. Alors ne retardez pas l'achat d'un billet pour le nouveau Joker avant de revoir tous les rapports du précédent!

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


All Articles