
Tout développeur Java comprend combien important reste invisible pour l'utilisateur final. Les boutons du site sont visibles par tout le monde - mais lorsqu'ils sont vus de côté, vous ne pouvez jamais penser au backend, sans lequel ces boutons ne fonctionneraient pas.
Et la conférence Java Joker, comme toute autre conférence, a son propre «backend». Les intervenants peuvent être considérés comme le «Frontend»: ils sont visibles par tous, leur contribution gigantesque est claire. Mais il y a aussi beaucoup de travail en cours dans les coulisses. Qui s'assure que les rapports sont de bonne qualité et aide les intervenants à y parvenir? Qui décide quels sujets sont appropriés pour l'événement? Qui aide à attirer des stars étrangères?
Le comité du programme de la conférence est le «back-end» du programme, et en prévision de Joker, nous avons décidé de demander à un PC. Tout d'abord, de cette façon, vous pouvez voir l'événement de côté, généralement invisible pour les participants. Et deuxièmement, l'interview présente un avantage pratique spécifique: puisqu'ils ont personnellement vu tous les rapports du prochain Joker, ils peuvent dire quoi rechercher.
- Tout d'abord, parlez-nous brièvement de vous: quelles sont les personnes qui prennent des décisions importantes concernant le programme Joker?Ivan Krylov : Je suis un ingénieur de premier plan chez Azul Systems, je suis impliqué dans les compilateurs JIT et les machines virtuelles.
Andrei Kogun : Je suis de Moscou, en informatique depuis plus de 15 ans. Je travaille au CROC depuis plus de 6 ans. Au cours de sa carrière, il a participé à un grand nombre de projets de développement personnalisé, principalement des systèmes de gestion électronique de documents et d'automatisation des processus commerciaux pour un certain nombre de grandes entreprises russes dans le rôle de développeur principal et d'architecte. J'enseigne des cours sur les bases du développement utilisant les technologies Java aux étudiants des universités de Moscou. Fondateur et organisateur des réunions de la communauté de Moscou des développeurs Java
JUG.MSK .
Gleb Smirnov : Je travaille pour Plumbr, nous surveillons la fiabilité et les performances. Au cours des quatre dernières années, il a été impliqué dans de nombreuses choses: de la manipulation des structures internes d'une machine Java «en direct» en mémoire native à la gestion d'une commande sur appel. Maintenant, nous ne sommes pas si start-up, et je me concentre davantage sur la fiabilité de nos propres services.
Dmitry Alexandrov : Je viens de Saint-Pétersbourg, j'habite en Bulgarie. Je travaille comme architecte chez T-Systems. J'adore Java, j'ai le titre de Java Champion, le leader du Bulgarian Java User Group, l'organisateur de nombreuses conférences dans le pays (par exemple, JPrime).
Oleg Anastasiev : Je travaille en tant que développeur leader chez Odnoklassniki depuis 2007 en tant que membre de l'équipe de la plateforme. Je suis engagé dans le développement d'architectures et de solutions pour les systèmes à forte charge, les grands entrepôts de données, la résolution des problèmes de productivité et de fiabilité du portail.
Victor Polishchuk : Je suis un orateur, alcoolique et beau. Ils ne m'aiment pas pour cela, mais principalement parce que j'essaie de dire aux gens les informations les plus utiles. Je suis un terrible technicien et j'adore ce truc. L'une de mes tâches principales est d'avoir plus de techniciens et moins d'humanitaires dans le monde. Débarrassons-nous d'eux! D'accord, en fait, je ne suis pas fermement contre les sciences humaines, mais je me noie toujours pour les techniciens.
Vladimir Sitnikov : Je suis engagé dans l'optimisation des performances des applications Java / Oracle DB chez Netcracker. Je suis committer dans Apache JMeter, Apache Calcite, PostgreSQL JDBC. J'aime apprendre de nouvelles choses et j'aide à préparer des conférenciers lors de conférences Joker, JPoint, Devoops, Heisenbug.
- Comment es-tu entré dans le PC?Gleb Smirnov : Il y a quelque temps, j'ai écrit de
nombreux articles sur Habré dans le hub Java, puis ils ont récolté de nombreux avantages. Lyosha
23derevo Fedorov m'a contacté et m'a proposé de faire un rapport. Depuis plusieurs années, je participe activement à des conférences à travers le monde, y compris Joker. Mais cela prend beaucoup de temps pour préparer de nouveaux bons rapports, et je me suis arrêté. Et puis ils m'ont appelé sur le PC, et j'ai pris racine, j'ai bien aimé. Il s'est avéré que vous pouvez passer autant de temps par an à préparer vos propres rapports, que par la suite, vous obtiendrez non pas un rapport, mais un tas. Ce n'est pas avec vous, mais avec d'autres personnes. C'est super.
Vladimir Sitnikov : Comment l'enlever de la langue! C’est tout.
Ivan Krylov : La première fois que je suis arrivé au Joker en tant que participant, après un certain temps, je suis devenu conférencier et j'ai pris la parole lors de plusieurs conférences, et dans ce cycle, j'ai décidé de m'essayer sur un PC.
Andrey Kogun : Je participe au PC pour toutes les conférences Java du groupe JUG.ru depuis un certain temps, et je suis également au PC DevOops. Je me souviens de l'histoire de Joker de l'époque où cette conférence n'avait pas de comité de programme, et Andrei Dmitriev était le manager individuel. Puis ce fut facile avec les conférenciers: prenez et appelez les personnes évidentes, beaucoup étaient d'Oracle. Mais alors la conférence a grandi, a atteint un niveau sérieux, et tous les orateurs évidents avaient déjà visité, et il a fallu grandir au détriment de nouveaux. Puis un PC est apparu, et il me semble que la conférence elle-même s'est améliorée. C’est important pour moi de participer à quelque chose comme ça, où je ne gagne pas d’argent, mais j’apporte des bénéfices.
Victor Polishchuk: Maintenant, je vais vous dire pourquoi j'ai accepté de participer au PC et pris cette responsabilité, bien que j'imagine la quantité de travail, mais moi-même je ne viendrai même pas à ce Joker.
Quand j'allais au Joker, au JPoint et à d'autres conférences, il y avait toujours des organisateurs sous le capot, et ils ont fait quelque chose pour obtenir mes connaissances. Et maintenant, il est temps de retourner la faveur.
J'aimerais voir des rapports à la conférence qui aideront les gens à prendre les bonnes décisions que quelqu'un a déjà élaborées, puis ils sont venus en parler. Et d'autre part, je veux une fuite de pensée pour ces ingénieurs qui travaillent avec l'entreprise sanglante, afin qu'ils aient de la nourriture supplémentaire pour l'esprit. Il me semble que cette évolution, elle vous permet de promouvoir des idées. J'aime vraiment le marché des idées - pour cela j'aime les conférences.
- Que fait exactement le comité de programme?Ivan Krylov : PC fait plusieurs choses. Premièrement, il forme la structure générale de la conférence: décide quels rapports seront les plus et lesquels les moins, et sur quel sujet. Le PC regarde les applications qui nous parviennent, nous appelons nous-mêmes un certain nombre de personnes à la conférence. En règle générale, ce sont des conférenciers très occupés et bien connus, il est difficile de les faire soumettre à la conférence, nous leur envoyons donc des invitations individuelles.
Ensuite, nous sélectionnons les applications, construisons notre programme. Pour éviter le déséquilibre, nous pensons au nombre de rapports que nous voulons sur chaque sujet. Une fois le plan et l'ordre du jour de la conférence établis, que se passera-t-il, nous travaillons avec les conférenciers. Surtout avec des intervenants qui n'ont pas beaucoup d'expérience lors de conférences. Nous écoutons les rapports et aidons à améliorer leur qualité afin que les rapports recueillent un maximum d'audience auprès du public lors de la conférence.
Dmitry Alexandrov : Étant donné que j'ai beaucoup d'expérience en conférence (et pas seulement en Russie), je pense que je suis relativement à la mode. Je comprends de quoi ils parlent en Occident et quel genre de public nous avons. Par exemple, nous n'obtiendrons tout simplement pas beaucoup de rapports européens, parce que nous voulons du hardcore, nous voulons une étude de cas, nous voulons des détails, une présentation très claire et compréhensible. Et il y a de nombreux cas où les orateurs européens les plus cool ont échoué dans notre pays, ne répondant pas à ces exigences. Par conséquent, dans les PC, un travail important consiste à comprendre si le sujet est vraiment pertinent pour la conférence, s'il est applicable et comment le conférencier en parle en tenant compte de nos spécificités. Beaucoup de ces nuances. Je connais de nombreux locuteurs étrangers et j'essaie de les amener en Russie, de leur expliquer nos spécificités.
- Lors de la préparation de la conférence, chaque participant au PC n'est responsable que des rapports spécifiques qui lui sont attribués, ou vous croisez-vous?Ivan Krylov : Nous avons des intersections pour la raison suivante: il est important qu'il n'y ait pas de situation dans laquelle l'opinion d'une seule personne détermine tout. Par conséquent, nous essayons de prendre de telles zones afin qu'il y ait une certaine intersection et qu'au moins deux personnes se fassent une opinion à part entière sur le rapport.
De courts rapports sont lus par tout le monde sur le PC. Et puis, lorsque le travail se fait directement avec le contenu élargi du rapport, au moins deux personnes l'examinent et donnent leurs commentaires, car tout le monde le voit sous un angle légèrement différent. Par exemple, si je ne regardais que de ma part des rapports sur des machines virtuelles ou des rapports liés à des choses de bas niveau, le rapport du locuteur correspondant serait donc exclusivement axé sur les développeurs de machines virtuelles. Alors que les auditeurs sont différents: quelqu'un développe vraiment des machines virtuelles, et quelqu'un veut voir le développeur Java sur des choses liées aux machines virtuelles. Et puis mes collègues viennent, tirez-moi, et le résultat est quelque chose qui est intéressant pour la plupart.
- Quels rapports au Joker 2018 supervisez-vous? Recommanderiez-vous quelque chose de précis à l'avance?Gleb Smirnov : Les sujets du niveau inférieur sont les plus proches de moi: périphérique JVM, profilage, toutes sortes de tripes. Cette année, par exemple, je suis responsable de
"l'intégration des machines virtuelles .NET et Java" par Grigory Koshelev, un rapport intéressant. Particulièrement remarquable pour sa perspective inhabituelle pour une conférence Java. Habituellement, tout le monde explique comment extraire natif de Java, par exemple, dans le même .NET - et Gregory, au contraire, explique comment accéder à une machine Java à partir de .NET.
Je recommande également le rapport
«Jlink et Custom Runtime Image» de Yuri Artamonov. Il s'agit de savoir comment assembler, à l'aide des fonctionnalités de Java 9, une image minimale d'une machine Java et la placer sur des serveurs clients sans avoir besoin d'une machine Java prête à l'emploi.
Mais tous les rapports ne sont pas de bas niveau: par exemple, je supervise le rapport de Vladimir Plisga
"Spring Boot 2: qu'ils n'écrivent pas dans les notes de version" . À propos de la façon dont vous êtes passé au deuxième Spring Boot, puis marchez quelques semaines de plus et récupérez les bosses sur votre front. Vladimir décrit soigneusement le râteau et donne de nombreuses recommandations judicieuses sur la façon de ne pas marcher dessus.
Andrei Kogun :
Avant, je voulais revoir des rapports dans lesquels je comprenais quelque chose, par exemple, au sujet du printemps. En général, je suis développeur d'applications. Et maintenant j'en suis arrivé au point où je montre plus d'intérêt pour ces rapports dans lesquels je ne comprends probablement rien. Je regarde de plus en plus tout cela pour qu'en tant que membre du PC, je puisse être le premier à voir tous les rapports et à donner une évaluation du point de vue de l'ensemble du public de la conférence: quelque chose sera-t-il clair? Je regarde spécifiquement la qualité du rapport lui-même, pas le contenu.
Nous pensons que les orateurs que nous acceptons dans le programme sont déjà des experts dans leur domaine. Mais pour aider à structurer le rapport, le rendre de haute qualité, travailler sur la présentation - c'est ce qu'un PC peut faire. En particulier, j'ai récemment écouté un
reportage sur le Fuzzing , c'est une chose complètement nouvelle pour moi. Et lorsque vous essayez de réaliser de quoi il s'agit, apportez-le à l'orateur, où quelque chose n'était pas évident pour vous, et posez-lui des questions, alors cela amène l'orateur à quelques réflexions. Pour moi, comme pour la personne qui a également fait des présentations, c'est la chose la plus précieuse en préparation - quand on peut vous donner ce genre de feedback.
Il y a des experts dans différents domaines du PC, et bien souvent, bien sûr, l'aide au contenu se produit également, quelque chose est ajouté. Par exemple, nous discutons maintenant avec Kirill Tolkachev et Maxim Gorelikov de
leur rapport , et ils demandent directement un avis: est-ce bon ou mauvais d'ajouter un exemple ou autre chose. Ici, je comprends ce qui est en jeu. Si nous parlons de Baruch, il n'aime pas se préparer beaucoup à l'avance, mais aime quand il a des pensées. En particulier, nous avons trouvé certains des cas qui figuraient dans ses rapports sur Alexa lors du brainstorming dans le cadre de l'appel PC.
Dmitry Alexandrov : Nous avons un programme très équilibré. Il y a des études de cas intéressantes, il y a du cran, il y a des smoothies et des thèmes JVM, il y a des thèmes de performance, des thèmes de framework, il y a même des thèmes qui sont sortis de Java. Par exemple, l'apprentissage automatique, Postgres, etc. Ici, à mon avis, un bon équilibre s'est avéré. Il n'y a pas de distorsion de la conférence vers le printemps ou vers la performance, il y a tout.
Quant aux rapports spécifiques, il s'agit de l'une des conférences, dont chacun souhaite passer en revue. Il y aura un grand
spectacle de Venkata Subramaniam . Il y aura Tagir, il a un
bon sujet à mon avis, c'est très pertinent. Il y aura une
étude de cas intéressante avec des algorithmes de comportement du public lors de la planification des billets pour la Coupe du Monde. C'est cool parce que cela s'est produit récemment, et c'est une façon intéressante d'algorithmiser tout cela.
J'ai vraiment aimé ce que nous avons à propos de Postgres. Il sort de Java, mais nous l'utilisons tous. Il y aura du bon, à mon avis. Il y aura un apprentissage automatique pour les débutants. Les mégadonnées et l'apprentissage automatique sont des sujets intéressants, mais ils n'ont pas encore fait de bonnes contributions à leur sujet. Ils ont pris un petit morceau, plongé dans le sujet, et la facilité d'utilisation de ces rapports était faible. Et puis la convivialité sera grande. De plus, il y aura un spectacle et du hardcore, et il y aura Scala - j'aime vraiment ça. Scala est un incubateur d'idées qui ira plus tard à Java. Bien que les sujets qui seront abordés lors de la conférence ne s'intègrent pas physiquement dans Java, car il n'y a pas suffisamment de constructions de langage pour écrire le tout. Cependant, c'est génial car les rockers hardcore trouveront un bon sujet à écouter. Le sujet n'est pas nouveau, mais un ami le présentera dans le bon sens.
Oleg Anastasiev : Bien sûr, je comprends le mieux ce qui est intéressant dans le
rapport de Vadim Tsesko sur la distribution réactive de la musique à Odnoklassniki.
D'une part, il est intéressant du point de vue de la façon de tout presser d'un morceau de fer à Java. Il y a beaucoup de musique, il faut la distribuer à plusieurs en même temps et rapidement. Par conséquent, bien que Java soit «écrit une fois, exécuté n'importe où», il existe une intégration étroite avec le système d'exploitation pour en tirer le meilleur parti. En même temps, il n'y a pas de code natif, c'est tout Java avec
one-nio .
D’un autre côté, c’est intéressant du point de vue architectural, car
les questions de tolérance aux pannes sont examinées. Tout est conçu pour que le service ne cesse de fonctionner pour les clients. Il s'agit d'un cas rare du premier système de résilience, où la tolérance aux pannes ou la tolérance aux pannes est câblée, en commençant par l'architecture et en terminant par les éléments de niveau le plus bas.
Et d'autre part, c'est intéressant du point de vue de la réactivité. Notre jet stream peut s'ouvrir, à partir du disque dur dans le centre de données sur lequel se trouve la piste souhaitée, et sera acheminé à travers toute l'infrastructure d'Odnoklassniki jusqu'à ce distributeur. Le distributeur émettra un flux directement directement à partir du disque. Pour ce faire, j'ai dû écrire mon propre système réactif - nous n'avons pas simplement pris Reactive Spring, mis quelques annotations @Autowired, et cela a fonctionné.
Vladimir Sitnikov : Pour le choix des rapports, je recommande de trouver quelqu'un du PC à la conférence et de demander. Et / ou trouver un orateur et poser des questions sur son rapport. Ça marche. Je le fais moi-même lorsque je ne suis pas membre de la conférence PC. Oui, les rapports ont une description (est-ce que tout le monde le lit? :)), mais vous ne pourrez pas aller à deux rapports à la fois, et c'est beaucoup mieux si vous obtenez immédiatement un rapport plus utile que de marcher entre les couloirs pendant les 5 à 10 premières minutes.
- Y a-t-il quelque chose dans le programme que vous ne saviez pas, quelque chose qui vous a surpris - peut-être loin de votre spécialisation principale?Gleb Smirnov : J'apprends presque toujours quelque chose de nouveau dans les courses. Par exemple, je n'ai pas travaillé une seule fois avec le bytecode Java 4. Il est si chanceux que notre agent Java ait toujours pris en charge les applications client compilées pour au moins Java 5. Et Joker jouera Zhenya Mandrikov, qui explique comment certaines structures de langage sont traduites en bytecode de manière évidente, et il a un site archéologique Exemple Java 4. De là, j'ai appris qu'il y avait une instruction jsr (Java Subroutine). Grâce à lui, par exemple, il a été possible d'exprimer des blocs finaux de manière assez compacte. Mais avec la vérifiabilité, tout est mauvais là-bas, alors ils l'ont coupé à Java 5.
Victor Polishchuk : L'un des rapports les plus inhabituels que j'ai vu
concerne les transactions en cascade . Cela m'a accroché parce que, en tant que développeur industriel, j'ai vu beaucoup d'horreur lorsque les gens connectent des transactions distribuées au code, et après cela, le code cesse de fonctionner. Parfois, il roule aux endroits où vous vous y attendez le moins. Relativement parlant, il n'y a pas une seule implémentation normale des transactions distribuées.
Le camarade dira en anglais comment ils ont utilisé TransferWise ont pu, à l'aide d'outils simples, réduire les transactions complexes en deux phases en transactions normales en une seule phase, auxquelles nous sommes habitués et avec lesquelles il n'y a aucun problème. Il me semble que cette approche est l'avenir de tout le monde distribué. Lors du développement de microservices, vous avez besoin de transactionnalité, d'atomicité. Et cela peut être réalisé soit à l'aide de transactions distribuées (qui n'existent pas, et personne ne sait encore comment les faire), soit à l'aide de quelques changements dans l'architecture de votre code. En changeant un peu d’approche, vous obtenez les mêmes garanties, beaucoup plus faciles et
plus fiable. Je pense que ce sera très utile pour les ingénieurs en exercice.
rapport. Ce rapport, qui devrait aider tout-tout-tout.
Vladimir Sitnikov : Un de mes intérêts est la programmation fonctionnelle. Sans fanatisme, bien sûr, mais il y a quelque chose d'attrayant dans ces approches. Donc: cette fois, il y aura jusqu'à deux rapports de
John McClean sur la performance des collections persistantes et
Oleg Nizhnikov sur la finale sans étiquette . Et ce ne sont pas des rapports mathématiques pour les mathématiciens, mais des rapports avec des avantages pratiques directs.
- De quoi s'est-on souvenu lors de la préparation?Andrey Kogun : J'aime vraiment l'étape de sélection des candidatures. Il y a beaucoup d'applications, beaucoup de gens intéressants, beaucoup de moments inattendus. Parfois, vous pensez que c'est vraiment quelqu'un qui est engagé et intéressé par ce sujet ou cette technologie, c'est-à-dire que c'est l'occasion de regarder le monde plus largement.
Je ne dirais pas que j'ai un avantage sur l'audience de la conférence dans la mesure où vous devez toujours voir les rapports sous la forme dans laquelle ils ne sont pas présentés lors de la conférence. J'aime la sélection des candidatures et la possibilité de créer un programme qui sera à la conférence, de livrer des rapports de manière à ce qu'ils soient organiques. C'est amusant quand vous savez que pendant la conférence, vous pouvez opter pour 3-4 rapports et ils se complèteront. Il en est ainsi, car il existe certaines technologies qui sont actuellement les plus en vogue et beaucoup souhaitent en faire rapport, de nouvelles tendances. Ils parlent rarement de quelque chose de dépassé. Lorsque nous sélectionnons des applications, il se passe beaucoup de choses inattendues et intéressantes, des connaissances intéressantes et de la communication. Nous avons plus de dix candidatures pour une place lors de la dernière conférence.On s’appelle, on communique avec tout le monde et c’est vraiment cool.: . Excelsior LLC, , . , , , . , Java, , . - . , .
— Joker ?: , Joker — , . : , , , . Joker, , , . . , , . , , , . Joker , , Joker . . , Joker , .
Avec beaucoup de gars de cette atmosphère, je suis en contact permanent. Il y a toutes sortes de chatics, par exemple, certains orateurs participent au débriefing. Sous une forme ou une autre, la communauté existe constamment. Il y a des gens que vous rencontrez lors de différentes réunions. C'est formidable que cette communication ne soit pas limitée à deux jours, elle est constante.Gleb Smirnov : Les orateurs eux-mêmes nous disent, en particulier les étrangers, lorsque nous parlons à un PC que personne n'a jamais travaillé avec des applications aussi soigneusement. Nous vérifions soigneusement chacun: résumé, plan, diapositives, formation. Donc presque personne ne le fait. Il y a des individus qui ne sont pas très adaptés à un tel mode de fonctionnement, mais la plupart d'entre eux sont reconnaissants, car ils nous sont également utiles. Nous donnons une rétroaction utile, et en retour, nous obtenons un bon rapport.- Voulez-vous quelque chose de dernier pour les lecteurs?: Java-, JVM- — , . - , . : Java, Kotlin, Scala, - JVM-based , , . Java , .
: Cette conférence s'est avérée très équilibrée. Je pense que beaucoup de visiteurs trouveront les aspects nécessaires pour appliquer toutes les technologies par eux-mêmes. Il n'y aura pas beaucoup d'artificiel et simplement intéressant, il y aura beaucoup de pratique et ce qui peut devenir pratique, ce qui peut être appliqué. Une très large couverture technologique s'est avérée. Ils trouveront des choses intéressantes pour eux-mêmes, il me semble, tant de gens, adeptes de différentes tendances, cadres et plates-formes. Chacun pour soi peut apprendre quelque chose de nouveau et entendre comment les autres le font pour tirer des conclusions par lui-même. Nous discutons très souvent lors d'une conférence de technologies alternatives à une sorte. Il existe une technologie, mais il existe une alternative. C'est toute la fraîcheur de la conférence, à mon avis. Équilibre de l'audience. Visualisez, parlez et passez en revue toutes les vidéos. Il y a la technologie, il y a une alternative,ce qui est digne de discussion et digne même de le savoir.: , . , . -: , , , , :)
, , ,
. — !
: (/ ). Robert Scholte? , , Apache Maven. ? , , Marcus Hirt (JFR) (async-profiler). Et ainsi de suite.
.
Joker . — , !