appareil numérique (smartphone, tablette, ordinateur, etc.) en raison de l’indisponibilité ou du dysfonctionnement d’un logiciel. Obsolescence logicielle
compte des aspects écologiques dans la conception de produits ou de services numériques en réduisant leurs impacts environnementaux tout au long de leur cycle de vie.
nécessaires (choisir un format et une taille de champ adapté), limiter les envois d’emails (ciblez les destinataires, évitez les PJ) ** Logs, répertoires et fichiers temporaires, fichiers, images docker, données RGPD...
* Utilisez des caches, évitez des appels dans les boucles, circuit breaker... ** Evitez les select *, d’énormes paginations, utilisez des filtres, le max de traitements côté BD... Low impact transportation pattern back to back
d’appels à l’API et la quantité** d’informations récupérée. * Design first, limitez les notifications, cache HTTP (header) ou le Front-end web storage, attention au polling (préférez SSE ou websockets)... ** Nommez court, paginez, compressez, GraphQL...
* Architecture élastique ** Utilisez les versions Java et des librairies récentes, clean code, microbenchmarks, index BD, explain des query, pool de connexions... *** Traitement asynchrone, queue, batch Efficient energy pattern
sur de l’énergie verte Limiter les capacités de l’application pour une énergie polluante, débrider pour une énergie verte. Carbon aware pattern *Ex API: Electricity maps ou WattTime
= ""; for (String string : strings) { result += string; } return result; } public String concatenateStrings(String[] strings) { StringBuilder result = new StringBuilder(); for (String string : strings) { result.append(string); } return result.toString(); } Don't concatenate Strings in loop. Use StringBuilder instead. Strings are immutable so each time you concatenate a String, a new String is created. This is a waste of memory and CPU.
< getMyValue(); i++) { System.out.println(i); } } public voidfoo() { int myValue =getMyValue(); for (int i = 0; i < myValue; i++) { System.out.println(i); } } Do not call a function when declaring a for-type loop in order to avoid function calls each iterations. It saves CPU cycles.
la bonne Collection pour son besoin JDBC < Spring Data JPA native queries < JPQL* Switch plutôt que if/else Threads virtuels *Tests faits sur une base oracle