Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
2953 connectés 

 

Sujet(s) à lire :
    - Who's who@Programmation
 

 Mot :   Pseudo :  
  Aller à la page :
 
 Page :   1  2  3  4  5  ..  25474  25475  25476  ..  27174  27175  27176  27177  27178  27179
Auteur Sujet :

[blabla@olympe] Le topic du modo, dieu de la fibre et du monde

n°2448703
Dion
Acceuil
Posté le 14-06-2023 à 10:52:07  profilanswer
 

Reprise du message précédent :

hephaestos a écrit :


 
Tu devrais pas avoir à dire quoi que ce soit, le système ne devrait pas autoriser à pousser des changements qui cassent des trucs.


Non mais sérieux ils sont 2.
Parmi les collègues d'Harko ca doit probablement être un des meilleurs vu qu'ils ne sont pas en train de s'échanger des clés USB ou des zip par mail


---------------
It is not called show art
mood
Publicité
Posté le 14-06-2023 à 10:52:07  profilanswer
 

n°2448704
gatsu35
Blablaté par Harko
Posté le 14-06-2023 à 11:02:02  profilanswer
 

Jubijub a écrit :


Sans parler d’être vieux : tu peux avoir le mec le plus réactif du monde en face, ça ira souvent plus vite de faire ta modif toi meme parce que t’as pas le turn around time a attendre. C’est exacerbé si tu bosses sur des time zones différentes, ou à des moments différents de la journée.
 
Disons que mon expérience dans ces cas là c’est d’essayer à minima de comprendre les 2 parties au conflit. Des fois les gens ont des raisons valables de faire ce qu’ils font. Des fois c’est des cow boys et faut leur foutre des coups de latte. Tu peux pas savoir sans demander de bonne foi. On sait jamais, sur un malentendu c’est une raison valable, ils se mettent d’accord et hop plus de problème, sans violence, et sans ressentiment. Un truc de ouf.


Si tu fais le front, tu t'assoures d'avoir l'API qui est mockée et donc tu n'as pas à attendre le dev back.
Et comme l'as dit harko, le mec à d'autres trucs à faire entre temps.
 
En ce moments tous mes projets sont systématiquement mockés, soit c'est du MSW, soit du cypress avec tests E2E qui en découle. je ne peux plus coder sans une API mockée, car coder et attendre à chaque fois le chargement de l'api, avoir le bon jdd qui va bien..., alors qu'avec une API mockée c'est du oneshot les retours sont fait en 1ms et avec du E2E les features avec des parcours et des formulaires à remplir sont vraiment plus facile à appréhander.


---------------
Blablaté par Harko
n°2448705
Harkonnen
Un modo pour les bannir tous
Posté le 14-06-2023 à 11:03:38  profilanswer
 

Flaie a écrit :


Explique lui exactement ce que tu viens d'écrire if qvec cet exemple précis.
 
Sinon très bon choix mapstruct :o


Ah mais j'ai pas arrêté de lui expliquer ! L'autre jour, il m'a fait un commit de fou avec des requêtes SQL directement dans le code en utilisant des JdbcTemplate (alors que j'ai une belle archi Spring, avec mappers, repositories et tout, de quoi éviter d'utiliser des JdbcTemplate)... J'ai du reverter le commit !
 
Et pire encore : il a carrément créé une migration Flyway de la base de données pour rajouter des données pour ses tests, sans se douter un seul instant que ces migrations seront jouées en prod (et en ignorant superbement mes TU sous base H2 pour tester ce qu'il voulait justement tester). Bon pour cette partie, il a fait ça "bien" en faisant une PR... que j'ai rejetée !
 
Et du coup, il a été vexé et recommitte à nouveau dans la branche dev...
 

Devil'sTiger a écrit :


 
Branche main/master protégée et la validation des PR passe par ta review ;)


Déjà fait : une PR, un rejet de ma part. Depuis il a arrêté les PR
 

ratibus a écrit :


Et s'il continue, fin des droits sur le dépôt.


J'ai contacté l'admin du repo ce matin pour les lui enlever :D
 

