Informatique

Développer avec Spark

Prix en inter

2190 €

Durée

21h - 3 jour.s

Objectifs

Cette formation vous permettra de maîtriser les concepts fondamentaux de Spark.

Pre-requis

Bonnes connaissances du langage Java ou du langage Python

Public visé

Développeurs – Architectes

Programme

Le langage Java est un langage de programmation informatique orienté objet créé par
James Gosling. Ce langage est largement
utilisé dans le développement d’applications
d’entreprise, de site web et d’applications
mobiles.

Module 1 : Introduction

  • Historique de Java
  • Java et le Web

Les Applets Java et les sites Web

  • Principes et caractéristiques de Java

L’indépendance par rapport à la plateforme

Un langage orienté objet, sûr, robuste et performant

  • Le développement Java

Cycle de conception d’une application Java

Les outils de développement du JDK (compilateur, interpréteur, débogueur)

La machine virtuelle Java

Structure d’un programme Java

 

Module 2 : Utilisation de l’IDE Eclipse

  • Présentation de la structure d’Eclipse

Les différentes fenêtres et leur utilité en phase de développement

  • Programmer avec Eclipse

Création et configuration des projets

Utilisation des assistants de création

Compiler et exécuter un programme

Utiliser le débogueur pour la mise au point des programmes

 

Module 3 : Les principes de base du langage

  • Les règles syntaxiques

Les instructions et les blocs

Les identificateurs

Utilisation des commentaires Javadoc pour la génération de la documentation

Les constantes littérales

Les expressions littérales binaires

Le formatage des expressions numériques

  • Les opérateurs et expressions
  • Les variables et les constantes
  • Les importations de classes et packages
  • Les importations statiques de constantes
  • Les types de données primitifs et les types wrappers

Entiers, réels, caractère et booléen

Autoboxing des types primitifs

  • Les chaînes de caractères et la classe String

Les principales méthodes de manipulation de chaînes de caractères

L’opérateur de concaténation et la classe StringBuffer

  • Création et utilisation de types de données énumérés : enum
  • La gestion des dates et du temps

L’API historique et les classes java.util.Date et java.util.Calendar

L’API Date (nouveauté Java SE 8)

Gestion des différences entre les dates

Méthodes de conversions de formats entre la nouvelle API et l’ancienne et vice-versa

  • Les tableaux

Création et manipulation de tableaux à une ou plusieurs dimensions

Utilisation des méthodes utilitaires de la classe Arrays

  • Les collections

Inconvénients des tableaux et avantages apportés par l’utilisation des collections

Les différents types de collections : les Set, les List, les Map

Création et manipulation de Vector et de Hashtable

Utilisation des méthodes utilitaires de la classe Collections

  • Les collections génériques

Le meilleur des tableaux et des collections

Utilisation des génériques pour typer les collections

Simplification de l’utilisation des Generics avec le « Diamond operator »

Utilisation des méthodes d’initialisation des collections (nouveauté Java SE 9)

  • Manipulation des collections avec les Streams (nouveauté Java SE 8)
  • Conversion de types de données primitifs
  • Les structures de contrôle

Conditionnelles (if, switch)

Itératives (for, for each, while, do)

L’utilisation de switch avec le type String

Les mots clés break, continue et return

  • Affichage sur la sortie standard avec System.out.println()
  • Affichage formaté sur la sortie standard avec la méthode printf()

 

Travaux pratiques : Calculer le jour de Noël en fonction d’une année

 

Module 4 : La programmation orientée objet en Java

  • Les principes de la programmation orientée objet

Modélisation et conception objet

  • Les concepts de programmation objet appliqués à Java

Les classes, les objets, les attributs et les méthodes

L’encapsulation

L’héritage

L’abstraction

Le polymorphisme

  • Relation entre les classes et les objets

 

