Un outil permettant d'exécuter un test de charge sans trop d'effort, en décrivant les tests à poursuivre via une syntaxe proche de JUnit et qui fourni de super graphiques en plus !
J'aime beaucoup ! Je pense à toi @Animal pour que transmette ça à Sigmund :-)
Via ChezSoi
Je vous invite à lire ce post visant à expliquer comment programmer en orienté objet une partie de tennis...
Eh bien sachez que rien de ce qu'à écrit le monsieur n'est orienté objet ! Quasiment tout le code est procédurale et impératif, ses objets (Joueur, Partie, etc) sont en réalité des structures de données comme en C dans lesquelles n'importe quelle valeur peut être modifiée depuis une classe extérieure via un setter.
Je rappelle que le concept fon-da-men-tale de la POO c'est l'encapsulation. Si vous n'encapsulez rien, alors vous faites du procédural et vous vous échinez à mettre en place des getters et des setters certainement pour avoir bonne conscience bien qu'en réalité, un attribut public fasse la même chose.
Pour information :
- Les pays en haut du graphique ont un système par répartition.
- Les pays en bas du graphique utilisent un système par capitalisation et à points.
J'ai envie de dire que pour un coût identique il faut choisir ton camp camarade !
Wouah !!! Ce poste du Gorafi résume tellement bien le principe de négociation de la réforme des retraites.
Je cite :
De son côté la CDFT s’est félicitée du retrait de l’homicide, soulignant que rien ne s’oppose désormais à l’arrachage des dents sans anesthésie qui avait été proposé. #Retraites
Je rappelle qu'il ne faut pas supprimer que l'âge pivot (qui est un leurre), mais aussi la retraite par points qui reviendrait à supprimer totalement la répartition.
Merci à Neko pour le lien.
On est dimanche, il est 22h... Ce soir c'est non mais demain je le ferai et je forcerai ma moitié à le faire aussi !
J'en profite pour demander à @Doudou, @Animal & tous les autres de le faire aussi. J'ai déjà vu avec @Kysofer et non seulement il ne vous demandera pas de rembourser les 50% à l'entreprise mais il va mettre la main à la poche également.
Rien que notre petit groupe peut reverser dans les 800€ à lui seul à la caisse des grévistes et ce sans débourser un sou. Il faut le faire !
Et au vu de nos niveaux de vie respectifs, nous pourrions doubler cette somme sans problème avec des dons personnels. Je vous harcèlerai avec ça dès demain, c'est vraiment important.
Lisez cet article si vous le pouvez.
En voici un résumé des idées que je partage totalement tant sur leur fond que sur leur forme :
-
Travailler moins longtemps c'est travailler moins tout court. En ce sens, augmenter le nombre d'annuités revient strictement au même que revenir à la semaine de 44 heures. Qui souhaite ça ?
-
Augmenter l'âge de départ à la retraite revient à augmenter le nombre d'actifs dans un pays déjà saturé et dont la conséquence est déjà ~9 millions de chômeurs toutes catégories confondues (en général les TF1 like ne parlent que de la première catégorie autour des 3,5 millions). Qui souhaite augmenter le chômage dans le pays ?
-
Inciter les plus riches à ne plus cotiser dans le système par répartition (avec la réforme cotiser au-dessus de 10K€ / mois ne sera plus comptabilisé pour votre retraite) implique que ce dernier sera déficitaire et donc incapable de subvenir au besoin, imposant de facto la retraite par capitalisation. Qui souhaite que sa retraite soit jouée sur les marchés financiers avec toutes les incertitudes que cela comprends ?
Sebsauvage donne une tripotée de liens que chacun est libre d'approuver ou non.
Pour ma part, le concept disant qu'une société commerciale, constituée de plus de vautours que de développeurs, dont le business modèle repose sur la violation totale de la vie privée, l'exploitation du travail des autres et l'évasion fiscale, qu'une telle société se permette de fermer les comptes AdSense des personnes à qui elle devait trop d'argent... comme par hasard juste avant les dates de paiement... Comment vous dire...?
Cela n'est pas surprenant du tout !
Google veut du bien à Google et exploite ce qu'elle peut, quand elle le peut, au détriment de tout le reste. Si vous souhaitez la contraindre à l'éthique alors abandonnez ses outils, sinon sachez que vous faites vous aussi partie du problème alors s'il vous plaît cessez de vous offusquer.
Bon, je suis en plein débat avec @Philou et @CCous pour savoir si oui ou non il faut commiter les changements de version de la balise <version> de nos pom.xml.
En quoi y a-t-il débat ?
C'est assez simple, je suis partisane du fait qu'il soit nécessaire de commiter le numéro de version des pom.xml et de tagger le commit qui contient cet incrément. Je ne crois pas qu'il faille le faire pour tout, mais la chose est indispensable a minima pour les libs.
Mon argument est que Maven doit être indépendant du gestionnaire de version qui dans l'histoire a changé de nombreuses fois. Pour info, j'ai eu la "chance" de coder sur un projet qui est passé dans cet ordre de Synergy à SVN puis à Git en moins de deux ans ! #TropBien
Bref, le script pour la conf de build sont des sources et il est normal de les tagger avec le code d'autant qu'il s'agit du comportement de base de l'outil.
L'argument que m'oppose @Philou (en dehors du el famoso c'est le progrès faut faire avec son temps), c'est qu'une release consomme énormément de temps de build au niveau des serveurs d'intégration continue, d'autant plus qu'une release exécutée avec le maven-release-plugin impose de rebuilder deux fois la même chose.
Et mon problème c'est que je suis à la fois d'accord avec @Philou mais je suis aussi d'accord avec moi-même ! #SaletéDeSchizophrénie
Donc j'ai décidé de creuser la question afin d'avoir le meilleur des deux mondes qui consisterait :
- À préserver un numéro de version unique, commun à tous les outils et parfaitement tenu à jour.
- À ne pas augmenter inutilement la charge des serveurs d'intégration continue qui sont souvent à la limite de la rupture. (Pour info, les jobs de build de @Philou durent plus de 6h... Juste un job oui... Donc l'argument du "faut pas rebuilder" est indiscutable)
Solutions possibles
La solution de @Philou et @CCous consiste à ne plus toucher aux versions des POM, mais qu'au moment de la publication dans Nexus ou Artifactory, le haché du commit soit récupéré ainsi que la date du jour et le nom de la branche pour construire un numéro de version unique à base d'une grosse concaténation afin d'estampiller ce dernier dans le répo d’artefacts.
J'oppose à cette bidouille une toute autre bidouille : lors de la release on incrémente le numéro de version mais on ne rebuild pas le code, à ce moment on se contente de récupérer le jar du commit précédent pour le republier sous un nouveau nom. De cette façon le numéro de version de Maven est bien incrémenté et les temps de build du CI restent courts y compris pendant la release (j'en ai déjà parlé avec @Kysofer et il va peut-être nous pondre un plugin Maven).
NDR : soyons clairs, tout cela relève de la grande bidouille mais quand il faut y aller il faut y aller.
En quoi consiste le lien ?
Simplement pour notifier tout le monde que nous ne sommes pas les seuls faisant face à cette problématique et que depuis Maven 3.5.0 trois properties ont été ajoutées afin de faciliter le travail :
- ${revision}
- ${sha1}
- ${changelist}
Ce qui va nous intéresser c'est la property ${revision}, en effet un POM et son enfant ressembleront à ceci mais en contrepartie il faut alimenter le numéro de version dans la ligne de commande en écrivant :
mvn -Drevision=1.0.0-SNAPSHOT clean install
De cette façon, un pom.xml ayant le bon numéro de version sera bien généré par Maven, en parallèle le numéro de version ne requiert plus une procédure de commit redondante qui rallongerait les temps de build, le numéro de version peut devenir dynamique et injectable via le C ; et puisque l'on s'inscrit dans ce que propose Maven alors si un développeur voit ${revision}, il saura que le numéro de version est dorénavant injecté au build et donc qu'on ne tord plus le coup à l'outil pour produire des révisions fictives dans un référentiel de binaires au détriment de la cohérence.
Je dirais que la contrepartie c'est de systématiquement publier le jar des sources avec le jar exécutable afin de préserver la corrélation entre version des sources et version du pom.
Je conclurais en affirmant que les problématiques de build sont pénibles et s'apparentent à de la botanique ! (c) @Chlouchloutte
J'avais entendu cela il y a quelques temps, que l'UE souhaitait que le terrain n'appartiennent plus à ses propriétaires mais qu'il soit nationalisé et loué à ces mêmes propriétaires. Ce faisant, le bail pourrait s'arrêter aussitôt qu'un propriétaire est trop pauvre pour payer la mise en conformité avec les nouvelles normes environnementales (imaginez l'arnaque si les changements climatiques étaient bel et bien dus à l'activité solaire et non au CO2).
De facto, seuls les plus riches rafleraient toutes les propriétés foncières de France, car ils seraient alors les seuls à être en mesure de payer les travaux de mise en conformité régulièrement.
Certes sur le coup, cela donne l'impression d'une perte nette pour ces grands propriétaires terriens, mais en réalité les petits propriétaires perdant leur droit de bail sur le terrain, ils n'auront d'autre choix que de partir et donc de laisser la place pour pas cher à ces mêmes grands propriétaires terriens qui détiendront alors un monopole du parc locatif ou les 1% seront propriétaires et les autres des locataires à jamais.
Mais quand on vous dit que l'UE nous veut du bien et que les lobbies les complots ça n'existe pas...
Edit : le lien vers la directive européenne qui impose cela.
Pour @Lenny, une liste des frameworks Java / Kotlin permettant de générer des PDF.
Dont celui-ci qui propose quelques exemples assez simples pour bien commencer.
La novlangue genderfluid est merveilleuse (sarcasme) car elle permet de faire du buzz avec un fait simple et banal.
Ici un homme qui se travesti en femme a eu un bébé avec un femme qui se travestie en homme via PMA.
Bref un homme et une femme ont eu un bébé. Voilà
Bon, je vais rebondir sur ce repost de HowTommy (et d'une manière générale à ses écrits ainsi qu'à ceux de Neko) parce que les deux sont victimes du même problème...
Je cite :
Je lis bcp de bêtises sur le monteur de Squeezie, alors on va faire simple : être d’extrême droite ce n’est pas "juste une opinion politique", c’est adhérer à un projet global, fondamentalement raciste, à tendance génocidaire, qui place une hiérarchie entre les êtres humains.
Donc non, dans l’absolu, on va pas lâcher la grappe à quelqu’un parce qu’il « exprime juste ses opinions politiques », vu que ce que tu appelles opinion a une conséquence réelle et morbide sur le monde réel dans lequel nous vivons mais t’es clairement pas concerné.e.
On est en 2020 wesh on devrait même pas en discuter encore, ça devrait être la base de la base.
L'arnaque de l'échiquier politique
D'une commune mesure, les media représentent l'échiquier politique sur une dimension comme ceci :
Le bien Ceukonpakompri Le Mâââl
|---------------------------------|---------------------------------|
Là se trouve les Là se trouve
"intellectuels tous les connards
de gauche" et racistes de droite
Mais n'y a-t-il que moi que ça choque ? Typiquement, on peut être pour les frontières et contre l'immigration afin de protéger le prolétariat du casse du droit du travail issu d'une main d’œuvre abondante, désespérée et pas chère (tenaillant ainsi les bas salaires) et ainsi lutter contre l'accumulation sans limite des richesses par l'actionnariat qui n'a aucun autre talent que celui d'avoir hériter son argent.
D'ailleurs, c'est un petit peu la thèse de ce raciste célèbre qui s'appelle Karl Marx dans son ouvrage "Le Capital".
Cette représentation gauche-droite absurde qui aplanit 99,999...% de la réalité n'existe que pour une seule raison : elle est particulièrement clivante. Soit tu es de mon côté, soit tu es de leur côté... Vous la sentez venir la représentation de merde ?
L'échiquier politique est en réalité multi-dimensionnel
Séparer des idées qui n'ont rien à voir en "une partie à gauche" et "l'autre partie à droite" - comme si elles pouvaient s’agréger naturellement parce qu'il existerait un camp du bien constitué de gens "qui ont compris" - est une vision enfantine et très Hollywoodienne du monde où il existe en "zentils" et les "mézants"...
Par exemple une personne lambda peut, sans qu'il n'y ait la moindre contradiction :
- Lutter contre le racisme car elle considère que l'idée que la couleur de peau conditionne tout chez un individu est infondée, stupide et nocive.
- Être croyante car elle a été élevée comme ça.
- Être contre les sectes car elles manipulent les gens pour leur profit (ndr. la religion ce n'est pas l'église).
- Être pour une sortie de l'UE car elle veut protéger les ouvriers de son pays du dumping social.
- Être contre la GPA (Grossesse Pour Autrui) car elle ne veut pas monnayer le corps des femmes pauvres et ses croyances vont contre.
- Être pour plus de sécurité dans son pays car elle a peur de la violence et de la délinquance.
- Être pour un contrôle strict et répressif des forces de police pour éviter une montée du totalitarisme.
- Être pour le nucléaire à court et moyen termes car c'est ce qui pollue le moins à cette heure.
- Être en faveur des énergies renouvelables d'une manière générale car c'est le moins risqué en cas de cataclysme.
- Être pour la cotisation sociale car cela finance des services publics
- Être contre les impôts car ils finances les banques.
- ...
Vous m'avez comprise, tous ces éléments ne sont pas contradictoires entre-eux, ils sont complémentaires et ne peuvent se représenter que dans un espace multidimensionnel car ils sont orthogonaux entre-eux. Mais du coup où se trouve ce personnage ? Dans quel camp le mettriez-vous avec la représentation classique ?
La réponse est nulpart, car le clivage gauche-droite ne permet pas de positionner un tel individu et c'est bien le but de cette dichotomie politique fictive. Une fois que l'on cesse de penser les individus comme des êtres complexes mais uniquement comme des éléments adhérents totalement à des agrégats forcés d'idées (aka les fachos, les gauchiasses, etc) alors il n'est plus possible de les penser comme des alliés potentiels dès qu'ils se trouvent dans un agrégat opposé.
Le pire, c'est qu'un tout petit critère arbitraire permet d'exclure n'importe qui, favorisant le "diviser pour mieux régner" au bénéfice des puissants qui jubilent de cette stupidité de masse. Et c'est ce qui est arrivé au monteur de Squeezie, pour un marque page, tiré d'un screenshot, pris à partir d'un zoom, fait depuis une vidéo de Squeezie et pointant vers une page du site E&R, ce monteur est devenu le mal incarné et Squeezie cautionne les fachos... #SophismeParAssimilation
En résumé
Je vais ressortir l'argument coup de poing des followers du compte Twitter parce qu'il s'applique bien ici aussi je trouve :

