• Aide
  • Eurêkoi Eurêkoi

Livre

Java pour les professionnels : outils et méthodes

Résumé

Une présentation des fonctionnalités de ce langage de programmation adaptées au monde professionnel et des clés pour apprendre à créer un code réactif et durable.


  • Contributeur(s)
  • Éditeur(s)
  • Date
    • DL 2023
  • Langues
    • Français
  • Description matérielle
    • 1 vol. (XIV-134 p.) : ill. ; 23 cm
  • Collections
  • Sujet(s)
  • ISBN
    • 978-2-416-01173-3
  • Indice
  • Quatrième de couverture
    • Java pour les professionnels

      La référence pour les pros de Java !

      S'il existe déjà beaucoup de livres qui expliquent comment démarrer avec Java ou comment se servir de tel ou tel framework, peu (voire aucun) sont destinés à des utilisateurs chevronnés du langage. Leur permettre de passer un cap dans leur carrière, c'est le défi que cet ouvrage va essayer de relever. Les moyens pour y arriver sont multiples, mais le but est unique : fournir un concentré d'informations permettant de revendiquer un bon bagage technique et d'évoluer avec de meilleurs outils.

      Sont abordés dans ce livre :

      • la programmation fonctionnelle et comment dépasser les limites inhérentes à Java malgré le virage fonctionnel pris depuis Java 8 ;
      • la gestion des logs et des traces applicatives, ainsi que la remontée de métriques, pour collecter l'information basique et gérer efficacement son application en production ;
      • la performance des applications Java, via des technologies comme le projet Loom (et ses threads virtuels) ou GraalVM (la VM Java conçue pour le cloud) ou encore JMBH (l'outil de microbenchmarking).

      Enfin, ces trois grands thèmes seront l'occasion de découvrir diverses bibliothèques de grande qualité comme VAVR ou Resilience4J, et de progresser en matière d'intégration de la robustesse dans vos applications.


  • Tables des matières
      • Java pour les professionnels

      • Outils et méthodes

      • Jérôme Molière

      • Cosme Charlier

      • Michel Maudet

      • Alexandre Faria

      • Éditions Eyrolles

      • Avant-propos1
      • Origines de ce livre1
      • Objectifs1
      • Sources d'inspiration2
      • Remerciements2
      • Dédicace2
      • Chapitre 1
      • Concepts fondamentaux3
      • Pourquoi parler de programmation fonctionnelle ?3
      • Là où les soucis commencent6
      • Les piliers de la programmation fonctionnelle10
      • Effets de bord11
      • Fonctions pures11
      • Fonction d'ordre supérieur12
      • Non-mutabilité14
      • VAVR et la programmation fonctionnelle14
      • Survol de VAVR15
      • Fonctions en tant qu'objets standards15
      • Fonctions partielles17
      • Évaluation tardive de fonctions avec Lazy18
      • Memoization19
      • Currying26
      • Structures de données fonctionnelles26
      • Option 26
      • Either 27
      • Tuple 29
      • Try 30
      • Pattern matching 30
      • En pratique40
      • Détection d'une année bissextile41
      • Koans fonctionnels42
      • Conclusion42
      • Chapitre 2
      • Kata poker43
      • Le projet43
      • Domaine fonctionnel43
      • Rappels sur le TDD44
      • Mise en ouvre du TDD45
      • Détecter une paire45
      • Tests unitaires 45
      • Code de la fonction 46
      • Classe modélisant une main 47
      • Détecter un brelan47
      • Tests unitaires 47
      • Code de la fonction 48
      • Refactoring 48
      • Détecter un carré49
      • Tests unitaires 49
      • Code de la fonction 49
      • Détecter une double paire50
      • Tests unitaires 50
      • Code de la fonction 50
      • Détecter un full house51
      • Tests unitaires 51
      • Code de la fonction 52
      • Détecter une couleur52
      • Tests unitaires 52
      • Code de la fonction 53
      • Refactoring 53
      • Détecter une quinte55
      • Tests unitaires 55
      • Code de la fonction 56
      • Détecter une quinte flush57
      • Tests unitaires 57
      • Code de la fonction 57
      • Détecter une quinte flush royale58
      • Comparer deux mains58
      • Conclusion59
      • Chapitre 3
      • Conception fonctionnelle61
      • Limites de la conception traditionnelle61
      • Rendre visible notre logique métier63
      • Conclusion64
      • Chapitre 4
      • Tests basés sur les propriétés (PBT)65
      • Pourquoi opter pour le PBT65
      • Limite des tests par l'exemple65
      • PBT66
      • Exemple simpliste avec VAVR Testing67
      • Autour du PBT69
      • PBT et monkey testing69
      • Autres frameworks de PBT69
      • PBT, fuzzing et Mutation Based Testing71
      • Détourner le PBT de son usage premier72
      • Problématique fréquente pendant les tests72
      • Vers une gestion des données de test avec le TDM73
      • Prendre le contrôle de l'aléatoire avec VAVR-Property Testing73
      • Utilisation concrète du générateur JQwik avec un exemple75
      • Conclusion79
      • Chapitre 5
      • Loom81
      • Rappels sur le modèle du temps partagé81
      • Gestion des processus légers81
      • Partage du temps processeur82
      • Un contre-exemple en Java83
      • Loom et les threads virtuels84
      • Des threads invisibles au niveau du système84
      • Les threads virtuels de Loom86
      • Création de threads virtuels 86
      • Threads virtuels et cycle de vie 87
      • Threads virtuels et threads plate-forme 88
      • Intérêt des threads virtuels 89
      • Pratiquer ces concepts89
      • Conclusion89
      • Chapitre 6
      • Microbenchmarking avec JMH91
      • Rappels et éléments structurants91
      • Sans objectif, pas de performance91
      • L'intuition est la plus mauvaise des conseillères92
      • Savoir comparer93
      • Microbenchmarking en Java94
      • Référentiel guidant le choix \94
      • Un premier microbenchmark94
      • JMH95
      • Cas concret95
      • Projet96
      • Premier benchmark avec JMH96
      • Profiling de code avec JMH99
      • Conclusion100
      • Défi101
      • Chapitre 7
      • Robustesse applicative103
      • Resilience4j103
      • Utilisation de la bibliothèque104
      • Canevas d'utilisation de la bibliothèque105
      • Mise en place du CircuitBreaker106
      • Mise en place du Retry107
      • Utiliser l'aléatoire dans vos tests109
      • Property Based Testing109
      • Fuzz testing110
      • Historique 110
      • Principe 111
      • Domaine d'utilisation 111
      • Conclusion112
      • Chapitre 8
      • Observabilité113
      • Outils de suivi113
      • Logs applicatifs113
      • Métriques114
      • Traces114
      • Gestion des logs applicatifs114
      • Logback - Concepts essentiels115
      • Maîtriser ses logs avec Logback119
      • Utiliser le bon niveau de logs 119
      • Utiliser un Appender asynchrone 119
      • Limiter le nombre de messages envoyés 120
      • Limiter la taille des messages envoyés 121
      • Gérer les données sensibles 121
      • Gestion des métriques122
      • Mise en ouvre élémentaire en Java125
      • Traces133
      • Conclusion134
      • Conclusion135
      • Index137

  • Origine de la notice:
    • BPI
  • Disponible - 681.225 MOL

    Niveau 3 - Informatique