gatsu35 a écrit :


 
Ben déjà chacun bosse dans sa branche et le gars il prends ta branche pour la merger dans la sienne de temps en temps, et sinon tu lui gueule dessusp our qu'il arrête ses conneries.


Justement je voudrais éviter de gueuler... juste en dernier recours :D
 

hephaestos a écrit :


 
Tu devrais pas avoir à dire quoi que ce soit, le système ne devrait pas autoriser à pousser des changements qui cassent des trucs.


skeye te confirmera que ça marche pas trop comme ça ici :D
 

Jubijub a écrit :


Sage décision :o
 


Je l'attendais celle ci :o
 

Jubijub a écrit :


Je chercherais à comprendre pourquoi il faut ça. Je suis prêt à mettre 10 balles que c’est une question de vélocité genre « ça me gonfle de demander et d’attendre Harko, donc je modifie vite fait ce dont j’ai besoin »
Du coup je lui rappellerai que ça tombe rudement bien d’avoir une API entre vous parce que c’est un bon contrat / moyen de découplage, et que du coup il devrait anticiper de quoi il a besoin pour te laisser le temps de le faire comme ça le end point est prêt quand lui commence ses devs.
Alternativement, il peut se faire des bouchons pour tester en l’absence d’API.
 


Même pas... le endpoint était prêt depuis longtemps et fonctionnait très bien (validé par les TU)... Mais il l'a modifié je sais pas pourquoi, et il n'a même pas modifié les TU en conséquence... [:sadnoir]

Kenshineuh a écrit :


 
Evidemment, il est vieux papi, 5 jours pour pondre une route. :/


 
Perdu ! Same player shoot again :o

Message cité 5 fois
Message édité par Harkonnen le 14-06-2023 à 11:05:19

---------------
J'ai un string dans l'array (Paris Hilton)
n°2448706
hephaestos
Sanctis Recorda, Sanctis deus.
Posté le 14-06-2023 à 11:04:43  profilanswer
 

Dion a écrit :


Non mais sérieux ils sont 2.
Parmi les collègues d'Harko ca doit probablement être un des meilleurs vu qu'ils ne sont pas en train de s'échanger des clés USB ou des zip par mail


 
Han le tocard, et si leur truc marche et qu'ils se retrouvent à devoir servir 100M requêtes par seconde, ils seront bien contents d'avoir conçu un truc qui passe à l'échelle !
 
Mais sérieusement, okay on peut commencer par discuter, mais je crois pas qu'il y ait de limite basse pour automatiser les tests et la mise en prod, c'est utile dés 1, il y a des solutions low tech.

n°2448707
skeye
Posté le 14-06-2023 à 11:14:09  profilanswer
 

Dion a écrit :


Parmi les collègues d'Harko ca doit probablement être un des meilleurs


 
Putain heureusement que non [:roane]


---------------
Can't buy what I want because it's free -
n°2448708
skeye
Posté le 14-06-2023 à 11:14:39  profilanswer
 

Harkonnen a écrit :


skeye te confirmera que ça marche pas trop comme ça ici :D


 
Si seulement [:dawak]


---------------
Can't buy what I want because it's free -
n°2448709
masklinn
í dag viðrar vel til loftárása
Posté le 14-06-2023 à 11:16:10  profilanswer
 

el_barbone a écrit :


t'as pris la nationalité gelbe  [:el_barbone:5]


Non mais j’ai une CI de résident.


Non mais sors de chez moi, genre pour aller m’acheter un seau de sirop de liège tout ça :o

Dion a écrit :

Je pense que ce qui leur permet de passer outre c'est qu'on a un début de masse critique sur le topic (DDT en leader, Shinu et Mask en fidèles)


Début?

ratibus a écrit :

Et s'il continue, fin des droits sur le dépôt.


 [:o_non]  
 
codeowners + règles pour imposer une review par les codeowners si t’en es pas, comme ça il peut faire ses trucs dans le front dans son coin, mais il doit valider pour le back :o

hephaestos a écrit :

Tu devrais pas avoir à dire quoi que ce soit, le système ne devrait pas autoriser à pousser des changements qui cassent des trucs.


Tester c’est douter :fou:

Harkonnen a écrit :

Et du coup, il a été vexé et recommitte à nouveau dans la branche dev...


Harkonnen a écrit :

Déjà fait : une PR, un rejet de ma part. Depuis il a arrêté les PR


[:rofl]

Message cité 3 fois
Message édité par masklinn le 14-06-2023 à 11:18:33

---------------
I mean, true, a cancer will probably destroy its host organism. But what about the cells whose mutations allow them to think outside the box by throwing away the limits imposed by overbearing genetic regulations? Isn't that a good thing?
n°2448710
Harkonnen
Un modo pour les bannir tous
Posté le 14-06-2023 à 11:16:13  profilanswer
 

Message de lolCollegue sur le chat interne :
 

Citation :


Bon j'admet avoir fait une erreur, <Harko> peut revert le commit ? je ne veux pas lui faire perdre du temps


 
(soupir....)


---------------
J'ai un string dans l'array (Paris Hilton)
n°2448711
gfive
Posté le 14-06-2023 à 11:29:07  profilanswer
 

 
hephaestos a écrit :

 

Tu devrais pas avoir à dire quoi que ce soit, le système ne devrait pas autoriser à pousser des changements qui cassent des trucs.

 

this.

 

pipeline sur les MR/PR : si ton code est couvert (et le mapping java <-> json ça devrait être le cas), le pipeline pète.
Et branches dev/main protégées of course.

 
gatsu35 a écrit :


Si tu fais le front, tu t'assoures d'avoir l'API qui est mockée et donc tu n'as pas à attendre le dev back.

 

ouais comme ça le dev front débile fait écvoluer son mock sans considération pour ce qui est fait côté back, et quand on met tout ensemble ça marche bien :o

 