Module 5 : Création et manipulation de classes et d’objets

  • Déclaration d’une classe
  • Création d’objets avec l’opérateur new et notion de référence
  • Déclaration des constructeurs et règles de mise en œuvre
  • Finalisation d’objet et le garbage collector
  • Déclaration et manipulation de membres (variables et méthodes) de classes (static) et d’instances
    • Les méthodes et le passage de paramètres par valeur ou référence
    • Bonnes pratiques pour la mise en œuvre des accesseurs
    • Mise en œuvre de l’héritage simple en Java
    • Le cas particulier des classes finales et méthodes finales
  • Simplification de la surcharge de méthodes par la réalisation de méthodes à arguments variables
    • Mise en œuvre de la redéfinition de méthodes
    • La classe Object et ses méthodes utilitaires
    • Utilisation des mots clés this, this() et super, super() et patterns de mises en œuvres
    • Tester le type d’un objet avec l’opérateur instanceof et pattern de mise en œuvre

Impact sur l’héritage

Cas d’utilisation des classes finales

  • Le cas particulier les classes abstraites

Impact sur l’héritage

Cas d’utilisation des classes abstraites

  • Effectuer des conversions d’objets
  • Les modificateurs d’accès et l’accès aux membres des classes
  • Mise en œuvre de la surcharge de méthodes

Cloner les objets avec la méthode clone() et l’interface Cloneable

Comparaison d’objet avec la méthode equals()

Obtenir une représentation d’un objet sous forme de chaîne de caractères avec la méthode toString()

La réflexion objet avec la méthode getClass()

 

Travaux pratiques : Réalisation progressive d’une application de gestion de comptes bancaires avec conception des classes : Compte, CompteEpargne, Client, Banque

 

Module 6 : Concepts avancés de programmation Java

  • Les classes abstraites et les interfaces

Points communs et divergences

Utilisation des interfaces Cloneable pour cloner des objets et Comparable pour trier des tableaux/collections d’objets

Création et utilisation de classes abstraites et d’interfaces et mise en œuvre du polymorphisme

Cas particulier des interfaces fonctionnelles (nouveauté Java SE 8)

Les interfaces de java.util.function

  • Les expressions Lambdas (nouveauté Java SE 8)

Principes et syntaxe

Application aux interfaces fonctionnelles de l’API standard

  • Création et utilisation de ses propres packages

Convention et règle de nommage

  • Principe de fonctionnement et traitement des erreurs avec les exceptions

Les classes Throwable, Error et Exception

Les méthodes communes issues de la classe Throwable : getMessage(), getCause(), …

Intercepter et gérer les exceptions avec les instructions try, catch, finally

Déclarer des méthodes comme étant susceptibles de lever les exceptions avec l’instruction throws

Déclencher des exceptions avec l’instruction throw

Le chaînage d’exceptions : bonnes pratiques et cas d’utilisations

Créer ses propres classes d’exception

Gestion automatique de la fermeture des ressources avec try-with-ressource

Multicatch et simplification de la gestion des exceptions

  • La méta-programmation par annotations

Déclaration, utilisation et syntaxe des annotations

Annotations standards : @Deprecated, @Overrides, @SuppressWarning, …

  • Les classes internes et anonymes

Cas d’utilisations et bonnes pratiques de mise en œuvre

  • Les modules (nouveauté Java SE 9)

Principes et avantages des modules

Organisation des projets en module

Syntaxe de déclaration et exportation de packages

La notion de « module path » et les changements en termes de déclaration de dépendances

L’impact sur le JDK : réorganisation

Travaux pratiques : Compléter la classe Banque avec des méthodes de recherche de compte en utilisant les streams et les expressions lambdas

Mise en œuvre de la gestion des erreurs dans la classe Compte et la classe Banque

Trier les comptes en banque selon différents critères

 

  • Formation présentielle ou distancielle dispensée par un formateur expérimenté. La formation alterne des exposés théoriques, des démonstrations et la mise en pratique au travers d'exercices et de cas concrets.
  • Evaluation des acquis tout au long de la formation à travers des Tps, des Quizz ;
    Evaluation de satisfaction de fin de formation ;
    Attestation de fin de formation précisant les modules acquis et en cours d’acquisition ;
    Support de cours remis en fin de session.

  • Vous pouvez vous inscrire pour suivre une de nos formations jusqu'à la veille de la date de démarrage si la formation est financée directement par votre entreprise ET si le nombre maximum de participants n'est pas atteint. Si la formation est financée via un OPCO, vous devez au préalable avoir obtenu un accord de ce dernier.

« Nécessaire » indique les champs nécessaires

Votre demandeNécessaire
Format
Ce champ n’est utilisé qu’à des fins de validation et devrait rester inchangé.