[JAVA] Rapport du printemps JJUG CCC 2018

Résumé du printemps JJUG CCC 2018

ccc_m1 Encore à venir! Premiers pas avec JUnit 5

J'ai appris un large éventail de possibilités, de la configuration de JUnit 5 à l'exécution de diverses assertions et à la migration de 4 (ancienne version). Je savais que l'API avait été repensée dans JUnit 5, mais je ne pouvais pas vraiment comprendre ce qui avait changé et comment cela avait changé, donc c'était utile.

Les exemples d'améliorations apportées à JUnit 5 comprenaient les éléments suivants. Tous n'étaient pas pratiques lorsque j'utilisais JUnit 4, je voudrais donc les utiliser immédiatement.

--Effectuer plusieurs assertions dans une seule méthode de test

Malgré ces avantages, j'ai également appris que les avantages de remplacer un test existant (écrit avant JUnit 4) ne sont pas significatifs. Dans le futur, il semble que de nouveaux tests seront écrits dans JUnit 5 tandis que les tests existants seront exécutés dans JUnit Vintage.

Développement de serveur ccc_a2 avec Kotlin + Spring Boot

J'ai appris à utiliser Kotlin, qui est devenu le premier langage de développement Android chez Google / IO en 2017, côté serveur. Combiné avec Kotlin et Spring Boot, vous pouvez développer assez efficacement.

Cependant, vous devrez peut-être faire attention lors de son utilisation avec la fonction Spring Boot.

J'ai également trouvé que l'utilisation des fonctions auxiliaires d'IDE (IntelliJ IDEA) permet d'écrire plus de code de type Kotlin efficacement. Même si vous n'avez pas beaucoup de connaissances sur Kotlin, vous pouvez l'introduire petit à petit.

ccc_m4 Le développement d'applications de taille moyenne a du mal à soutenir les bénéfices

Il s'agit d'une session qui explique ce à quoi vous faites attention lors du développement d'un serveur publicitaire pour SmartNews, principalement du point de vue de la «révision du code».

Dans les revues de code SmartNews, nous nous concentrons sur «ce que le produit devrait être» plutôt que sur l'exactitude du programme. Par conséquent, nous examinons tout en lisant les documents de base et les documents, ce qui prend beaucoup plus de temps que de regarder le programme seul. Cependant, il semble que les problèmes causés par le programme se produisent rarement car l'examen est effectué après avoir bien compris le contexte.

Les éléments suivants ont été mentionnés dans les points de révision du code.

