Non @Sebsauvage le jeu est libre (licence GPL) et ça ne veut pas forcément dire gratuit. Et comme l'explique bien la doc de la licence GPL elle-même : "free means free as in freedom not free as in free beer".
Sinon Red Hat ne pourrait pas vendre son OS ou l'accès à ses repos alors que tout est accessible ailleurs librement et gratuitement sur internet (en sachant que Red Hat ne développe qu'une infime partie de ce qu'ils vendent) 😑
Le mec qui publie O.A.D a repackagé le jeu pour Steam, qu'on le veuille ou non c'est un service comme un autre et ce service demande du temps, de l'argent et un certain savoir-faire. Et si ce type permet bien l'accès au code source (accès qu'il est en droit de faire payer le prix achat du jeu), alors tout est bon, il n'y a pas de problème 🤨
Le problème vient des devs qui se plaignent. Si vous ne supportez pas que les gens puissent être libres de faire ce qu'il veulent de votre travail, alors ne le publier pas sous une licence de logiciels libres. C'est juste carrément écrit dans le nom ! 🤷♀️
Ce que tu fais @Sebsauvage c'est de la morale, tu t'offusques qu'une personne s'est permise de faire exactement ce que le contrat qu'on lui a octroyé lui permettait de faire, et tu t'en offusques parce que ? Parce que pourquoi pas en fait... Damned 🤦♀️
Oh je suis tellement contente qu'Emmanuel Macron ait réduit le financement d'un nombre incalculable de services publics dans l'optique de réduire l'impôt et les taxes qui pesaient sur les épaules Bernard Arnault et de ses sociétés.
Regardez, en pleine explosion de la pauvreté dans le pays et avec une nation qui flirte depuis quatre ans avec une guerre civile, le tout dans un contexte économique en berne, nous avons la fierté collective de constater que notre Nanar national est passé seconde fortune mondiale devant Jeff Bezos WHOUHOU avec 137 MILLIARD DE DOLLARS \O/ \O/ \O/ C'EST TROP BIEN !!!
Avec cela, je devrais être en mesure de me débarrasser de tout ce qui touche à de l'introspection et donc me rapprocher de la compilation native :D (avec ce maudit Spring Boot que j'ai appris à détester avec le temps).
L'exemple donné
package com.zetcode.routes;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import org.springframework.web.reactive.function.server.RouterFunction;
import org.springframework.web.reactive.function.server.ServerResponse;
import static org.springframework.web.reactive.function.BodyInserters.fromValue;
import static org.springframework.web.reactive.function.server.RequestPredicates.GET;
import static org.springframework.web.reactive.function.server.RouterFunctions.route;
import static org.springframework.web.reactive.function.server.ServerResponse.ok;
@Configuration
public class MyRoutes {
@Bean
RouterFunction<ServerResponse> home() {
return route(GET("/"), request -> ok().body(fromValue("Home page")));
}
@Bean
RouterFunction<ServerResponse> about() {
return route(GET("/about"), request -> ok().body(fromValue("About page")));
}
}
J'avais vu l'info l'an passé et comme depuis l'arrivée de ma petite dernière je ne contribuais à plus rien je ne m'étais pas mise à jour. En substance, le push via mot de passe ne fonctionne plus sur github.com. Il faut générer un token et s'en servir à la place.
Le lien décrit la manipulation à suivre.
Edit
En complément il y a ce projet sur lequel jcefmaven est basé.
Problème
- J'ai besoin de développer un client lourd.
- Je préfère mourir que de me remettre à Swing ou d'utiliser JFX (dont la réputation d'API instable avait fait le tour du web il y a quelques années).
Solution
Cette dépendance Maven qui intègre un moteur de rendu WebKit :
<dependency>
<groupId>me.friwi</groupId>
<artifactId>jcefmaven</artifactId>
<version>105.3.36</version>
</dependency>
Avec le tuto pour Java
//Create a new CefAppBuilder instance
CefAppBuilder builder = new CefAppBuilder();
//Configure the builder instance
builder.setInstallDir(new File("jcef-bundle")); //Default
builder.setProgressHandler(new ConsoleProgressHandler()); //Default
builder.addJcefArgs("--disable-gpu"); //Just an example
builder.getCefSettings().windowless_rendering_enabled = true; //Default - select OSR mode
//Set an app handler. Do not use CefApp.addAppHandler(...), it will break your code on MacOSX!
builder.setAppHandler(new MavenCefAppHandlerAdapter(){...});
//Build a CefApp instance using the configuration above
CefApp app = builder.build();
Contexte
- J'utilise un Dark Mode Custom (pour ma Mint, mon WaterFox et mon IDE).
- Mes Darks Modes sont tous hyper flashy avec du texte dans toutes les couleurs.
- Le Dark Mode de GitHub (pour ne prendre que celui-là en exemple) est un dégradé de gris sans nuance qui est hyper difficile à utiliser/lire #ErgonomieSur20
Solution
- Empêcher de mouchard de Firefox de dévoiler à la terre entière que je suis en Dark Mode.
- Si j'ai besoin d'un Dark Mode, alors j'active l'extension Dark Reader ou mieux Dark Background Light Text (que j'ai customisée en mode Dark + Textes Colorés/Flashy).
Comment faire
- Aller dans about:config.
- Recherchez la propriété layout.css.prefers-color-scheme.content-override.
- Passez sa valeur de 3 à 2 (en tout franchise je l'ai décrémentée et ça a marché du premier coup donc à voir chez vous).
Facile de répondre au besoin du comment avec du code. Je te rejoins sur le pourquoi et pour ce faire :
1) Relire Clean Code de Robert C. Martin.
2) Relire Object Thinking de David West.
3) Coder en FOP (function-object-programming).
4) N'avoir besoin de documenter que les interfaces afin de répondre au pourquoi.
5) Enjoy.
@Animal je te disais ce week-end que j'avais lu sur Reddit il y a quelques semaines que des traders expliquaient qu'ils anticipaient une hausse des prix du gaz d'environ x16... On est y ! Et là on parle aussi d'un x32 pour l’électricité !
Appel à faire tourner et mobilisation à mettre en oeuvre. Nos communes ne vont pas tenir face à l'oligarchie prédatrice qui se sert du conflit actuel comme d'une opération psychologique pour faire accepter l’inacceptable.
Résumé
IntelliJ instrumente du code juste pour lui lorsqu'il exécute des TU.
Ce faisant, l'annotation @NotNull
apposée sur un paramètre produit un NullPointerException
lorsque c'est Java ou Maven (via Surefire lors des TU) qui exécute la fonction en lui passant un null
mais elle produit un IllegalArgumentException
lorsque c'est IntelliJ qui exécute la même fonction avec le même null
passé en paramètre.
Solution
Désactiver le paramètre "Add runtime assertions for not-null-annotated methods and parameters" dans le menu Setting > Build > Compiler
Je suis tombée sur cet article d'analyse (et d'anticipation) très conspi qui parle du Great Reset et d'un tas d'autres choses qui y sont liées ou en découlent. Une lecture tip-top pour les trajets en rentrant du boulot.
@Animal c'est pour toi, fais toi plaisir :P
Voici le résumé :
- all to suppress all warnings
- boxing to suppress warnings relative to boxing/unboxing operations
- cast to suppress warnings relative to cast operations
- dep-ann to suppress warnings relative to deprecated annotation
- deprecation to suppress warnings relative to deprecation
- fallthrough to suppress warnings relative to missing breaks in switch statements
- finally to suppress warnings relative to finally block that don’t return
- hiding to suppress warnings relative to locals that hide variable
- incomplete-switch to suppress warnings relative to missing entries in a switch statement (enum case)
- nls to suppress warnings relative to non-nls string literals
- null to suppress warnings relative to null analysis
- rawtypes to suppress warnings relative to un-specific types when using generics on class params
- restriction to suppress warnings relative to usage of discouraged or forbidden references
- serial to suppress warnings relative to missing serialVersionUID field for a serializable class
- static-access to suppress warnings relative to incorrect static access
- synthetic-access to suppress warnings relative to unoptimized access from inner classes
- unchecked to suppress warnings relative to unchecked operations
- unqualified-field-access to suppress warnings relative to field access unqualified
- unused to suppress warnings relative to unused code
- varargs to suppress warnings about unsafe usages of variable arguments (varargs) methods, in particular, those that contain non-reifiable arguments.
Globalement la réforme est une bonne chose sauf sur un point qui pèse lourd à mes yeux.
Associons cette phrase :
Les Cubains ont approuvé à plus de 66% par référendum un nouveau Code de la famille qui légalise [...] la gestation pour autrui [...].
A celle-ci :
Il y a plus d'un an, en juillet 2021, des manifestations historiques aux cris de "Nous avons faim" et "Liberté" ont également secoué l'île.
En un an, la situation des Cubains n'a pas changé en terme de famine et de pauvreté. Que se passera-t-il donc à votre avis pour toutes ces femmes à qui la GPA s'adresse ?
Est-ce les femmes les plus aisées qui vont vendre leur ventre, réduire leur espérance de vie, augmenter le nombre de séquelles d'une grossesse (ie. varices, hémorroïdes, incontinence, rééducation complète des abdominaux, des dorsos et du périnée, etc) puis se taper post-partum sur post-partum pour quelques deniers ?
Je vois en la GPA une mesure de plus commanditée par des bourgeois (hommes et femmes) ainsi que des homos et des trans (tout aussi bourgeois a priori), leur permettant de soumettre d'avantage les plus faibles parmi nous et d'acheter nos corps pour leur bon plaisir.
Ces gens s'imaginent que la grossesse est une joie et que de toute façon, les souffrances physiques ou psychologiques qui en découlent peuvent se compenser avec des billets.
Mais heureusement, la misère ambiante va favoriser "naturellement" ce marché dont les premiers clients seront assurément des étrangers asiatiques, européens ou américain, mais certainement pas cubains...
En somme, une mesure pensée par et pour le bonheur d'odieux connards qui n'en ont rien à foutre de nous.
La GPA n'est pas du tout un progrès. D'une manière générale changement ne veut pas dire progrès, c'est de la novlangue ça. Et quoi qu'il arrive, la commercialisation de nos organes internes n'est pas une avancée, c'est une régression des plus abjectes.
Encore et toujours ce sont nous qui trinquons et c'est la raison pour laquelle je suis certaine à présent que le féminisme intersectionnel a pour but de tuer le (vrai) féminisme. Tout se fait au profit des hommes qu'ils soient de ceux qui s'assument ou de ceux qui prétendent être des femmes.
Nous débattions ce matin de la pertinence d'un modèle RESTful théorique dans le monde réel.
Je fais partie de ceux qui pensent qu'il n'est pas adapté et qu'il vaut mieux un modèle hybride REST/SOA (kysofer m'a convaincu à force). Dans tous les cas voici un ancien cours d'OCTO qui parle du sujet.
Au dernier trimestre 2022, voici les versions stables des navigateurs que j'utilise pour mes tests Cucumber/Selenium chez mes clients sous Windows :
-
Firefox ESR en version 102.3.0 et le GeckoDriver en version 0.31.0 pour win64.
-
Ungoogled Chromium en version 105.0.5195.127-1 et le ChromeDriver en version 105.0.5195.52 pour win32.
Parfait pour Kotlin et Java.
Attention à ce genre de chiffres qui ne regardent que d'un côté.
Les hommes sont majoritaires voire représentent l'intégralité de la population dans les métiers dangereux et sous-payés. Ils sont aussi majoritaires dans les prisons, dans la déscolarisation, ils représentent la plus grande par des suicides, des clochards, et la liste est longue, tristement...
C'est sûrement le patriarcat ou une forme d'oppression systémique des mascus-fachos (j'arrête le troll ici).
@Seb tu généralises le petit substrat d'hommes ayant hyper-réussi et le généralise à la foule de ceux qui n'ont presque rien.
Quel est le pourcentage de femmes éboueurs , de femmes saigneurs dans les abatoires, de femmes égoutiers ? Si nous ne sommes pas au zéro alors nous l'approchons pour ces métiers difficiles.
Pourquoi nous ne réclamons pas de quotas dans ces métiers mais seulement dans les metiers à forte rémunération ou à grande part de pouvoir ?
Le verre est toujours à moitié vide dans l'oeil de celui qui à soif. Et de ce point de vue, beaucoup de femmes sont devenues insatiables. Messieurs ne vous faites pas dévorer à grands coup de culpabilisation forcée et de fausse morale.
Peut-on parler des dynasties d'hyper-bourgoies qui s'accaparent et conservent richesses et pouvoir depuis des siècles ? N'y a-t-il pas là plus grande injustice ? Que devient l'egalité des chances face à ce constat récurrent ? Ah oui, le racisme est systémique, le patriarcat omniprésent et le ruissèlement fonctionne, j'oubliais 🤦♀️.
Prérequis
Avoir activé Actuator.
Configuration
Ajouter ceci dans votre fichier bootstrap.yml
server:
shutdown: graceful
Déclenchement de l'arrêt
Envoyer une requête de type POST sur /actuator/shutdown. Par exemple :
curl -X POST localhost:8080/actuator/shutdown
Voilà une idée qu'elle est bien 😍 !
Dans les jeux vidéos, il faut un mode "Little Buddy" ou un second joueur dispose d'un personnage qui ne prend pas de dégâts (ou vraiment très très peu) et qui peut même accomplir des objectifs juste pour lui.
Ce personnage serait dédié aux enfants de 3 à 8 ans pour qu'ils puissent jouer avec les grands sans la difficulté des grands.
Parce que donne une manette déconnectée à un petit, ça va 5 min.
Idée à faire tourner selon moi.
En résumé si l'on passe par un contexte Spring chargé au moyen de la classe AnnotationConfigApplicationContext
nous avons :
@Bean
@Scope(ConfigurableBeanFactory.SCOPE_PROTOTYPE)
public RepositoryFactorySupport userRepository(EntityManager entityManager) {
return new JpaRepositoryFactory(entityManager);
}
@Bean
@Scope(ConfigurableBeanFactory.SCOPE_PROTOTYPE)
public UserRepository userRepository(RepositoryFactorySupport factory) {
return factory.getRepository(UserRepository.class);
}
N.B : j'ai supposé que tout était en scope prototype
puisque tout utilise un EntityManager
qui est une entité recréée à chaque fois et qui est jetable.
Tout à fait d'accord, surtout depuis la chute d'Athènes !
Rappel : l'élection est profondement antidémocratique puisque l'élection consiste précisément à abandonner son droit à voter les lois soi-même au profit d'un autre qui n'a aucun compte à rendre à ses pigeons électeurs.