Pour tester ce genre de chose c’est tout de suite plus compliqué. Il va te falloir créer un niveau d’abstraction, avec une interface ou une classe non-finale, pour ne pas appeler directement ta dépendance.
Lors de tes tests, tu pourras contrôler ton abstraction et lui faire dire ce qui t’arrange dans ton cas métier.
Le grand classique, c’est une interface du genre UserRepository avec une méthode get(idUser). Tu veux tester le cas ou l’utilisateur n’existe pas et renvoyer une erreur. Tu peux utiliser un système mock qui au moment de get(monIdFoireux) retourne quelque chose qui représente l’absence. Pour ne pas dépendre d’une bibliothèque de mock, tu crées une classe FakeUserRepository qui implémente l’interface UserRepository et qui pour get(monIdFoireux) retourne un truc vide. Tu injecteras cette classe lors de l’exécution du test.
La grande difficulté des tests unitaires c’est de comprendre ce que représente une unité. Il ne faut pas voir l’unité comme forcément une fonction ou une méthode. L’idée est de tester un comportement. Selon les cas, une seule fonction sera suffisante pour le représenter mais bien souvent ça sera sera plusieurs fonctions ou un groupe d’objets.
La réponse n’est d’ailleurs pas connue d’avance et elle peut varier en fonction des habitudes de programmation ou des choix architecturaux.
J’ai un peu divagué et mon avis sur l’intérêt des tests unitaires :
c’est qu’ils évitent les régressions ;
ils documentent le code ;
ils permettent de se dire que si ça passe le code fera ce pourquoi il est prévu ;
il y a une diminution du stress car ils apportent de la confiance ;
ils permettent d’avoir un code plus expressif ;
ils évitent d’avoir du code totalement couplé dont la maintenance est un sacerdoce ;
ils permettent au développeur de devenir meilleur car il peut expérimenter sans risque de régressions, si ça ne passe pas git reset --hard et on passe à autre chose.
Plein d’avantages pour ma part et ceux cités ne sont pas dans un ordre particulier. Mais, et c’est un gros mais, il faut une grosse dose d’abnégation pour passer d’écrire les tests après, à écrire les tests en premier puis arriver à faire émerger le design du code en implémentant les tests.
Tu peux créer des issues, rajouter des étiquettes en fonction du back, du front, des scripts. Les affecter à des jalons et les passer en résolu quand c'est fait.
Il va falloir te renseigner au lieu de gober les poncifs des anti-nucléaires. Il n'y a pas eu de morts dû aux radiations à cause de l'accident de la centrale de Fukusima. Par contre il y en a eu plein à cause du tsunami, de l'évacuation des lieux dans la panique. À cela il faut rajouter la détresse morale des habitants, menant parfois au suicide, dû à la diabolisation, à tort, de tout les ce qui venait de la région.
Pour information, le Japon compte terminer les centrales nucléaire en chantier et démarrer la construction d'une nouvelle.
Des évolutions seront directement visible du développeur au niveau du langages et d'autres concernent la machinerie interne.
L'inspiration des autres langages, qui ne tourne pas forcément sur la JVM, est clairement assumée. Par rapport à Scala et Kotlin, la grosse différence, à partir du moment où Java implémente une fonctionnalité il y a aussi des modifications de la JVM pour que ça fonctionne bien mieux.
Petit à petit de nouvelles méthodes sont implémenter pour éviter de se trimballer des null afin de rendre le langage plus sûr.
J’imagine que ce n’est pas le cas des VAE classiques pour lesquels l’assistance s’arrête au-delà de 25 km/h. Je te laisse chercher ce qui rentre dans cette longue liste :
Véhicules motorisés à deux ou trois roues et quadricycles à moteur, les véhicules de catégorie L1e, L2e, L3e, L4e, L5e, L6e et L7e.
Dans l’article, pas de source, pas d’inventaire des éléments contaminant, pas de mesure de la concentration des ses éléments ni de comparaison avec les normes sanitaires.
Le grand flou pour faire du clic sur les émotions et répandre des informations non vérifiables.
C’est un complotiste bien affairé avec les Raoult, il travaille avec le fils et défend les conneries du père. Il est donc bon pour lui de parler de bigpharma et tutti quanti.
Mucchielli a pu écrire des choses intéressantes (si l’on en croit les récompenses) mais depuis le début de la pandémie vaut mieux le mettre au niveau des piliers de comptoir et ne pas donner de valeurs à ses propos.
En conservant les deux mains sur le clavier ce n’est pas problématique mais à une main ça nécessite d’écarter pas mal les doigts. En gros, sans réaffectation des raccourcis ça passe mais ce n’est pas la panacée.
Pour avoir un Typematrix depuis fort longtemps (acheté d’occasion via le forum) tout en continuant à régulièrement utiliser un clavier traditionnel. Je ne trouve pas que gain ergonomique de la disposition orthogonale soit faramineux.
Ce que préfère c’est la possibilité de régler le volume ou le couper avec les raccourcis clavier ainsi que l’absence de pavé numérique qui m’évite de décaler la souris trop à droite.
En php, la position du $ n’est pas du tout optimale (en haut à gauche). Donc c’est un peu pénible car c’est utilisé à chaque manipulation de variable.
Avec la nouvelle version de bépo, l’apostrophe droite n’est plus en accès direct (AltGr + ,) et c’est parfois pénible de déclarer une chaîne de caractère mais en contre partie il n’y a plus besoin de les échapper \o/
Quelques fois il m’arrive de taper des espaces insécables (maj + espace) qui ne sont pas forcément très visibles selon les IDE et propices à quelques bugs.
… les allemands continueront à émettre quotidiennement des milliers (millions ?) tonnes de CO2, dépenseront des sommes faramineuses dans leur réseau électrique pour transporter le courant vers le Sud du pays, construiront des centrales gaz pour pallier les nuits sans vent, paieront l’électricité fort cher, etc.
Comme dit un peu plus récemment, au lieu de lire le fichier ligne par ligne, il faut en charger une partie et faire les opérations sur ce morceau.
Fait des recherches data chunk python pandas. Pandas est une bibliothèque pour manipuler les données en python.
Cette migration a aussi été l’occasion de développer un bot pour la gestion des pull request. Il fait plein de choses : lancer les tests, ajouter des tags, etc. Je vous laisse regarder les commentaires sur les PR dont voici un exemple : https://github.com/openjdk/jdk/pull/393
Posté par Nonolapéro .
En réponse à la dépêche Java 15 est sorti.
Évalué à 4.
Dernière modification le 16 septembre 2020 à 10:32.
En gros Java à trois ans de retard sur Kotlin mais quand il fait les choses il le fait mieux. Ce message est tiré de cette vidéo : https://www.youtube.com/watch?v=te3OU9fxC8U
Il fait parler de lui car il touche beaucoup de monde et avance de manière assez visible mais globalement ça ne touche pas vraiment au cœur du langage. Le projet Loom est également très attendu et ne devrait plus trop tarder (au pif, moins de deux ans). Il apportera les thread légers manipulables par million en ne changeant que quelques petits trucs.
publicclassMain{publicstaticvoidmain(String[]args){varc=newAtomicLong();// Attention même pas certain que ça aille au boutfor(vari=0;i<1_000_000;i++){newThread(()->{c.incrementAndGet();}).start();}System.out.println(c.get());}}
Dans ce code il suffit de mettre à jour la boucle avec
# Par rapport à Docmosis
Posté par Nonolapéro . En réponse à la dépêche Des nouvelles de WeasyPrint, ou comment développer du libre à (presque) plein temps. Évalué à 3.
Dans ma boîte, il a été choisi Docmosis (on a une appli Java), c’est quoi les différences entre les deux produits ?
[^] # Re: merci
Posté par Nonolapéro . En réponse au message tests unitaires. Évalué à 2.
Pour tester ce genre de chose c’est tout de suite plus compliqué. Il va te falloir créer un niveau d’abstraction, avec une interface ou une classe non-finale, pour ne pas appeler directement ta dépendance.
Lors de tes tests, tu pourras contrôler ton abstraction et lui faire dire ce qui t’arrange dans ton cas métier.
Le grand classique, c’est une interface du genre UserRepository avec une méthode get(idUser). Tu veux tester le cas ou l’utilisateur n’existe pas et renvoyer une erreur. Tu peux utiliser un système mock qui au moment de get(monIdFoireux) retourne quelque chose qui représente l’absence. Pour ne pas dépendre d’une bibliothèque de mock, tu crées une classe FakeUserRepository qui implémente l’interface UserRepository et qui pour get(monIdFoireux) retourne un truc vide. Tu injecteras cette classe lors de l’exécution du test.
# Pourquoi des test unitaires
Posté par Nonolapéro . En réponse au message tests unitaires. Évalué à 7.
La grande difficulté des tests unitaires c’est de comprendre ce que représente une unité. Il ne faut pas voir l’unité comme forcément une fonction ou une méthode. L’idée est de tester un comportement. Selon les cas, une seule fonction sera suffisante pour le représenter mais bien souvent ça sera sera plusieurs fonctions ou un groupe d’objets.
La réponse n’est d’ailleurs pas connue d’avance et elle peut varier en fonction des habitudes de programmation ou des choix architecturaux.
J’ai un peu divagué et mon avis sur l’intérêt des tests unitaires :
git reset --hard
et on passe à autre chose.Plein d’avantages pour ma part et ceux cités ne sont pas dans un ordre particulier. Mais, et c’est un gros mais, il faut une grosse dose d’abnégation pour passer d’écrire les tests après, à écrire les tests en premier puis arriver à faire émerger le design du code en implémentant les tests.
# Liste issues de github ou gitlab
Posté par Nonolapéro . En réponse au message Project web: prise de notes, avancement etc . Évalué à 5.
Tu peux créer des issues, rajouter des étiquettes en fonction du back, du front, des scripts. Les affecter à des jalons et les passer en résolu quand c'est fait.
[^] # Re: 500 auxquels il faut rajouter les anti-nucléaires
Posté par Nonolapéro . En réponse au lien La COP26 infiltrée par plus de 500 lobbyistes du charbon, du gaz et du pétrole. Évalué à 1. Dernière modification le 12 novembre 2021 à 19:41.
Il va falloir te renseigner au lieu de gober les poncifs des anti-nucléaires. Il n'y a pas eu de morts dû aux radiations à cause de l'accident de la centrale de Fukusima. Par contre il y en a eu plein à cause du tsunami, de l'évacuation des lieux dans la panique. À cela il faut rajouter la détresse morale des habitants, menant parfois au suicide, dû à la diabolisation, à tort, de tout les ce qui venait de la région.
Pour information, le Japon compte terminer les centrales nucléaire en chantier et démarrer la construction d'une nouvelle.
# 500 auxquels il faut rajouter les anti-nucléaires
Posté par Nonolapéro . En réponse au lien La COP26 infiltrée par plus de 500 lobbyistes du charbon, du gaz et du pétrole. Évalué à 2. Dernière modification le 12 novembre 2021 à 13:26.
Anti-nucléaires qui ne peuvent pas se passer du gaz pour sortir du charbon et de la lignite.
[^] # Re: Java cours derrière Scala ?
Posté par Nonolapéro . En réponse au journal TapTempo en Java 17. Évalué à 6.
Actuellement, il y a plusieurs gros chantiers au niveau du langage :
Des évolutions seront directement visible du développeur au niveau du langages et d'autres concernent la machinerie interne.
L'inspiration des autres langages, qui ne tourne pas forcément sur la JVM, est clairement assumée. Par rapport à Scala et Kotlin, la grosse différence, à partir du moment où Java implémente une fonctionnalité il y a aussi des modifications de la JVM pour que ça fonctionne bien mieux.
Petit à petit de nouvelles méthodes sont implémenter pour éviter de se trimballer des
null
afin de rendre le langage plus sûr.[^] # Re: du nouveau ?
Posté par Nonolapéro . En réponse au lien inria : rassembler tous les codes sources du monde, software heritage. Évalué à 3.
Je ne sais pas s'il y a du nouveau. Par contre, j'ai croisé, mais pas écouté, un podcast récent sur le sujet : https://lescastcodeurs.com/2021/07/08/lcc-259-interview-software-heritage-avec-roberto-di-cosmo-et-charles-sabourdin/
[^] # Re: VAE
Posté par Nonolapéro . En réponse au lien Deux-roues : le contrôle technique sera obligatoire à partir de 2023. Évalué à 4.
J’imagine que ce n’est pas le cas des VAE classiques pour lesquels l’assistance s’arrête au-delà de 25 km/h. Je te laisse chercher ce qui rentre dans cette longue liste :
# Please open-it
Posté par Nonolapéro . En réponse au message Contrôle d'accès physique (genre vigik). Évalué à 2.
Une gestion des accès physique avec une raspberrypi et du OAuth2 qui a démarré sur du hack.
https://www.please-open.it/
Une vidéo de description du concept : https://www.youtube.com/watch?v=ZaKoAUs-SQk
# Le marronnier Tchernobyl est toujours là pour les marchands de peur
Posté par Nonolapéro . En réponse au lien Catastrophe de Tchernobyl : les "faiseurs de pluie" ont contaminé pour longtemps la Biélorussie. Évalué à 6.
Dans l’article, pas de source, pas d’inventaire des éléments contaminant, pas de mesure de la concentration des ses éléments ni de comparaison avec les normes sanitaires.
Le grand flou pour faire du clic sur les émotions et répandre des informations non vérifiables.
# Mucchielli n’est pas une bonne source d’information
Posté par Nonolapéro . En réponse au lien Comment l'industrie pharmaceutique s'enrichit sur le dos des Etats et de leurs citoyens. Évalué à 3.
C’est un complotiste bien affairé avec les Raoult, il travaille avec le fils et défend les conneries du père. Il est donc bon pour lui de parler de bigpharma et tutti quanti.
Mucchielli a pu écrire des choses intéressantes (si l’on en croit les récompenses) mais depuis le début de la pandémie vaut mieux le mettre au niveau des piliers de comptoir et ne pas donner de valeurs à ses propos.
Ici un long article sur Mucchielli https://allodoxia.odilefillod.fr/2020/04/26/je-ne-suis-pas-complotiste-mais-a-propos-de-laffaire-raoult/
# Dell xps 15
Posté par Nonolapéro . En réponse au message Choix PC portable. Évalué à 3.
Le dell xps 15 semble te convenir côté matériel, à voir côté budget.
Pour la distribution, regarde du côté https://neon.kde.org/
De mon côté j’ai un xps 15 avec kubuntu et tout roule.
[^] # Re: vscodium vs vscode
Posté par Nonolapéro . En réponse au message Environnement de développement pour C#. Évalué à 2.
Attention, les extensions disponibles pour VSCode ne le sont pas forcément pour Codium (ou Eclipse Che, GitPod, etc.).
# Alwaysdata le propose
Posté par Nonolapéro . En réponse au message liste de diffusion payante européenne (alternative à google groups). Évalué à 2.
https://blog.alwaysdata.com/fr/2018/12/11/restez-en-contact-les-listes-de-diffusion-sont-enfin-la/
[^] # Re: Programmation
Posté par Nonolapéro . En réponse au journal Ça y est!! Je suis passé au bépo…. Évalué à 4.
En conservant les deux mains sur le clavier ce n’est pas problématique mais à une main ça nécessite d’écarter pas mal les doigts. En gros, sans réaffectation des raccourcis ça passe mais ce n’est pas la panacée.
[^] # Re: Félicitation !
Posté par Nonolapéro . En réponse au journal Ça y est!! Je suis passé au bépo…. Évalué à 2.
Pour avoir un Typematrix depuis fort longtemps (acheté d’occasion via le forum) tout en continuant à régulièrement utiliser un clavier traditionnel. Je ne trouve pas que gain ergonomique de la disposition orthogonale soit faramineux.
Ce que préfère c’est la possibilité de régler le volume ou le couper avec les raccourcis clavier ainsi que l’absence de pavé numérique qui m’évite de décaler la souris trop à droite.
[^] # Re: Programmation
Posté par Nonolapéro . En réponse au journal Ça y est!! Je suis passé au bépo…. Évalué à 5.
En php, la position du $ n’est pas du tout optimale (en haut à gauche). Donc c’est un peu pénible car c’est utilisé à chaque manipulation de variable.
Avec la nouvelle version de bépo, l’apostrophe droite n’est plus en accès direct (AltGr + ,) et c’est parfois pénible de déclarer une chaîne de caractère mais en contre partie il n’y a plus besoin de les échapper \o/
Quelques fois il m’arrive de taper des espaces insécables (maj + espace) qui ne sont pas forcément très visibles selon les IDE et propices à quelques bugs.
# D’ici là…
Posté par Nonolapéro . En réponse au lien Allemagne - Power-to-X, concept qui vise à convertir l’excès d’électricité renouvelable en hydrogène. Évalué à 4.
… les allemands continueront à émettre quotidiennement des milliers (millions ?) tonnes de CO2, dépenseront des sommes faramineuses dans leur réseau électrique pour transporter le courant vers le Sud du pays, construiront des centrales gaz pour pallier les nuits sans vent, paieront l’électricité fort cher, etc.
C’est certain que ça fait envie.
[^] # Re: non
Posté par Nonolapéro . En réponse au message generateur et performances. Évalué à 4. Dernière modification le 27 octobre 2020 à 09:15.
Comme dit un peu plus récemment, au lieu de lire le fichier ligne par ligne, il faut en charger une partie et faire les opérations sur ce morceau.
Fait des recherches
data chunk python pandas
. Pandas est une bibliothèque pour manipuler les données en python.[^] # Re: ?
Posté par Nonolapéro . En réponse au lien Nucléaire - Le Japon va rejeter 1,23 million de tonnes d’eau contaminées de Fukushima dans l’océan. Évalué à -8. Dernière modification le 23 octobre 2020 à 16:09.
Aucun, l'auteur est juste là pour nous polluer ou nous servir la soupe des lobbys écologistes ou anti-nucléaires.
# Bot openjdk
Posté par Nonolapéro . En réponse au journal OpenJDK est désormais hébergé chez Github tout en se donnant les moyens de l'indépendance. Évalué à 4.
Cette migration a aussi été l’occasion de développer un bot pour la gestion des pull request. Il fait plein de choses : lancer les tests, ajouter des tags, etc. Je vous laisse regarder les commentaires sur les PR dont voici un exemple : https://github.com/openjdk/jdk/pull/393
[^] # Re: C'est quoi une diapo maîtresse?
Posté par Nonolapéro . En réponse au journal Un peu de pain pour finir mon fromage, un peu de fromage…. Évalué à 8.
Attention au risque de devenir un patron de conception.
[^] # Re: Java 15, le nouveau Kotlin ? (mais un peu en retard quand même)
Posté par Nonolapéro . En réponse à la dépêche Java 15 est sorti. Évalué à 4. Dernière modification le 16 septembre 2020 à 10:32.
En gros Java à trois ans de retard sur Kotlin mais quand il fait les choses il le fait mieux. Ce message est tiré de cette vidéo : https://www.youtube.com/watch?v=te3OU9fxC8U
[^] # Re: Immutables
Posté par Nonolapéro . En réponse à la dépêche Java 15 est sorti. Évalué à 3.
Il fait parler de lui car il touche beaucoup de monde et avance de manière assez visible mais globalement ça ne touche pas vraiment au cœur du langage. Le projet Loom est également très attendu et ne devrait plus trop tarder (au pif, moins de deux ans). Il apportera les thread légers manipulables par million en ne changeant que quelques petits trucs.
Dans ce code il suffit de mettre à jour la boucle avec