J'ai dû mal comprendre alors, c'était directement les stacks de type Jakarta EE / Spring que tu visais ? Parce que là, oui, de la factory de factory, il y en a parfois. Bien que cela évolue dans le bon sens (coucou Quarkus). Après, je reconnais volontiers que dans le monde Java, certains peuvent parfois faire preuve de design-patternite aigüe. Il est même possible que je sois passé par là ;)
Les « complexités "intelligentes" inutiles » (suringéniérie) sont, de mon expérience, beaucoup plus rare et surtout en perte de vitesse (imaginez les classiques « Java pour Entreprise™ » avec des Factory et tout dans tous les sens).
On peut vouloir tendre vers des principe de clean / hexagonal / onion architecture, sans que cela soit nécessairement de l'overengineering, hein. Tout dépend de la taille du projet.
Et puis moi, je n'ai rien contre les factories. Et j'aime bien l'inversion / injection de dépendance aussi. Voilà. Non mais. Ho.
C'est la start-up Aware qui propose ce service: grâce à une IA, elle peut avoir accès à tous vos messages. Absolument tous.
J'ai le bullshitomètre qui s'affole quelque peu. Si un système de traitement a accès aux dits messages, ce n'est pas parce que « vos supérieurs ont trouvé un moyen de glisser dans votre messagerie privée » (sic) et que pif, paf, pouf, des chocapics, mais bien parce que cette messagerie n'a jamais été privée, et que celui qui avait les clefs les a transmises à Aware.
Mais il y a « IA » dedans, alors ça fait un peu magique. ;)
Une alternative open-source serait plus que bienvenue, mais le meilleur remplaçant que j'ai pu jusque-là trouver à Google c'est Kagi. Non-libre, et payant, mais vraiment très, très efficace. Je n'ai pas utilisé d'autre moteur de recherche depuis – alors que je revenais toujours à Google avec Qwant et DuckDuckGo.
De l'implicite, oui, on peut penser par exemple à l'inférence de type, mais cela ne rend pas pour autant le code ambigu. Avais-tu un exemple particulier en tête ?
Je suis d'accord sur le fond - bien que je soie plutôt content de pouvoir chaîner des .map sur un Optional depuis Java 8 :)
Dans le même ordre d'idée, j'adorerais un équivalent standard en Java du Result<T, E> de Rust. Peu probable au vu de la sacro-sainte rétro-compatibilité.
J'ai utilisé Window Maker lors de mes premiers émois Linuxiens – ce qui doit remonter à une RedHat 5.2. J'en garde un super souvenir.
Sur un sujet proche, quelqu'un saurait-il ce que devient le projet GNUstep ? Étoilé donnait envie il y a quelques années, mais cela semble au point mort.
C'est à mon sens une excellente idée, qui me trotte également dans la tête depuis quelques temps. Et en tant que dev, je serai ravi de pouvoir participer.
Simple suggestion : je vois qu'il existe deux ressources distinctes pour les représentations JSON des factures et le téléchargement du PDF. Il s'agit pourtant conceptuellement de la même ressource. Ne serait-il pas plus simple de pouvoir préciser dans le header accept le format souhaité ?
# Liste des factures en JSON
GET {apiRoot}/invoices
Accept "application/json"
# Détail d'une facture en JSON
GET {apiRoot}/invoices/{idFacture}
Accept "application/json"
# Détail d'une facture en PDF
GET {apiRoot}/invoices/{idFacture}
Accept "application/pdf"
La norme Obapi pourrait dans ce cas préciser que proposer une représentation PDF de la facture est obligatoire.
C'est ce que j'avais cru comprendre en survolant un peu de documentation. En gros, l'opérateur new renvoie en C++ un raw pointer référençant le tas, et l'idée est de ne jamais utiliser de variable intermédiaire pour ce dernier mais par convention de le passer directement au « constructeur » de smart pointer qui lui sera sur la pile ?
var foobar = std::unique_ptr(new SomeFantasticClass());
(syntaxe sans doute très très approximative)
Le smart pointer est le seul à connaître le raw pointer, et je suppose qu'il libère la mémoire quand foobar sort du scope.
J'ai bon ?
Ça ressemblerait effectivement un peu aux types Box<T> et Rc<T> en Rust (ou Arc<T>, je ne sais pas si shared_ptr est thread-safe ?)
…
…
C'est malin, je vais devoir ajouter C++ à ma liste de langages à tester.
Question sans doute naïve, mais je suis curieux :)
J'ai pratiqué un peu de Rust, mais pas de C++. De ce que j'en comprends, le principe de borrowing via & en Rust permet de libérer la mémoire de façon déterministe au moment de la compilation. Ce n'est pas le cas quand on utilise par exemple le type Arc<T>, qui fonctionne avec un compteur de référence – et donc au runtime.
Les smart pointers de C++ semblent plus proches de ce dernier cas ?
Du coup, ca sera un clavier compatible avec votre futur laptop ; est-ce qu'au moment de sa sortie il sera prévu une option pour le prendre sans clavier ? Ma collection qui prend la poussière commence à devenir assez imposante ;)
Il semblerait que oui, dixit la page KissKissBankBank :
« Mais, [le clavier] est surtout compatible avec notre ordinateur modulaire le Cairn Mesa, étant un de ses… modules ! Vous pourrez le fixer et l’enlever d'un simple geste. Bien entendu, il sera possible d'acquérir l'ordinateur portable modulaire sans le clavier, si vous l'avez déjà acheté. »
Merci pour l'article, j'utilisais ce pattern sans en connaître le nom.
De façon générale, les publications de ce site ont l'air super intéressantes ; ça me donnerait presque envie de me mettre à F# ou OCaml.
[^] # Re: Des idées intéressantes, mais simplistes
Posté par Letho . En réponse au lien farbfeld : le format d'image le plus simple du monde. Évalué à 3.
J'ai dû mal comprendre alors, c'était directement les stacks de type Jakarta EE / Spring que tu visais ? Parce que là, oui, de la factory de factory, il y en a parfois. Bien que cela évolue dans le bon sens (coucou Quarkus). Après, je reconnais volontiers que dans le monde Java, certains peuvent parfois faire preuve de design-patternite aigüe. Il est même possible que je sois passé par là ;)
[^] # Re: Des idées intéressantes, mais simplistes
Posté par Letho . En réponse au lien farbfeld : le format d'image le plus simple du monde. Évalué à 3.
On peut vouloir tendre vers des principe de clean / hexagonal / onion architecture, sans que cela soit nécessairement de l'overengineering, hein. Tout dépend de la taille du projet.
Et puis moi, je n'ai rien contre les factories. Et j'aime bien l'inversion / injection de dépendance aussi. Voilà. Non mais. Ho.
# Moui
Posté par Letho . En réponse au lien Teams, Slack, Workplace, ces outils d’espionnage méconnus ?. Évalué à 7.
J'ai le bullshitomètre qui s'affole quelque peu. Si un système de traitement a accès aux dits messages, ce n'est pas parce que « vos supérieurs ont trouvé un moyen de glisser dans votre messagerie privée » (sic) et que pif, paf, pouf, des chocapics, mais bien parce que cette messagerie n'a jamais été privée, et que celui qui avait les clefs les a transmises à Aware.
Mais il y a « IA » dedans, alors ça fait un peu magique. ;)
# [Non libre] Kagi
Posté par Letho . En réponse au lien Stract, un moteur de recherche libre codé par un Danois sur son temps libre. Évalué à 2.
Une alternative open-source serait plus que bienvenue, mais le meilleur remplaçant que j'ai pu jusque-là trouver à Google c'est Kagi. Non-libre, et payant, mais vraiment très, très efficace. Je n'ai pas utilisé d'autre moteur de recherche depuis – alors que je revenais toujours à Google avec Qwant et DuckDuckGo.
https://kagi.com/
[^] # Re: Broyé du Poitou
Posté par Letho . En réponse à la dépêche Claire Mathieu et les algorithmes. Évalué à 1.
De l'implicite, oui, on peut penser par exemple à l'inférence de type, mais cela ne rend pas pour autant le code ambigu. Avais-tu un exemple particulier en tête ?
# Merci
Posté par Letho . En réponse au lien Structures de contrôle : de « goto » aux effets algébriques 25 janvier 2024 - 14 mars 2024. Évalué à 2.
Je suis sincèrement émerveillé par la richesse des cours proposés.
Mille fois merci.
# NuShell
Posté par Letho . En réponse au lien Marcel the shell.... Évalué à 7.
Ça me rappelle un peu NuShell, qui fonctionne autour de l'idée de data structurée :
https://www.nushell.sh/
[^] # Re: Laïcité, tolérance…
Posté par Letho . En réponse au lien La fondation Gnome engage une shaman comme directrice exécutive . Évalué à 2.
Ah, non. Il faut dire « Église de l'Expiation Finale ».
# Annonce sur le site de Blizzard
Posté par Letho . En réponse au lien Diablo IV arrive aujourd'hui sur Linux / SteamOS. Évalué à 2.
https://news.blizzard.com/fr-fr/diablo4/24009153/diablo-iv-sera-disponible-sur-steam-le-17-octobre
[^] # Re: Optional<T>
Posté par Letho . En réponse au journal La plus belle ligne de code. Évalué à 1.
Je suis d'accord sur le fond - bien que je soie plutôt content de pouvoir chaîner des
.map
sur unOptional
depuis Java 8 :)Dans le même ordre d'idée, j'adorerais un équivalent standard en Java du
Result<T, E>
de Rust. Peu probable au vu de la sacro-sainte rétro-compatibilité.[^] # Re: Etude par des coincés du cul ?
Posté par Letho . En réponse au journal Pornocriminalité : voici comment on finit par vouloir filtrer. Évalué à 3.
Si tu en as le temps, cela m'intéresserait.
# GNUstep ?
Posté par Letho . En réponse à la dépêche Window Maker 0.96 est plus ergonomique. Évalué à 2.
J'ai utilisé Window Maker lors de mes premiers émois Linuxiens – ce qui doit remonter à une RedHat 5.2. J'en garde un super souvenir.
Sur un sujet proche, quelqu'un saurait-il ce que devient le projet GNUstep ? Étoilé donnait envie il y a quelques années, mais cela semble au point mort.
[^] # Re: actualiser..
Posté par Letho . En réponse au journal petit topo des messageries sécurisées, et leurs alternatives. Évalué à 1.
C'est clairement plus qu'un simple système de messagerie, mais il y a le module Talk de Nextcloud : https://nextcloud.com/talk/
[^] # Re: Logique
Posté par Letho . En réponse au journal Profil validé. Évalué à 1.
Merci de la découverte, je viens d'acheter les 5 premiers tomes 🙂
[^] # Re: Question sur un vieux livre
Posté par Letho . En réponse au journal Les nouveautés folles furieuses de Common Lisp en 2022: la revue. Évalué à 2.
Eh bien bravo, je viens encore de commander un livre. Je ne te remercie pas.
# Un grand oui
Posté par Letho . En réponse au journal Une API normée pour accéder aux factures (1ere étape). Évalué à 4. Dernière modification le 06 janvier 2023 à 16:11.
C'est à mon sens une excellente idée, qui me trotte également dans la tête depuis quelques temps. Et en tant que dev, je serai ravi de pouvoir participer.
Simple suggestion : je vois qu'il existe deux ressources distinctes pour les représentations JSON des factures et le téléchargement du PDF. Il s'agit pourtant conceptuellement de la même ressource. Ne serait-il pas plus simple de pouvoir préciser dans le header
accept
le format souhaité ?La norme Obapi pourrait dans ce cas préciser que proposer une représentation PDF de la facture est obligatoire.
[^] # Re: les anciennes choses..
Posté par Letho . En réponse au journal Ces langages avec lesquels il faut tout réécrire. Évalué à 1. Dernière modification le 04 octobre 2022 à 01:53.
C'est ce que j'avais cru comprendre en survolant un peu de documentation. En gros, l'opérateur
new
renvoie en C++ un raw pointer référençant le tas, et l'idée est de ne jamais utiliser de variable intermédiaire pour ce dernier mais par convention de le passer directement au « constructeur » de smart pointer qui lui sera sur la pile ?var foobar = std::unique_ptr(new SomeFantasticClass());
(syntaxe sans doute très très approximative)
Le smart pointer est le seul à connaître le raw pointer, et je suppose qu'il libère la mémoire quand
foobar
sort du scope.J'ai bon ?
Ça ressemblerait effectivement un peu aux types
Box<T>
etRc<T>
en Rust (ouArc<T>
, je ne sais pas sishared_ptr
est thread-safe ?)…
…
C'est malin, je vais devoir ajouter C++ à ma liste de langages à tester.
[^] # Re: les anciennes choses..
Posté par Letho . En réponse au journal Ces langages avec lesquels il faut tout réécrire. Évalué à 2. Dernière modification le 01 octobre 2022 à 04:50.
Question sans doute naïve, mais je suis curieux :)
J'ai pratiqué un peu de Rust, mais pas de C++. De ce que j'en comprends, le principe de borrowing via
&
en Rust permet de libérer la mémoire de façon déterministe au moment de la compilation. Ce n'est pas le cas quand on utilise par exemple le typeArc<T>
, qui fonctionne avec un compteur de référence – et donc au runtime.Les smart pointers de C++ semblent plus proches de ce dernier cas ?
# Gleam
Posté par Letho . En réponse au journal Ces langages avec lesquels il faut tout réécrire. Évalué à 5.
Je me suis promis d'essayer Gleam un jour prochain.
Typage statique + VM Erlang + modèle acteur. Miam.
https://gleam.run/
https://github.com/gleam-lang/gleam
[^] # Re: Solution alternative: Arango
Posté par Letho . En réponse au journal J'ai demandé le multi-database à Neo4J. Évalué à 3.
Je ne l'ai jamais essayé, mais j'ai trouvé ceci :
https://age.apache.org/
C'est une extension PostGres pour faire de l'orienté graphe. Et cela gère Cypher. Deux points plutôt positifs pour toi ;)
Un article en parlant : https://www.fabiomarini.net/going-multi-model-with-postgresql-and-apache-age-experimenting-with-graph-databases/
[^] # Re: blockchain et crypto-monnaie sont deux choses différentes
Posté par Letho . En réponse au journal Ethereum prépare son passage de Proof of Work à Proof of Stake. Évalué à 10.
Des libertariens. S'il te plaît ;)
[^] # Re: Rétroéclairage
Posté par Letho . En réponse à la dépêche L’ordinateur portable modulaire : La lumière au bout du tunnel. Évalué à 3.
Il semblerait que oui, dixit la page KissKissBankBank :
« Mais, [le clavier] est surtout compatible avec notre ordinateur modulaire le Cairn Mesa, étant un de ses… modules ! Vous pourrez le fixer et l’enlever d'un simple geste. Bien entendu, il sera possible d'acquérir l'ordinateur portable modulaire sans le clavier, si vous l'avez déjà acheté. »
[^] # Re: Kamoulox !
Posté par Letho . En réponse au journal Golang, oops you did it again. Évalué à 2.
Merci pour l'article, j'utilisais ce pattern sans en connaître le nom.
De façon générale, les publications de ce site ont l'air super intéressantes ; ça me donnerait presque envie de me mettre à F# ou OCaml.
[^] # Re: Ça m'énerve
Posté par Letho . En réponse à la dépêche Différences de genres dans la contribution au code libre. Évalué à 2.
De tout cœur, merci.
[^] # Re: Dans la lignée des commentaires sur VS / VSCode
Posté par Letho . En réponse au sondage Développeur Libristes, oui ! mais macOS, Visual Studio et Azure ?. Évalué à 5.
Visual Studio Code étant apparu en 2015, je suppose que tu parles de Visual Studio ? ;)