J'ai également appris quelques conseils sur la façon de mesurer pour trouver les goulots d'étranglement. L'accès à SmartNews augmentera rapidement à certains moments (par exemple vers 7 heures du matin ou lorsqu'un problème supplémentaire est annoncé). Pour répondre à cet accès, il semble que la charge maximale (nombre d'accès) pendant une certaine période de temps soit mesurée au lieu de mesurer la charge à ce moment-là à intervalles réguliers.

Certains des points soulignés dans l'examen comprenaient ce que j'écrivais habituellement inconsciemment. Je veux m'améliorer petit à petit autant que je peux.

ccc_a5 Comment créer un écran de gestion "données non corrompues"

À la suite de ccc_m4, nous avons parlé du serveur publicitaire de SmartNews. Cette session se concentre sur l'écran de gestion et la structure des données. J'ai été surpris que le contenu de l'histoire sur le même produit soit complètement différent si les coupes étaient différentes.

Au sein du serveur publicitaire, il est plus important de maintenir la cohérence en divisant correctement les énormes données et en partageant le traitement, plutôt que de «ne pas détruire» les données. Lors du fractionnement des données, soyez conscient des problèmes que chaque fonction doit résoudre.

--Ad Server: fournir efficacement de grandes quantités de données --Ad Frontend (outil administratif): affichez les données de manière simple à comprendre

Au fur et à mesure que le nombre de fonctions augmente, un travail de conversion sera nécessaire au niveau de la partie qui les relie. Le travail de conversion est sujet à des dysfonctionnements et constitue la partie «sale» du système. SmartNews est conçu pour permettre à Ad Frontend d'assumer ce «rôle sale» afin que d'autres fonctionnalités puissent se concentrer sur leurs responsabilités.

Avec ces idées, le développement de SmartNews maintient la Productivité (un concept qui résume l'évolutivité, la mobilité, la sécurité, etc.).

Pour les données volumineuses, je voudrais non seulement les diviser, mais aussi être conscient de chaque relation et procéder au développement tout en gardant la complexité globale aussi faible que possible.

ccc_e5 Premiers pas avec Docker for Java Engineers

C'est une session à saisir à peu près de Docker inexpérimenté au démarrage du conteneur où le serveur Web construit avec Spring Boot est placé. Cela fait un moment que Docker est devenu célèbre, mais j'ai raté l'occasion de le toucher sérieusement, alors j'ai décidé de saisir cette occasion pour le réintroduire.

Tant que le client Docker est installé, vous pouvez télécharger l'image du conteneur et démarrer le conteneur avec des commandes simples. La plupart des commandes étaient faciles à comprendre si vous touchiez git ou Maven.

J'ai manqué le timing une fois, donc j'étais très reconnaissant de pouvoir participer à une session pour des personnes inexpérimentées en ce moment. C'était quelque chose que je pouvais commencer par moi-même, alors j'ai décidé de procéder petit à petit.

Unconference Part3 (Apprentissage / Collecte d'informations)

Au JJUG CCC, il y a d'autres choses que vous pouvez faire en plus d'écouter la session.

Lors de la non-conférence, l'ordre du jour sera sollicité le jour de l'événement et tous les participants en discuteront. J'ai assisté à un moment où la collecte d'informations et l'éducation à la programmation étaient à l'ordre du jour.

Les personnes impliquées dans Java de différentes perspectives participent au JJUG CCC. La bonne chose à propos de la non-conférence est que vous pouvez entendre chaque opinion. Sur l'agenda de ce qu'il faut demander pour l'enseignement de la programmation, un large éventail d'opinions a été soulevé, de la façon d'écrire du code à la théorie sous-jacente (algorithme). Tout le monde était convaincu que "je veux que vous portiez un cœur qui ne se brisera pas même si vous voyez une erreur", et il y a eu des scènes de rire.

Si vous avez du mal à vous parler lors d'une réunion sociale, vous voudrez peut-être profiter de ces opportunités.

ccc_a8 Histoire de créer une application serveur avec DDD et architecture propre

Non limité au JJUG CCC, les informations avant d'être compilées dans des livres, etc. peuvent être partagées lors des sessions d'étude. Le sujet de cette session était le système en cours de développement. Les informations sur le «brut» du site, telles que le flux de l'échec du prototypage à la reconstruction utilisant l'idée de DDD, ce qui était efficace, les problèmes qui se produisent, etc., sont diffusées presque telles quelles C'était.

Il y a peu d'occasions de connaître le processus d'essais et d'erreurs. En connaissant le processus de l'acquisition des connaissances à leur utilisation dans le développement, DDD, que je pensais être un obstacle de taille, est devenu un peu plus proche de moi.

Recommended Posts

Rapport du printemps JJUG CCC 2018
Mémo JJUG CCC Printemps 2018
Rapport d'automne 2018 du JJUG CCC
Mémo de participation au printemps JJUG CCC 2018
J'ai participé au JJUG CCC 2019 Spring
[* Java *] J'ai participé au JJUG CCC 2019 Spring
Résumé du matériel du JJUG CCC automne 2018
Liste de diapositives d'automne JJUG CCC 2019
JJUG CCC 2017 Fall Report Java
Participation au JJUG CCC 2019 AUTOMNE
Résumé du matériel d'automne du JJUG CCC 2019
Impressions d'un apprenti ingénieur se rendant au JJUG CCC 2018 printemps
J'ai participé au JJUG CCC 2019 automne
J'ai participé au JJUG CCC 2019 Fall.
[* Java *] Je suis allé au JJUG CCC 2017 Automne