Пікірлер
@youbou6971
@youbou6971 10 сағат бұрын
Hello, merci pour la vidéo. question: j'ai un scénario où je dois gérer une liste de Task. est ce que cest mieux de gérer ca manuellement avec List<Task> ou alors utiliser le ThreadPool.QueueUserWorkItem ?
@HTSCoding
@HTSCoding 56 минут бұрын
L'avantage de la classe Task, c'est qu'elle te permettra d'observer le résultat de tes actions (une Task est une promesse d'exécution), là où avec QueueUserWorkItem c'est du "fire and forget"
@youbou6971
@youbou6971 42 минут бұрын
@HTSCoding mais si je n'ai pas besoin d'observer le résultat, en terme de performance c'est quoi le mieux ?
@HTSCoding
@HTSCoding 34 минут бұрын
@@youbou6971 Probablement QueueUserWorkItem vu que ça ne crée pas de Task en mémoire
@extasyy3578
@extasyy3578 10 сағат бұрын
Salut ! Tu as utilisé quel logiciel pour ta présentation ?
@HTSCoding
@HTSCoding 57 минут бұрын
XMind
@extasyy3578
@extasyy3578 38 минут бұрын
@HTSCoding merci beaucoup pour la vidéo et ta réponse !
@codures
@codures 11 сағат бұрын
A ce que je sache, les threads POSIX ne sont toujours pas dépréciés sous Nix. Donc, pourquoi MS vire les threads ? Ça c'est la question...
@HTSCoding
@HTSCoding 57 минут бұрын
Ce n'est pas ce que j'ai dit, et MS n'a en aucun cas marqué la classe Thread comme étant dépréciée ni a pour projet de la virer... Ce qui est déconseillé, c'est d'utiliser la classe Thread pour gérer des appels asynchrones/concurrents car on a aujourd'hui la classe Task pour cela qui profite d'améliorations sous-jacente. Cela a été déconseillé car dans la majorité des cas, les devs utilisaient la classe Thread pour faire ce genre d'appels. Cependant, ça fait sens de l'utiliser lorsqu'on a réellement besoin de travailler avec le concept de thread au niveau du système
@setsu8776
@setsu8776 15 сағат бұрын
Allez hop un ptit clean des Thread.Sleep dans le projet legacy merci.
@HTSCoding
@HTSCoding 11 сағат бұрын
Go les remplacer par des Task.Delay
@matthieu875
@matthieu875 17 сағат бұрын
Salut, je voulais savoir, tu as déjà vu des pro utiliser neovimj'ai l'impression que rider et vs sont mandatory entreprise pour dotnet
@sacalbal
@sacalbal 6 сағат бұрын
J'ai jamais vu neovim en milieu pro personnellement.
@user-qn8wj4lu5y
@user-qn8wj4lu5y 17 сағат бұрын
J'ai découvert la semaine dernière que RNGCryptoServiceProvider était dépréciée et remplacée par RandomNumericGenerator. Également certains constructeurs de la classe Rfc2898DeriveBytes ... mais c'était peut être déjà le cas avant l'arrivée de .Net 9.
@Naillik0
@Naillik0 18 сағат бұрын
Merci pour ces informations, beau travail 👍
@HTSCoding
@HTSCoding 15 сағат бұрын
Avec plaisir 👍
@daddyhallo4215
@daddyhallo4215 2 күн бұрын
2:15 🤣 Oui effectivement si l'ordinateur affiche "true" il faut en acheter un nouveau! PS: Merci pour toutes ces vidéos sur le C#. J'apprends vite!
@Cirfain
@Cirfain 4 күн бұрын
Hello, Je ne sais pas utiliser le benchmarking (mais si un jour tu fais une vidéo dédiée... ;) ) J'ai toujours utilisé les outils fournit par le c# de base comme le replace et autre extension de String que je trouve pas mal utile. DateTime d1 = DateTime.Now; //pour le bench string items = "aaa;-bbb;ccc;ddd-;eee;ff-f"; StringBuilder sfinal = new(); foreach (String s in items.Split(';')) { sfinal.Append(s.Contains('-') ? s.Replace("-", "") : s).Append(";"); } //bench et affichage DateTime d2 = DateTime.Now; double ms = (d2 - d1).TotalMilliseconds; Console.WriteLine(sfinal); Console.WriteLine(ms.ToString()); J'arrive à 7 ms Et si c'est juste les - à virer sans s'occuper des blocs alors seulement le replace est utile. A+ Olivier
@HTSCoding
@HTSCoding 4 күн бұрын
Pour la partie benchmarking, j'avais fait une vidéo à l'époque qui a finit en vidéo réservée aux membres. Pour ce qui est de la proposition, le souci avec cette approche, c'est que ça remplace les "-", ça ne supprime pas du retour les éléments qui les contiennent (ce qui était la demande initiale). S'il s'agit d'un simplement remplacement, je pense que tu n'a même pas besoin de Split, juste à faire un Replace sur la chaine directement pour obtenir une nouvelle chaîne (et ce sera plus efficace niveau consommation mémoire ;-) )
@Cirfain
@Cirfain 3 күн бұрын
@@HTSCoding J'avais mal compris la demande d'enlever les blocks avec - Dans ce cas, l'approche reste la même : on remplace sfinal.Append(s.Contains('-') ? s.Replace("-", "") : s.Append(";"); par if (!s.Contains('-')) sfinal.Append(s).Append(';'); Et ça ne rajoute que les blocks sans le "-" dans la chaine final et toujours 7ms.
@HTSCoding
@HTSCoding 3 күн бұрын
Oui, c'est sûr, mais niveau mémoire, ton Split pour le foreach va créer en mémoire un tableau de N string (correspondant à chacun des blocs)
@jetonpeche
@jetonpeche 6 күн бұрын
tip top merci beaucoup pour ses explications ! Il fallait le trouver celui-là 🥰
@HTSCoding
@HTSCoding 6 күн бұрын
Avec plaisir 😊
@bulltrading-fr
@bulltrading-fr 6 күн бұрын
Sympa comme vidéo mais un peu long pour une simple distinction. Merci quand même :)
@nicolaslair7627
@nicolaslair7627 11 күн бұрын
Super intéressant, merci pour la présentation ;)
@setsu8776
@setsu8776 13 күн бұрын
Merci pour l'info
@mklk7377
@mklk7377 15 күн бұрын
Hello, tu conseillerais C# a un débutant qui veut se lancer dans le web en full stack ou plutôt d'aller sur des langages plus conventionnel de type PHP ou JS et ses librairies/framework ? Si oui pr le C#, pourquoi et qu'est-ce qu'il apporte que les autres n'apportent pas ? Merci
@HTSCoding
@HTSCoding 14 күн бұрын
Chaque langage a ses avantages et ses faiblesses. Par rapport à JS & PHP, les avantages de C# sont, à mon avis, le typage fort, l'approche orientée objet dans le design du langage, la performance; le fait que l'écosystème soit très unifié (notamment par rapport à JS) et un framework ultra complet et performant. Après, je pense également que la courbe d'apprentissage est plus élevée en C# que les deux autres, mais c'est pour ça que généralement, ça paie mieux :-)
@mklk7377
@mklk7377 14 күн бұрын
@HTSCoding merci pr ta réponse. Je fais du laravel et j essaie de monter en compétences pr etre employable, mais je vois pratiquement jamais d annonce dans le c#, la majorité du temps c est php/js/java ^^
@jetonpeche
@jetonpeche 13 күн бұрын
@@mklk7377 salut, c'est normal, car l'historique web, c'est PHP / JS à 80 90% de mémoire, donc il y a un besoin de maintenance des app existante. Pour les nouvelles app, je pense que les entreprises reste sur les langages auxquels elles ont déjà une certaine maitrise. Le C# a eu une très mauvaise pub pdt longtemps, alors du coup les entreprises ne se posent plus trop la question, et a l'école, il est enseigné, mais pas des masses.
@mklk7377
@mklk7377 13 күн бұрын
@@jetonpeche j'ai fait un peu de c# j avais rien compris, je pense que quand tu démarres, c est difficile de nous faire switcher entre php et c# pr partir en js (mon parcours chaotique) yavait meme du flutter/dart dedans...
@user-qn8wj4lu5y
@user-qn8wj4lu5y 15 күн бұрын
Concernant la restitution de la valeur stockée dans le cache hybride, il priorise le cache distant ? Quid du fonctionnement du cache hybrid si la connexion à Redis est interrompue ? Autrement merci pour ces explications claires et concises 😉.
@HTSCoding
@HTSCoding 15 күн бұрын
Le cache hybride est pensé pour la performance donc si la donnée est disponible en L1 (mémoire), il la restitue directement (d'où l'importance d'avoir une bonne stratégie d'éviction). Sinon, il va sur le L2 pour s'alimenter et en passant renseignera le L1. Si ce n'est sur aucun des deux, la factory entre en jeu. Sans connexion à Redis, il travaille en mode mémoire seulement, ce qui est un avantage par rapport au cache distribué de base qui lui renverra une exception. (tout du moins, c'est ce que j'en ai compris en cherchant ça et là)
@fredericdemaude3118
@fredericdemaude3118 20 күн бұрын
Super !
@OyedeleGloria
@OyedeleGloria 20 күн бұрын
@HTSCoding Boost Your Udemy Course Rankings with SEO Maximize visibility, attract students, and increase enrollments with strategic SEO: Keyword Optimization: Use high-traffic keywords in titles and descriptions. Compelling Content: Craft SEO-friendly, attention-grabbing course details. Algorithm Alignment: Structure content to rank higher on Udemy. Engagement Boost: Improve reviews, ratings, and completion rates. External Promotion: Drive traffic via Google, social media, and backlinks.
@arius8075
@arius8075 21 күн бұрын
Merci Christophe pour la vidéo ! Après la question (je pense) est assez vite répondu, quand on sais comment fonctionne la "famille" des Span, et que c'est sur la pile, L'usage des Span se rapproche très fortement sur la vision qu'on pourrait avoir en C++
@patrickbahi1463
@patrickbahi1463 21 күн бұрын
Merci Christophe pour cette vidéo et ce format
@jetonpeche
@jetonpeche 22 күн бұрын
tres cool comme format !
@krcarbo
@krcarbo 22 күн бұрын
Salut Christophe, sympa comme format. Je n'aurais pas imaginé la Regex si loin en termes de performance/consommation.
@HTSCoding
@HTSCoding 22 күн бұрын
Comme quoi, il faut toujours mesurer et benchmarker, encore plus par rapport à son propre scénario :-) (je t'avoue que j'aurais pensé la Regex source-gen comme étant aussi assez perf)
@raptor78455
@raptor78455 22 күн бұрын
Clair et concis, merci !
@yaokpinludovicdonaldkouame2990
@yaokpinludovicdonaldkouame2990 27 күн бұрын
Merci beaucoup pour ces informations
@landstalkerreda5507
@landstalkerreda5507 Ай бұрын
WPF est très très fort quand même et permet de faire tout ce que peuvent faire les autres techno (Qt, MFC, …) l’inverse n’est pas vrai par contre …. Le changement de thème est une option très ancienne qui existe même sur MFC, mais c’est sympa de l’avoir rajouté
@arius8075
@arius8075 Ай бұрын
Juste trop fort :D !
@SnIpEuRDesign
@SnIpEuRDesign Ай бұрын
Super ! Ce serai bien de parler de pourquoi LINQ est mauvais ici : => On utilise un Any(LongChaine) et un Contains(voyelle) => Complexité de O(taille de LongChaine * taille de voyelle) => O(N*M). Alors que avec IndexOfAny (ou la regex), on utilise la methode optimisé de la classe String + une complexité de O(N)
@jpedithe2171
@jpedithe2171 Ай бұрын
Bonjour et Merci de ces précisions.Je suis débutant et j'essaie à partir d'un tuto de créer une page web à partir de zero. J'ai créé mon projet ( dossier, sous dossier , mon fichier .html que j'ai chargé dans mon projet VS code , ) / A présent je souhaite aller de l'avant et améliorer la 'structure' de ma page en y ajoutant d'autres lignes de codes mais ça se complique . J'ai appris en suivant mon tuto qu'il y avait un outil spécifique intégré à VS code ( boilerplate) qui permet de générer rapidement un prototype HTML , une sorte de modèle , mais cet outil ne s'affiche pas . Si je tape 'doc' je devrais avoir une suggestion qui vient de 'Emmet Abbréviation' et en tapant sur TAB un certain nombre de lignes de code devraient se générer automatiquement pour me permettre de créer ma page , mais ce n'est pas le cas , rien ne s'affiche !. Je suis bloqué à ce niveau . Auriez-vous , svp, la gentillesse de m'aider ou de me dire ce qui "bugge" Merci
@bulltrading-fr
@bulltrading-fr Ай бұрын
Parfois quand je suis autant dans l'optimisation, je me demande si ce serait pas plus utile directement de passer par du code compilé en C++, et appeler la fonction dans la Dll directement en Csharp pour optimiser la rapidité d'une fonction ? Qu'en penses tu ?
@HTSCoding
@HTSCoding Ай бұрын
Justement, Microsoft en est revenu de ça 😉 Avec les optis de dotnet core, ils préfèrent rester 100% en managé car l’interop n’est pas transparent et avec tout le contexte le compilateur JIT peut bien optimiser
@bulltrading-fr
@bulltrading-fr Ай бұрын
​@@HTSCoding Intéressant, c'est toujours bon à savoir. Étant donné que nous travaillons sur un moteur de backtesting dans le trading, l'optimisation peut s'avérer cruciale. Cependant, je pense qu'en règle générale, les optimisations passent d'abord par un code mieux conçu, avant d'être portées sur des aspects de plus bas niveau.
@HTSCoding
@HTSCoding Ай бұрын
@@bulltrading-fr Je bosse aussi pour un client qui fait du trading de matière première, donc oui, je comprends bien le point. Néanmoins, il faut être vigilant sur le côté "code mieux conçu", car pour certains, ça veut dire mieux architecturé, mais très souvent, la performance vient avec des patterns que certains peuvent considérer comme des "anti-patterns". Disons qu'il faut toujours être courant du coût que représente un certain algo en terme de conso mémoire et/ou cpu
@gaelbokokibiti9499
@gaelbokokibiti9499 Ай бұрын
Les autres méthodes sont hyper optimisées comparées à LINQ que j'utilise à 100%. C'est super ça, merci Christophe
@HTSCoding
@HTSCoding Ай бұрын
Excellent, une bonne solution pour ne plus dépendre de LINQ pour ce cas d'usage alors :-)
@gaelbokokibiti9499
@gaelbokokibiti9499 Ай бұрын
@@HTSCoding je n'arrive pas à appliquer l'une des autres méthodes avec mon cas d'usage où je dois returner la chaine sans "-" . T'as un conseil? string items="aaa;-bbb;ccc,ddd-,eee;fff"; var itemsSansTiré=items.Split(';').Where(m => !m.Contains('-')); return string.Join(";", itemsSansTiré)
@gaelbokokibiti9499
@gaelbokokibiti9499 Ай бұрын
Je n'arrive pas à appliquer l'une des autres methodes dans mon cas d'usage où je dois recuper la chaine avec des items sans "-". T'as un conseil? string items="aaa;-bbb;ccc;ddd-;eee;ff-f"; var itemsSansTiré=items.Split(';').Where(m =>! m.Contains('-')); return string.Join(";", itemsSansTiré)
@HTSCoding
@HTSCoding Ай бұрын
EDIT : je viens de relire le truc, j'avais lu trop vite. Tu sais quoi ? je vais en faire une nouvelle vidéo "question d'un abonné" pour aller plus en profondeur ;-)
@charleskone9458
@charleskone9458 Ай бұрын
très bien expliqué
@maximeaubry2613
@maximeaubry2613 Ай бұрын
je vais devoir regarder la vidéo une seconde fois car je n'ai rien compris. 5 années de dev javascript, ça fait mal.
@foudilbenouci482
@foudilbenouci482 Ай бұрын
Elles sont stockées ou les chaines de caracteres du span<string> que tu passes en parametres si il n' y a pas d'allocation de memoire ???
@9huitt
@9huitt Ай бұрын
Merci pour ton tuto 🙏🏾🙏🏾🙏🏾
@duffscs
@duffscs Ай бұрын
Top ça pourrait vraiment être pratique. Ici la taille est fixé mais ça serait applicable pour des schémas variable ? Par exemple on veut les élements 0, n-3 et n-1, n different pour chaque occurence, ou vaut mieux privilégier une regex ?
@dime0333
@dime0333 Ай бұрын
top, dans mon job je fais beaucoup d'import export, du coup je v appliquer cette methode
@HTSCoding
@HTSCoding Ай бұрын
Tu es dans le cas idéal, surtout si tu dois récupérer uniquement une petite partie des datas. N'hésites pas à benchmarker tes algos import/export pour te rendre compte du gain :-)
@vgte
@vgte Ай бұрын
Super video. Comme toukours
@HTSCoding
@HTSCoding Ай бұрын
Merci beaucoup 😊
@MarcBALLOU
@MarcBALLOU Ай бұрын
C'est super , merci beaucoup
@Hakeem2k7
@Hakeem2k7 Ай бұрын
Simple, efficace et accessible! Bravo!
@justsmile7449
@justsmile7449 Ай бұрын
Bonsoir je suis interessé par .net est ce que c est un bon move en terme de demande comparé a du java spring boot ?
@LN_3333
@LN_3333 Ай бұрын
Très intéressant et très utile pour moi ! Merci ! 👍
@SANOUDrissa-v2m
@SANOUDrissa-v2m Ай бұрын
Merci Christophe
@tancelinmazzotti1654
@tancelinmazzotti1654 Ай бұрын
Bonjour Christophe, je pense que je vais passer les 2 prochains mois avec ta petite voix dans mes oreilles pour passer de dev Golang à dev C#/.Net, j'espère que je mise sur le bon cheval 😂
@1conscience0dimension
@1conscience0dimension Ай бұрын
C'est fabuleux d'avoir créé l'entreprise comme une entité physique. Je suis sûr que ça rajoute encore des charges. Même si par de multiples procédés archi complexes comme tu viens de les décrire, on peut limiter la casse. Edit : Et pendant ce temps là, les super grosses entreprises échappent à l'impôt... Et surtout ceux qui sont derrière et qui les possèdent. Et qui, au final, ne travaillent même pas.
@1conscience0dimension
@1conscience0dimension Ай бұрын
Bienvenue en ploutocratie. Une super bonne mémoire, extrêmement rigoureux, entreprenant et pourtant, c'est super serré. Je passerai même pas le fait des concessions que t'as dû faire en matière de santé pour continuer à rester actif et en plus avec une naissance dans la même période. Mais bon moi qui n'ai plus d'activités j'ai eu largement le temps de m'informer sur qui était derrière la plandémie et ce que ça implique. C'est là qu'on se demande pourquoi les gros cerveaux et bosseurs n'y voient que du feu.... Mais bon chacun sa route, chacun son chemin...
@ahmedeloufir
@ahmedeloufir Ай бұрын
🤦🏻‍♂️
@michellapeyre5286
@michellapeyre5286 Ай бұрын
Bonjour, très bon teasing 😃, du coup, je reste sur ma faim. Je n'ai pas trouvé le cours complet. Il est réservé aux abonnés ou on peut l'acheter en tant sue cours ?
@HTSCoding
@HTSCoding Ай бұрын
Hello, le cours est dispo ici : www.hts-learning.com/shop/course/infos/aspnet-webapi Accessible avec tous les autres cours dans le cadre de l'abonnement bien sûr
@foudilbenouci482
@foudilbenouci482 2 ай бұрын
Super intéressant , merci !
@1conscience0dimension
@1conscience0dimension 2 ай бұрын
La partie sur les classes est vraiment bien. Par contre, les introductions théoriques super longues à chaque fois avec hyper de détails pour des gens qui ont jamais vu le sujet, comme par exemple les interfaces. Tout de suite, on rentre dans la complexité d'explications sans même avoir vu trop comment ça pouvait fonctionner. Il y a vraiment de quoi se perdre Et surtout de perdre du temps Après, en termes de nouveautés sur le nouveau C Sharp, pour avoir regardé les tutos Microsoft, tu devrais. Tu devrais te mettre à jour parce que franchement, c'est pas très moderne comme explication par rapport à ce qui est proposé bien plus rapidement sur les quelques tutos Microsoft. Donc, je suis très mitigé sur ce tuto. C'est peut-être une méthode d'apprentissage Traditionnelles, mais pour moi, s'encombrer de tous ces termes techniques ne sert strictement à rien, donc j'ai passé de nombreux passages à vitesse fois 3, et encore, c'était très long. On voit que le tutoriel de Microsoft fait l'impasse justement sur la présentation de ces termes techniques pour entrer plus dans des cas concrets.
@SANOUDrissa-v2m
@SANOUDrissa-v2m 2 ай бұрын
formidable merci