(en fait l'API mockée pour le front c'est bien, mais ça empêchera pas un crétin de se torcher avec le contrat d'interface)

 
Harkonnen a écrit :


Ah mais j'ai pas arrêté de lui expliquer ! L'autre jour, il m'a fait un commit de fou avec des requêtes SQL directement dans le code en utilisant des JdbcTemplate (alors que j'ai une belle archi Spring, avec mappers, repositories et tout, de quoi éviter d'utiliser des JdbcTemplate)... J'ai du reverter le commit !


Quelle horreur :'(

  


Message cité 5 fois
Message édité par gfive le 14-06-2023 à 11:29:19

---------------
Tous les sud africains sont ségrégationistes, à part Ted. (P. Desproges)
n°2448712
Harkonnen
Un modo pour les bannir tous
Posté le 14-06-2023 à 11:36:02  profilanswer
 

gfive a écrit :


Quelle horreur :'(
 
 
 
 


Elle a quoi mon archi [:petrus dei]


---------------
J'ai un string dans l'array (Paris Hilton)
mood
Publicité
Posté le 14-06-2023 à 11:36:02  profilanswer
 

n°2448713
Flaie
Posté le 14-06-2023 à 11:37:41  profilanswer
 


 

gfive a écrit :


Quelle horreur :'(
 


Explicitez

n°2448714
Kenshineuh
Posté le 14-06-2023 à 11:38:28  profilanswer
 

Harkonnen a écrit :


Elle a quoi mon archi [:petrus dei]


 
L'arthrose. :/

n°2448715
Dion
Acceuil
Posté le 14-06-2023 à 11:40:15  profilanswer
 

hephaestos a écrit :

Han le tocard, et si leur truc marche et qu'ils se retrouvent à devoir servir 100M requêtes par seconde, ils seront bien contents d'avoir conçu un truc qui passe à l'échelle !


Tu connais quand même son employeur, tu sais bien que dans ce milieu la même appli est développée et instanciée 70 fois, on fonctionne encore comme sous napoleon

masklinn a écrit :


Non mais sors de chez moi, genre pour aller m’acheter un seau de sirop de liège tout ça :o


T'as pas des servants on demand ?


Pardon c'est ma faute, masse forcément ça prête à confusion. Parlons de noyau  [:cosmoschtroumpf]  


---------------
It is not called show art
n°2448716
Dion
Acceuil
Posté le 14-06-2023 à 11:40:55  profilanswer
 

gfive a écrit :

this.
 
pipeline sur les MR/PR : si ton code est couvert (et le mapping java <-> json ça devrait être le cas), le pipeline pète.
Et branches dev/main protégées of course.


Faut que tu changes un peu d'état d'esprit là, le problème doit probablement être réglable avec un ticket Jira  [:cosmoschtroumpf]


---------------
It is not called show art
n°2448717
___alt
Posté le 14-06-2023 à 11:44:42  profilanswer
 

gfive a écrit :


Quelle horreur :'(


 
Si tu fais du CRUD moisax comme sur 90% des projets, ça passe large.


---------------
TRIPS RIGHT BUNCH F SHUTTLE TOM AND JERRY RIGHT YELLOW
n°2448718
el_barbone
too old for this shit ...
Posté le 14-06-2023 à 11:47:42  profilanswer
 

masklinn a écrit :


Non mais j’ai une CI de résident.


 
ah ok ... genre l'equivalent d'une carte de séjour en FR.


---------------
En théorie, la théorie et la pratique sont identiques, en pratique, non.
n°2448719
hephaestos
Sanctis Recorda, Sanctis deus.
Posté le 14-06-2023 à 11:58:41  profilanswer
 

Dion a écrit :


Tu connais quand même son employeur


J'ai pas ça dans mes fiches, c'est qui ?

n°2448720
el_barbone
too old for this shit ...
Posté le 14-06-2023 à 12:00:00  profilanswer
 

hephaestos a écrit :


J'ai pas ça dans mes fiches, c'est qui ?


l'université de bordeaux ou quelque chose du genre.


---------------
En théorie, la théorie et la pratique sont identiques, en pratique, non.
n°2448721
Elmoricq
Posté le 14-06-2023 à 12:00:12  profilanswer
 

Harkonnen a écrit :

A 2 doigts de péter un cable avec un collègue
 
Contexte : une appli, front et back. Je fais le back, il fait le front.
Or, je découvre régulièrement des commits de sa part dans le back qui me foutent la merde. Il fait des trucs dans son coin (alors qu'il a encore pas mal de boulot sur le front), sans me prévenir, et moi le matin j'arrive et je découvre des trucs...
 
Ce matin par exemple, alors que j'étais en train de bosser sur la simplification des DTO du back, je comprenais plus pourquoi un de mes DTO n'avait plus un certain champ "evaluations".
 
Après 30 mn de debug, je découvre ceci dans l'interface MapStruct du mapper entité -> DTO
 

Code :
  1. @Mapping(target = "evaluations", ignore = true)
  2. ...


 
J'ai eu beau lui expliquer 36 fois de rester sur le front tant que le back n'était pas fini, ou au pire de faire ses modifs sur une autre branche mais rien à faire ! Et ça commence à me gonfler !
 
Comment vous vous y prendriez pour lui faire comprendre sans s'énerver, car c'est ce qui va bientôt arriver !


 
Pour commencer, je promouvrais la code review, avec une protection des branches pour forcer la review de x personnes.
C'est plutôt sain, et ça permet d'accompagner les personnes dans leurs propositions de changement plutôt que de rentrer en guerre contre elles.
 
Dans un second temps, si ce n'est pas déjà fait, une CI et des tests. Et refuser ensuite toute proposition de PR qui ne met pas à jour les tests.
 
 
edit : ah, y avait une page de plus, je suis ultra burned évidemment


Message édité par Elmoricq le 14-06-2023 à 12:01:18
n°2448722
Devil'sTig​er
Posté le 14-06-2023 à 12:01:38  profilanswer
 

Dion a écrit :


C'est pas faire comprendre ça


 
Non mais si on doit commencer a discuter [:stephan_lapaix]
 

Dion a écrit :


Non mais sérieux ils sont 2.
Parmi les collègues d'Harko ca doit probablement être un des meilleurs vu qu'ils ne sont pas en train de s'échanger des clés USB ou des zip par mail


 
Ne pas avoir la fibre c'est quand meme moche [:dovakor_:2]
 
 

Harkonnen a écrit :


J'ai contacté l'admin du repo ce matin pour les lui enlever :D
 


 
Sur github tu peux simplement lui donner des droits de lecture sans écriture par exemple ?
 
 
Je pars du principe qu'a partir du moment ou il fou pas le bordel tu seras content :D

n°2448723
nucl3arfl0
Better Call Saul
Posté le 14-06-2023 à 12:07:18  profilanswer
 

koskoz a écrit :

 

C'est si risqué que ça d'exposer le port 22 avec authentification par clé ?

 



C'est risqué d'exposer son serveur critique tout court.
Et là tu exposes directement le point d'entrée sur le serveur, même s'il y a une authentification, tu es pas à l'abri d'une vulnérabilité qui te bypass celui-ci.

 

Il faut réduire la surface d'attaque, donc moins tu exposes, mieux c'est.
Pour ça aussi qu'on utilise des reverse proxy, ainsi tu exposes que ce qui est nécessaire pour le service (http par exemple), puis ton serveur application est dans un réseau privé.

n°2448724
hephaestos
Sanctis Recorda, Sanctis deus.
Posté le 14-06-2023 à 12:08:54  profilanswer
 

Harkonnen a écrit :


Déjà fait : une PR, un rejet de ma part. Depuis il a arrêté les PR

 


 


Harkonnen a écrit :

Message de lolCollegue sur le chat interne :

 
Citation :


Bon j'admet avoir fait une erreur, <Harko> peut revert le commit ? je ne veux pas lui faire perdre du temps

 

(soupir....)


Une piste de changement serait de tenter de changer la façon de percevoir les erreurs. C'est notre job de produire des bugs, de casser les trucs, on doit s'attendre à ça, ce n'est pas un échec.
On se défend de nos erreurs, avec les PRs, les tests, les mise en prod progressives. À aucun moment on ne demande aux gens d'arrêter d'en commettre.

n°2448725
Dion
Acceuil
Posté le 14-06-2023 à 12:35:31  profilanswer
 

hephaestos a écrit :


J'ai pas ça dans mes fiches, c'est qui ?


L'Univ locale :o
 
Sinon oh oh oh
 
https://img3.super-h.fr/images/2023/06/14/FyiD5cIWcAAgbYr.jpg  
 

Citation :

Hove [...] filiale de Keolis


---------------
It is not called show art
n°2448726
nucl3arfl0
Better Call Saul
Posté le 14-06-2023 à 13:17:07  profilanswer
 

Améliorer la sécurité par de l'opacité, ça c'est de la stratégie gagnante  :sarcastic:

n°2448727
Harkonnen
Un modo pour les bannir tous
Posté le 14-06-2023 à 13:23:26  profilanswer
 

hephaestos a écrit :


On se défend de nos erreurs, avec les PRs, les tests, les mise en prod progressives. À aucun moment on ne demande aux gens d'arrêter d'en commettre.


Non, mais on peut supposer que les gens, après qu'on leur ait expliqué le principe des PR, des tests, de la nocivité de l'absence de communication et autres, aient retenu les explications et ne commettent plus les mêmes erreurs.
Aucun souci avec le principe de faire des erreurs, comme tu le dis, on en fait tous. Mais faire les mêmes erreurs quand on a eu toutes les billes et les explications pour ne plus les reproduire, c'est avec ça que j'ai du mal.


---------------
J'ai un string dans l'array (Paris Hilton)
n°2448728
Plam
Bear Metal
Posté le 14-06-2023 à 13:35:44  profilanswer
 

nucl3arfl0 a écrit :

Améliorer la sécurité par de l'opacité, ça c'est de la stratégie gagnante  :sarcastic:


 
Un grand classique malheureusement…


---------------
Spécialiste du bear metal
n°2448729
hephaestos
Sanctis Recorda, Sanctis deus.
Posté le 14-06-2023 à 13:52:40  profilanswer
 

Harkonnen a écrit :


Non, mais on peut supposer que les gens, après qu'on leur ait expliqué le principe des PR, des tests, de la nocivité de l'absence de communication et autres, aient retenu les explications et ne commettent plus les mêmes erreurs.
Aucun souci avec le principe de faire des erreurs, comme tu le dis, on en fait tous. Mais faire les mêmes erreurs quand on a eu toutes les billes et les explications pour ne plus les reproduire, c'est avec ça que j'ai du mal.


 
Ce que je propose, même si je me doute que ça va aller nulle part, c'est d'aider à faire accepter les changements de mode de fonctionnement en changeant la façon dont ils sont présentés. Manifestement, vu sa réponse, le collègue pense que le problème c'est qu'il se soit trompé ; alors que fondamentalement, le problème c'est qu'il ait poussé un changement comme s'il était infaillible. Si tu arrives à convaincre tout le monde (même si tu n'en penses rien) qu'une PR rejetée ce n'est pas un jugement ni une sanction, et que restreindre les accès au dépôt c'est pour se protéger communément et pas contre certains en particulier, ce sera plus simple de changer les habitudes.
 
Maintenant ce qu'il va se passer si vous mettez ça en place, c'est que rapidement M. Mauvais réalisera que ses PRs mettent bien plus longtemps à être acceptées, et que ça le ralentit injustement. Il ne progressera sans doute pas significativement, et n'acceptera jamais l'utilité d'un tel procédé. N'empêche que les extraits que tu as cités montrent qu'il y a un truc à faire avec la culture de l'équipe, même si le cas du collègue est sans doute désespéré.

n°2448730
masklinn
í dag viðrar vel til loftárása
Posté le 14-06-2023 à 13:57:30  profilanswer
 

nucl3arfl0 a écrit :

Améliorer la sécurité par de l'opacité, ça c'est de la stratégie gagnante  :sarcastic:


En même temps c’est 95kloc de C++, la vraie solution c’est de tout supprimer mais je présume qu’il y en a qui sont réfractaires au changement [:bibliophage:1]


---------------
I mean, true, a cancer will probably destroy its host organism. But what about the cells whose mutations allow them to think outside the box by throwing away the limits imposed by overbearing genetic regulations? Isn't that a good thing?
n°2448731
Dion
Acceuil
Posté le 14-06-2023 à 14:06:36  profilanswer
 

masklinn a écrit :


En même temps c’est 95kloc de C++, la vraie solution c’est de tout supprimer mais je présume qu’il y en a qui sont réfractaires au changement [:bibliophage:1]


Citation :

Profil recherché
Vous maîtrisez le C++ 14, mais vous préférez le Rust, le python vous inspire et vous êtes curieux du Go


 [:baelg]  
 

Citation :

Développeur C++ - F/H


 [:mom boucher]


---------------
It is not called show art
n°2448732
SekYo
Posté le 14-06-2023 à 14:10:07  profilanswer
 

En parlant de Java, j'ai donc débarqué sur une grosse application SpringBoot et disons qu'après 15 ans de Python... Ca fait bizarre :D
 
Est ce que vous avez des ressources sous la main sur les "bonnes pratiques" pour structurer correctement ce type d'app, les trucs à faire ou ne pas faire, les libs recommandées ou à éviter etc ? (je cherche pas un tuto ou hello world, je cherche à comprendre si ce que je vois dans le code c'est la façon normale de faire dans une grosse app Java/Springboot ou si c'est une bouse sans nom)

n°2448733
el_barbone
too old for this shit ...
Posté le 14-06-2023 à 14:10:20  profilanswer
 

nucl3arfl0 a écrit :

Améliorer prétenduement la sécurité par de l'opacité, ça c'est de la stratégie gagnante  :sarcastic: ... alors que le but reste de verrouiller le produit et maximiser le ROI les rentrées d'argent


 
fixed.
 

Plam a écrit :


 
Un grand classique malheureusement…


 
this.


---------------
En théorie, la théorie et la pratique sont identiques, en pratique, non.
n°2448734
nucl3arfl0
Better Call Saul
Posté le 14-06-2023 à 14:13:22  profilanswer
 

 

Personne n'est dupe  [:hansaplast:1]

n°2448735
nucl3arfl0
Better Call Saul
Posté le 14-06-2023 à 14:14:23  profilanswer
 

SekYo a écrit :

En parlant de Java, j'ai donc débarqué sur une grosse application SpringBoot et disons qu'après 15 ans de Python... Ca fait bizarre :D

 

Est ce que vous avez des ressources sous la main sur les "bonnes pratiques" pour structurer correctement ce type d'app, les trucs à faire ou ne pas faire, les libs recommandées ou à éviter etc ? (je cherche pas un tuto ou hello world, je cherche à comprendre si ce que je vois dans le code c'est la façon normale de faire dans une grosse app Java/Springboot ou si c'est une bouse sans nom)


Déjà dis nous ce que c'est comme type d'application et ce que ça fait grossièrement ?

n°2448736
koskoz
They see me trollin they hatin
Posté le 14-06-2023 à 14:15:12  profilanswer
 

nucl3arfl0 a écrit :


Déjà dis nous ce que c'est comme type d'application et ce que ça fait grossièrement ?


 
Sûrement une API "rest" en mode CRUD [:klem3i1]


---------------
Twitter
n°2448737
gfive
Posté le 14-06-2023 à 14:15:13  profilanswer
 

Harkonnen a écrit :


Elle a quoi mon archi [:petrus dei]


 

Flaie a écrit :


 
 
Explicitez


___alt a écrit :


 
Si tu fais du CRUD moisax comme sur 90% des projets, ça passe large.


 
Ben j'aime pas Spring Data, je trouve délirant d'avoir un MachinRepository et un TrucRepository pour faire du CRUD alors qu'un TheRepository avec des méthodes comme ça :
 

Code :
  1. public class TheRepository {
  2.   private final EntityManager em;
  3.   public <T, I> T find(I id, Class<T> clazz) {
  4.       return em.find(clazz, id);
  5.   }
  6.   public <T> T save(T entity) {
  7.       em.persist(entity);
  8.       return entity;
  9.   }
  10. ....


 
ca suffit à faire un CRUD pour toutes les entités avec un seul bean Spring, sans création de proxies au runtime, etc... :o
 
Et j'aime pas Spring Data, je trouve que le bordel ajouté au runtime pour faire du Spring Data ne compense pas le confort relatif de ne pas avoir à écrire des requêtes JPA.
 

Dion a écrit :


Faut que tu changes un peu d'état d'esprit là, le problème doit probablement être réglable avec un ticket Jira  [:cosmoschtroumpf]


 
[:rofl]


---------------
Tous les sud africains sont ségrégationistes, à part Ted. (P. Desproges)
n°2448738
Flaie
Posté le 14-06-2023 à 14:20:04  profilanswer
 

gfive a écrit :


 
Ben j'aime pas Spring Data, je trouve délirant d'avoir un MachinRepository et un TrucRepository pour faire du CRUD alors qu'un TheRepository avec des méthodes comme ça :
 

Code :
  1. public class TheRepository {
  2.   private final EntityManager em;
  3.   public <T, I> T find(I id, Class<T> clazz) {
  4.       return em.find(clazz, id);
  5.   }
  6.   public <T> T save(T entity) {
  7.       em.persist(entity);
  8.       return entity;
  9.   }
  10. ....


 
ca suffit à faire un CRUD pour toutes les entités avec un seul bean Spring, sans création de proxies au runtime, etc... :o
 
Et j'aime pas Spring Data, je trouve que le bordel ajouté au runtime pour faire du Spring Data ne compense pas le confort relatif de ne pas avoir à écrire des requêtes JPA.
 


Si tu dois chercher des entités via une property particulière ?
 
Tu vas les ajouter toute dans ton TheRepository ? Dans des @Service qui s'injectent le repository ?
 
 

n°2448739
gfive
Posté le 14-06-2023 à 14:23:17  profilanswer
 

Flaie a écrit :


Si tu dois chercher des entités via une property particulière ?
 
Tu vas les ajouter toute dans ton TheRepository ? Dans des @Service qui s'injectent le repository ?
 
 


 
Non, dans ce cas je fais une sous-classe dédiée. Mais l'idée c'est de la faire quand tu en a besoin, et pas par défaut.
PArce que quand t'as un gros modèle avec 50 entités, les 50 repostory dont seulement 3 ou 4 ont des méthodes dedans, je trouve ça inutile au possible.
 
Et casse couille quand tu composes des grosses grappes : si t'es oibligé de te faire injecter plusieurs repo, c'est moins joli que un seul (bon si tu tombes dans ce genre de cas t'as certainement un problème de conception de ton modèle en réalité)
 


---------------
Tous les sud africains sont ségrégationistes, à part Ted. (P. Desproges)
n°2448740
koskoz
They see me trollin they hatin
Posté le 14-06-2023 à 14:24:33  profilanswer
 

Flaie a écrit :


Si tu dois chercher des entités via une property particulière ?
 
Tu vas les ajouter toute dans ton TheRepository ? Dans des @Service qui s'injectent le repository ?
 
 


 
C'est pas possible de faire un "findBy(criteria)" ?


---------------
Twitter
n°2448741
gfive
Posté le 14-06-2023 à 14:26:28  profilanswer
 

koskoz a écrit :


 
C'est pas possible de faire un "findBy(criteria)" ?


 
Si bien sûr, mais si tu en a beaucoup à faire, ça peut vite devenir le bordel.
 
Idem si tu veux bien ranger ton modèle en sous-ensembles cohérents.
 
L'idée du "repo pseudo-unique", c'est de lui faire gérer le CRUD de toutes les entités qui n'ont pas d'autres opérations, pas plus.


---------------
Tous les sud africains sont ségrégationistes, à part Ted. (P. Desproges)
n°2448742
Flaie
Posté le 14-06-2023 à 14:29:52  profilanswer
 

SekYo a écrit :

En parlant de Java, j'ai donc débarqué sur une grosse application SpringBoot et disons qu'après 15 ans de Python... Ca fait bizarre :D
 
Est ce que vous avez des ressources sous la main sur les "bonnes pratiques" pour structurer correctement ce type d'app, les trucs à faire ou ne pas faire, les libs recommandées ou à éviter etc ? (je cherche pas un tuto ou hello world, je cherche à comprendre si ce que je vois dans le code c'est la façon normale de faire dans une grosse app Java/Springboot ou si c'est une bouse sans nom)


Généralement pour de petites apps/microservices sur un seul domaine, j'utilise les layers classiques controller > service > repository.
 
Pour des apps plus grosses comme des monolith avec plusieurs domaines jaime bien l'approche de spring modulith (https://spring.io/projects/spring-modulith).
 
Ma stack généralement c'est Spring Boot + spring data (+ hibernate) + spring security + mapstruct (+ vavr et lombok).  
Pour la partir test Junit5 + assertJ + mockito + mockserver + instancio + archunit (pour check que les layers archi sont respectés justement l).

n°2448743
Flaie
Posté le 14-06-2023 à 14:32:00  profilanswer
 

gfive a écrit :


 
Non, dans ce cas je fais une sous-classe dédiée. Mais l'idée c'est de la faire quand tu en a besoin, et pas par défaut.
PArce que quand t'as un gros modèle avec 50 entités, les 50 repostory dont seulement 3 ou 4 ont des méthodes dedans, je trouve ça inutile au possible.
 
Et casse couille quand tu composes des grosses grappes : si t'es oibligé de te faire injecter plusieurs repo, c'est moins joli que un seul (bon si tu tombes dans ce genre de cas t'as certainement un problème de conception de ton modèle en réalité)
 


Ok donc tu crées des classes finalement, that's too bad. Ton raisonnement tombe à l'eau.
 
Je vois pas le concept d'avoir un repository trans entity, tu as entendu parler de single responsibility ? Ca doit être chiant à gérer maintenir et tester.

mood
Publicité
Posté le   profilanswer
 

 Page :   1  2  3  4  5  ..  25474  25475  25476  ..  27174  27175  27176  27177  27178  27179

Aller à :
Ajouter une réponse
 

Sujets relatifs
Plus de sujets relatifs à : [blabla@olympe] Le topic du modo, dieu de la fibre et du monde


Copyright © 1997-2025 Groupe LDLC (Signaler un contenu illicite / Données personnelles)