Quick Tips -- Maven S01E02

class: center, middle S01E03 - Maven Multi-module Maven - Saison 1 S01E1 : Le coeur de Maven S01E2 : Les plugins, les dépendances, les repositories S01E3 : Multi-module S01E4 : Describe Once, Build Everywhere S01E5 : Packaging POM Parent Un projet Maven multi-module gère un groupe de sous-modules. Dans la majorité des cas, le pom “parent” est à la racine du projet. Son packaging est de type pom.

Read more

Share Comments

Quick Tips -- Maven S01E01

class: center, middle S01E01 - Introduction à Maven Comprendre Maven Maven - Saison 1 S01E1 : Le coeur de Maven S01E2 : Les plugins, les dépendances, les repositories S01E3 : Multi-module S01E4 : Describe Once, Build Everywhere S01E5 : Packaging Une brève histoire Les outils .focus[Make (1976), ant (2000)] Make très orienté “langage C”. Ant (2000), scripts procédural en XML (complexe), pas de gestion native de dépendance (nécessite Apache Ivy)

Read more

Share Comments

Quick Tips -- Maven S01E02

class: center, middle S01E02 - Maven Les plugins, les dépendances, les repositories Maven - Saison 1 S01E1 : Le coeur de Maven S01E2 : Les plugins, les dépendances, les repositories S01E3 : Multi-module S01E4 : Describe Once, Build Everywhere S01E5 : Packaging Les plugins du cycle de vie par défaut Pour rappel, le lifecyle build par défaut associe des plugins aux différentes phases. Par exemple, pour un packaging de type jar

Read more

Share Comments

Quick Tips -- Logging

class: center, middle logger.info(“Be a better logger”); Bien utiliser la journalisation Java La journalisation A quoi ça sert ? Obtenir des informations sur l’exécution de l’application. Enregistrer les circonstances inhabituelles ou erreurs qui pourraient survenir. Auditer l’application – Différents acteurs, différents besoins Une application est développée, testée et exploitée. Par des acteurs différents. Les journaux doivent prendre en compte les besoins de chacun. Les différent niveaux, de DEBUG à ERROR, doivent cibler ces besoins différents.

Read more

Share Comments

Quick Tips -- NullPointerException

class: center, middle NullPointerException La chasse aux NullPointerExceptions NullPointerException I call it my billion-dollar mistake. It was the invention of the null reference in 1965… This has led to innumerable errors, vulnerabilities, and system crashes, which have probably caused a billion dollars of pain and damage in the last forty years. Sir Charles Antony Richard Hoare, inventor of the Null Reference Deux règles seulement Les autres, c’est l’enfer

Read more

Share Comments

Quick Tips -- Refactoring

class: center, middle Refactoring Ou comment éviter le copier/coller (et faciliter la maintenance) T’es sûr, c’est mal copier/coller ? .focus[Rapide], sûr (ca marche déjà) Quand utiliser le copier/coller ? .focus[Forking] .focus[Templating] .focus[Tests, exploration] – .see-also[ Pour approfondir : Is Copy and Paste Programming Really a Problem?] Mais Fais quelque chose si on est on est un jour ouvré : public void doSomeThingAt(LocalDate when) { if (isBusinessDay(when)) { // .

Read more

Share Comments

Quick Tips -- Spring Batch Unit Testing

class: center, middle Spring Batch Unit Testing Tester les applications basées sur Spring Batch Le batch Basé sur le guide Creating a Batch Service. @Bean public Step step1(JdbcBatchItemWriter<Person> writer) { return stepBuilderFactory.get("step1") .<Person, Person> chunk(10) .reader(reader()) .processor(processor()) .writer(writer) .build(); } Et quelques “vrais” exemples. Nos outils La batch est testé avec : JUnit, Mockito, AssertJ Le JUnit runner .focus[SpringJUnit4ClassRunner] .focus-high[spring-batch-test] .note[ La documentation en ligne : Spring Batch Unit Testing ]

Read more

Share Comments