2. 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
3. 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
4. Thématiques
Le rechargement à chaud
Expressions régulières
Console et ligne de commande
Décompilateur
Presse papiers
Client REST
Client SSH
5. 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)
6. 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)
7. 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)
8. 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)
9. 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)
10. Outils en ligne
http://regexr.com/
https://regex101.com/
Ecriture et tests de regex
11. 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)
12. Console Emulator Cmder
Console portable et Open Source
Une console digne de ce nom (2/2)
14. Plugin EasyShell pour Eclipse
Lancement à partir d’une ressource du workspace :
Ligne de commande
Console Windows ou JTB
15. 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
16. Extension du presse-papiers Windows
Open Source
Léger
Fonctionnalités
Historique
Raccourcis clavier
Recherche
Vignette des images
Unicode / UTF-8
Ditto Clipboard Manager
19. 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
20. 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
21. 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