Cessez de penser dans le cadre que l'on vous impose et émancipez-vous, sans cela vous resterez des prolétaires toute votre vie car seuls pour vous défendre et combattre des gens plus puissants que vous et qui quant à eux mettent leurs différences de côté pour travailler en équipe à leur bénéfice commun.
Je cite l'article :
Seulement voilà, les tweets mettant en cause l’agence n’ont pas été du goût de la Société générale. Au point que le directeur de l’agence finira par contacter la libraire pour convenir d'un rendez-vous qui se révélera infructueux. "Trois semaines après, dans son bureau, l’actuel directeur, lors d’un entretien agressif et ubuesque, nous expliquait que la banque nous mettait dehors, à cause de ces tweets. Pas de raisons bancaires", se souvient Julie Goislard.
Depuis, elle a reçu plusieurs lettres recommandées l’informant de la fermeture de ses comptes personnels et professionnels sous 60 jours. Le compte de son compagnon et associé a subi le même sort. "Drôle de cadeau de Noël", écrit-elle sur Facebook.
Contactée par Le Parisien, la Société générale se refuse à tout commentaire, invoquant "la confidentialité" et le "secret bancaire". Elle indique cependant que "la banque peut fermer un compte bancaire à tout moment en respectant un préavis de 60 jours" sans qu'il soit nécessaire de "motiver sa décision".
Une raison de plus pour rester anonyme sur internet et sinon la Société Générale connaît-elle l'effet #Streisand ?
En résumé :
- Une attestation de dépôt de fonds (si nouvel actionnaire ou si l'apport ne se fait pas par incorporation du bénéfice) => seule la banque ou un notaire peut en délivrer une.
- Déclaration de filiation et de non-condamnation
- Photocopie d'une pièce d'identité en cours de validité pour chaque nouvel actionnaire
- Le formulaire M2 complété
- Le procès verbal (listant les articles modifiés des status juridiques)
- AGO si incorporation du bénéfice en fin d'année
- AGE si apport en numéraire via actionnaire (nouvel entrant ou existant)
- La liste des souscripteurs d'actions mise à jour
- Les statuts juridiques enregistrés aux impôts et mis à jour
- L'attestation de publication dans le JAL ou l'exemplaire du journal en question sinon
Voilà
En réalité Bash ne possède pas le concept de packages ou de namespaces mais il est possible de le reproduire à partir d'une convention de nommage (ce que propose ici Google).
Dans l'idée, il suffit de préfixer toutes les déclarations de fonctions par NOM_DU_PACKAGE:: et de faire la même chose pour les invocations. Par exemple avec un "Hello World!" :
# Définition
CORE::hello() {
echo "Hello ${1}!"
}
export -f CORE::hello
# Usage
CORE::hello "World"
Et ça marche. Par contre impossible de savoir si les double deux-points sont POSIX ou non.
Bon, je testerai dès la rentrée cette n-ième faille de sécurité de Windows ! lol
Un framework de mutation testing pour TypeScript et JavaScript.
Pour plus tard ! Merciii
.
Le chiffre est sûrement faux, mais le concept est bien réel !
En recherchant rapidement, selon cet article du Monde, 13 000 SDF sont morts dans les rues entre 2012 et 2016 (soit ~2600 / an en moyenne). Je rappelle que la France est un pays extrêmement riche, c'est même la 7-ème économie mondiale, mais où peut bien partir tout notre pognon ??? #EvasionFiscale
