Objectifs Outils complémentaires aux IDE, frameworks …
Non essentiels pour développer
Différentes natures : plugin, fonctionnalité et logiciel
Des démos, des démos et encore des démos
Contexte Orientés développeur Java (mais pas que)
Postes de dévs prêts pour le développement Java Eclipse ou IntelliJ, JDK, Maven, navigateurs ….
Postes de développement sous Windows
Le développeur n’est pas toujours administrateur de son poste
Thématiques
Le rechargement à chaud Expressions régulières Console et ligne de commande Décompilateur Presse papiers Client REST Client SSH
Prendre le temps de configurer son IDE pour éviter des redémarrages serveur non nécessaires
2 catégories de fichier : Ressources statiques (JSP, JS, CSS …) : simple redéploiement Classes Java : mécanisme de Hot Swapping du JDK
Peut dépendre du serveur d’application et de l’IDE Exemple sous Jboss 5.1 EAP
Rechargement à chaud (1/5)
Mécanisme natif de Hot Swapping Limité au changement du corps d’une méthode Nécessite d’exécuter la JVM en mode debug
Rechargement à chaud (2/5)
JRebel Le must Outil commercial relativement onéreux Support plus de 90 frameworks : Spring, Struts, Hibernate
Fonctionnement Agent Java Instrumentation du classloader de la JVM Intégré aux IDE, génération de jrebel.xml pour le monitoring
Rechargement à chaud (3/5)
Spring Loaded Open Source Compatible Java 7 et 8 Utilisé par Grails et Spring Boot Intégré au framework Spring
Supporte le rechargement des règles de mapping Spring MVC
Fonctionne très bien avec une classe main
Difficulté à le configurer pour une web app (WAR ou EAR)
Rechargement à chaud (4/5)
HotSwap Agent Utilise un patch de la JVM (DCEVM) Open Source Compatible Java 7 et 8 Plugins pour Spring, Hibernate, Logback, JSF …
Guide d’installation complet pour Eclipse et IntelliJ
Le plugin Spring ne supporte pas (encore) la version 4.2
Rechargement à chaud (5/5)
Outils en ligne http://regexr.com/ https://regex101.com/
Ecriture et tests de regex
La console Windows n’a pas évolué depuis 20 ans Coloration syntaxique absente Copier / coller laborieux par le menu contextuel Multi-onglets non supporté Le redimensionnement de la fenêtre non dynamique Shell Linux non supporté Recherche non intégrée Pas de mode plein écran Pas de complétion contextuelle Perte de contexte entre 2 ouvertures de console
Une console digne de ce nom (1/2)
Plugin EasyShell pour Eclipse Lancement à partir d’une ressource du workspace :
Ligne de commande Console Windows ou JTB
Outil graphique léger permettant de décompiler du bytecode Java Java 1 à 7 Création d’un JAR sources à partir d’un JAR de classes
Décompilateur Java JD-GUI
Extension du presse-papiers Windows Open Source Léger
Fonctionnalités Historique Raccourcis clavier Recherche Vignette des images Unicode / UTF-8
Ditto Clipboard Manager
Putty Connection Manager Client SSH / Telnet
Multi-onglets Gestionnaire de connexions Login automatique Encryptage AES possible
Et tant d’autres outils Process Hacker : ProcessExplorer++, ports utilisés, fichiers verrouillés
… Rapid Environment Editor : outil d’édition des variables
d’environnement PngOptimizer : allège les fichiers PNG Chocolatey : le apt-get / homebrew du monde Windows Paint.NET : éditeur d’images plus facile à prendre en main que Gimp Launchy : lanceur d’applications
Conclusion Petits outils qui simplifient certaines tâches
Libre à vous de les essayer et de les adopter ou pas
Mise en garde : vous risquez de ne plus pouvoir vous en passer
Les Cast Codeurs Podcast - Il n’y a pas de mauvais outils
Comment essayer de coder comme un chef sous Windows
Spring Loaded comment gagner en productivité quand on développe en Java
Références