Тёмный

10 C# Libraries To Save You Time And Energy 

IAmTimCorey
Подписаться 421 тыс.
Просмотров 207 тыс.
50% 1

Опубликовано:

 

28 сен 2024

Поделиться:

Ссылка:

Скачать:

Готовим ссылку...

Добавить в:

Мой плейлист
Посмотреть позже
Комментарии : 474   
@_Hadda
@_Hadda 3 года назад
This is by far the greatest c# channel on youtube, great work! Thank you!
@IAmTimCorey
@IAmTimCorey 3 года назад
Glad you enjoy it!
@Marlonlon1991
@Marlonlon1991 3 года назад
i got into software development by learning java first. just recently switched to c# and i highly appreciate what you are doing here. keep it up!
@MagicNumberArg
@MagicNumberArg 3 года назад
Yo. If I may ask a question about your choice, why did you choose C#, and have you considered Kotlin (since, AFAIU, it brings a lot of the good parts of C# to JVM world)?
@Marlonlon1991
@Marlonlon1991 3 года назад
@@MagicNumberArg I did not really have a choice. On my new job there is some C# software that i will have to maintain. So i started using C# for my own projects. I want to keep personal complexity as low as possible since i am just kind of starting out. But thanks for pointing that out. I might have a look at Kotlin :)
@IAmTimCorey
@IAmTimCorey 3 года назад
Welcome to our world of C#! I'm glad my resources are of help.
@nickchapsas
@nickchapsas 3 года назад
An interesting take on the subject. I like how these are more business level functionality focused rather than more developer-focused and granular like I have on my video on the subject. Nice stuff 🙏 PS: I historically had scaling issues with Seq and I can't really recommend it to anyone, at least not if you want long term retention (7-15 days+) in a high throughput environment
@IAmTimCorey
@IAmTimCorey 3 года назад
Interesting. I'll check it out. Thanks for sharing.
@TheCameltotem
@TheCameltotem 2 года назад
Your channel is very different, its very granular and low level examples of how to optimize code where as Tim Corey has a broader perspective and more of a overview. Both are are obviously great depending what you are out after.
@brianwells990
@brianwells990 3 года назад
This was very helpful and put several tools on my radar. THANK YOU!!
@IAmTimCorey
@IAmTimCorey 3 года назад
You are welcome.
@themasterrogerdelgado
@themasterrogerdelgado 3 года назад
Several of these will be very useful to me. Thanks Tim.
@IAmTimCorey
@IAmTimCorey 3 года назад
You bet
@lenardbartha6722
@lenardbartha6722 3 года назад
Hangfire would be awesome to see...
@IAmTimCorey
@IAmTimCorey 3 года назад
Thanks for the suggestion.
@devmoth9274
@devmoth9274 3 года назад
I'd love a video or video-series about software-architecture and clean code. I've seen your videos about SOLID and DRY and Refactoring and many more that kinda talk about that topic. But as my applications are growing I still think they become a bit messy. Like where do i put all the Interfaces for dependency Injection. Where do i put all the Repositories for a repository pattern and so on. But also something like, how to manage overloads, or to many parameters for a method. Or I also struggle sometimes to find out which responsibility is something. Let's say for example a chess programm, who stores the position of a chess piece? The piece itself, the board, a tile on the board, or an extra gamestate class,...? And then further who would move those pieces..? I know there a no clear answers to those questions. But any tip or trick on those questions can be really helpfull.
@IAmTimCorey
@IAmTimCorey 3 года назад
I appreciate the suggestion and added it to my list.
@Avatar911
@Avatar911 3 года назад
I used Hangfire for job scheduling and it is easy to implement it. But only problem is to process parallel jobs we have to purchase the license Hangfire Ace packages
@IAmTimCorey
@IAmTimCorey 3 года назад
Yep, but that's how they pay for their development costs. The developers have to eat, and that's the way they do it.
@NikolaTesla10093
@NikolaTesla10093 3 года назад
Tim you are a legend ,
@tomthelestaff-iamtimcorey7597
@tomthelestaff-iamtimcorey7597 3 года назад
Thanks for sharing.
@TaSwavo
@TaSwavo 3 года назад
Interesting - will look at EPPlus as it may put a lot of protections against the inconsistency of the Excel reference And I like the though of better logging And the email one Papercut makes sense for us.
@tomthelestaff-iamtimcorey7597
@tomthelestaff-iamtimcorey7597 3 года назад
Excellent! Glad you can use those.
@d.g.s.7572
@d.g.s.7572 2 года назад
Thanks!
@IAmTimCorey
@IAmTimCorey 2 года назад
Thank you!
@abdelkiki
@abdelkiki 3 года назад
Thank you, Tim
@tomthelestaff-iamtimcorey7597
@tomthelestaff-iamtimcorey7597 3 года назад
Thank you for watching
@DanielWitch
@DanielWitch 3 года назад
FileHelpers is my all time favorite
@IAmTimCorey
@IAmTimCorey 3 года назад
Great!
@ajvenable7937
@ajvenable7937 3 года назад
Thanks for the video!
@IAmTimCorey
@IAmTimCorey 3 года назад
You're welcome!
@lakersgogo
@lakersgogo 3 года назад
So surprised that the Dapper, the AutoMapper, and the Nowtonsoft.JSON are not on the list. Maybe they are not just suggested but are necessary ones that no need to mention again. :)
@tomthelestaff-iamtimcorey7597
@tomthelestaff-iamtimcorey7597 3 года назад
Everyone has their favorites!
@argeelearner3978
@argeelearner3978 3 года назад
Thanks for sharing
@IAmTimCorey
@IAmTimCorey 3 года назад
You are welcome.
@rockymarquiss8327
@rockymarquiss8327 2 года назад
In regards to your comments about logging, I have a routine that copies data from an Oracle server to an MS SQL Server. It massages some of the data. I like to log what I call exceptions. Data that doesn't fit the norm, but not NECESSARILY incorrect data. If a user calls and indicates that something looks amiss I can pull up that log to see if an exception existed and if so, what didn't it like about it? Do I read the logs? Not normally - only when warranted.
@IAmTimCorey
@IAmTimCorey 2 года назад
Just be careful there, because that logged data could be sensitive in nature. It is also not connected with the actual data, so you could run into legal issues if a user asks to be forgotten and you leave their information in the log files.
@rockymarquiss8327
@rockymarquiss8327 2 года назад
@@IAmTimCorey Thank you for the advice - and it's very solid advice. In this case the exceptions aren't tied to any personal data whatsoever and everything in this data that I'm retrieving is considered public information. I haven't implemented this logging as of yet, just something that I'm looking into. I need for staff to know what data that looked suspicious such as missing a property description. The program makes a safe assumption but it might not be the correct assumption. The owner of the data needs to be aware of the issue and decide whether it is a problem or not.
@allthecommonsense
@allthecommonsense 2 года назад
11:21 in this modern era of *everything must be free* or it won't ever gain traction, it's probably an invalid assumption that every "commercial application" is making money. That said, I fully support paying people for great work and valuable products. I'm not an *everything must be free* advocate.
@IAmTimCorey
@IAmTimCorey 2 года назад
If you aren't making money then you aren't a commercial application. If you aren't making a profit, that's another issue and not really the fault of the tools you used. We wouldn't expect to not make payments on a delivery vehicle just because no one is buying our products out of it. That's what I was saying.
@saurabhchauhan232
@saurabhchauhan232 3 года назад
Would be great if yo make one video on Polly,
@IAmTimCorey
@IAmTimCorey 3 года назад
Topic suggestion noted and have added to my list, thanks.
@MADCookieTube
@MADCookieTube 3 года назад
Suggestion: Instead of giving specific usage of each tool, consider teaching on your approach to evaluating new tools. From what I have learned from you, you would create a new project that exercises only the tool in question. Maybe you can talk through your approach. Highlight things you'd consider a "red flag" (show stopper) or "yellow flag" (concern).
@IAmTimCorey
@IAmTimCorey 3 года назад
Thanks for the suggestion.
@veec1539
@veec1539 3 года назад
No problem paying for libraries, someone took their time to write that coffee so you don't have to. However once a price is involved then the question becomes is it worth to pay x in money or time for the desired functionality
@IAmTimCorey
@IAmTimCorey 3 года назад
Agreed.
@myemailvl
@myemailvl 3 года назад
Very useful information. Thanks a lot!
@IAmTimCorey
@IAmTimCorey 3 года назад
Glad it was helpful!
@williamliebert4711
@williamliebert4711 3 года назад
Awesome video, Tim! Just wanted to let you know a better reason to pay for NuGet packages that you deploy to production; usually you're not buying the rights to use the package, but the ability to get enterprise support for it. This is incredibly valuable, since why would you want your customers to rely on code that you can't support?
@IAmTimCorey
@IAmTimCorey 3 года назад
Thanks for that! Great point.
@user-rp9iis1en6h
@user-rp9iis1en6h 3 года назад
In asp.net core web api, is it possible to raise an event from an class, and listen to this event from another class and based on the event, do some task. How to achieve this? Also what is event-event handler-event bus? Very confusing. I was trying to decouple events in a standard .net library and was trying to move all events in one library. But got very confused.
@robert_belknap
@robert_belknap 3 года назад
Have you tried ClosedXML compared to EPPlus?
@IAmTimCorey
@IAmTimCorey 3 года назад
I may do a video on that in the future. I prefer EPPlus because of how robust it is.
@beardordie5308
@beardordie5308 3 года назад
How could one go about integrating Serilog and Seq with Unity instead of Unity's text-only debug console log?
@IAmTimCorey
@IAmTimCorey 3 года назад
Since its all C# based, see if this will help you - ru-vid.com/video/%D0%B2%D0%B8%D0%B4%D0%B5%D0%BE-_iryZxv8Rxw.html
@samiaduigu9179
@samiaduigu9179 3 года назад
Pls demo for Polly and Hangfire
@IAmTimCorey
@IAmTimCorey 3 года назад
Thanks for the suggestion. I have added it to the list of possible future topics.
@codelta2
@codelta2 3 года назад
How about newtonsoft.json aka json net? I really like that!
@IAmTimCorey
@IAmTimCorey 3 года назад
I will add it to the list. Thanks for the suggestion.
@portiseremacunix
@portiseremacunix 3 года назад
Dapper...
@IAmTimCorey
@IAmTimCorey 3 года назад
Yep, I take that one for granted.
@mateuszryszkaniec7345
@mateuszryszkaniec7345 3 года назад
Will HangFire work even if cloud hosted web app go sleep?
@IAmTimCorey
@IAmTimCorey 3 года назад
Good question. I don't think so, but I'm not sure the web app would go to sleep with a running process.
@samithraniroshana4089
@samithraniroshana4089 3 года назад
does anyone know the free quality pdf generation library for .Net?
@Dave-nv5rv
@Dave-nv5rv 3 года назад
Syncfusion community is free and has it. Telerik(if you have an .edu email address) is free as well.
@MasterOfMisc
@MasterOfMisc 3 года назад
I have used github.com/vilppu/OpenHtmlToPdf to convert HTML to PDF in the but under the hood most of the nuget packages out there use wkhtmltopdf under the hood.
@IAmTimCorey
@IAmTimCorey 3 года назад
Thanks for sharing
@mrmoinn
@mrmoinn 3 года назад
Are there any Python matplotlib equivalents in C#?
@99MrX99
@99MrX99 3 года назад
for plotting you can look at oxyplot and scottplot
@IAmTimCorey
@IAmTimCorey 3 года назад
Thanks for the suggestions Alex.
@AdrianB1
@AdrianB1 3 года назад
Hi Tim, Do you have any experience freelancing? Is it possible to freelance if you are a c# web developer? I would like to see a video from you on this topic.
@IAmTimCorey
@IAmTimCorey 3 года назад
I do and I talk about getting that type work here - ru-vid.com/video/%D0%B2%D0%B8%D0%B4%D0%B5%D0%BE-JSSfcXSiq1I.html
@Finezzato
@Finezzato 3 года назад
you got a small issue pronouncing the "d" letter
@IAmTimCorey
@IAmTimCorey 3 года назад
Bummer.
@kellelein
@kellelein 3 года назад
Would love to see a video about MassTransit
@marcusmaunula5018
@marcusmaunula5018 3 года назад
Also Hangfire :)
@GeorgiMarokov
@GeorgiMarokov 3 года назад
If you more interested in MassTransit you should check this playlist by the creator of the package himself: ru-vid.com/group/PLx8uyNNs1ri2MBx6BjPum5j9_MMdIfM9C
@IAmTimCorey
@IAmTimCorey 3 года назад
I appreciate the suggestion and added it to my list.
@bitShft
@bitShft 3 года назад
@@GeorgiMarokov I used an earlier version of MassTransit for an event driven system we had at my previous place of employment. We had upwards of 100,000,000+ messages a day going through the system. I would definitely use MassTransit again for a future project. As a matter of fact . . . now that I'm at a place that is Linux based, I look forward to trying out the latest MassTransit using .NET Core.
@NavanBethrax
@NavanBethrax 3 года назад
The "don't use real email addresses" part remembers me of a one-day-trail at a local web solutions company. I had to send some template mails, and i was new to javascript at that time. I ended up flooding the inbox of the company ceo with thousands of sample mails. Maybe i would've got the job if i flooded a testserver instead :D
@IAmTimCorey
@IAmTimCorey 3 года назад
Valuable lesson learned and Thank You for sharing. Hopefully others can learn from this. Don't use real "data", even if you think its secured and completely under your control. CEO's email address as test data did not work so well in this case. Avoid using real data (Actual account numbers, email addressed, credit card numbers, personal information, etc.) even when you are on a test server. I have seen too many "fails" where testing has impacted real world production environments.
@Dave-nv5rv
@Dave-nv5rv 3 года назад
@@IAmTimCorey So what you're saying is use common sense😊
@marcusmaunula5018
@marcusmaunula5018 3 года назад
The most classic example I can think of was from the 90s. One guy in a large Bank made a test email supposed to go to those with more than than a certain amount in the Account. He started them with Dear Rich Bastard. Unfortunately it went out to the actual customers :). He got fired for that. Not sure I would have been offended personally, kinda funny thing to get from your bank :).
@johnali4117
@johnali4117 3 года назад
@@Dave-nv5rv But the sense is not common with everybody!
@Rhodair
@Rhodair 3 года назад
@@Dave-nv5rv common sense is neither sensical nor common
@nikbrons
@nikbrons 3 года назад
*EPPlus is free for commercial applications below v 5.0
@IAmTimCorey
@IAmTimCorey 3 года назад
Thanks for the tip.
@bangonkali
@bangonkali 3 года назад
Syncfusion also has a generous free tier for small operations. It gets some tasks done rather quickly.
@marcusmaunula5018
@marcusmaunula5018 3 года назад
@@bangonkali You have to keep track of the revenue of your customers though. Max 1m USD per year. Might just be easier to buy a package.
@bangonkali
@bangonkali 3 года назад
@@marcusmaunula5018 I agree it's always best to just buy the license and at that point it will be great to consider devexpress or telerik and others too.
@marcusmaunula5018
@marcusmaunula5018 3 года назад
@@bangonkali I am a little tempted by the SF Blazor Package. You have any experience with it?
@AanDahliansyah
@AanDahliansyah 3 года назад
"Never wanna send out an email to real people for test purpose". Yes, you got me. But that's fun.
@IAmTimCorey
@IAmTimCorey 3 года назад
Testing fails - now there is a fun (and scary) topic.
@hryhoriishkliaruk9499
@hryhoriishkliaruk9499 3 года назад
Email no, SMS yes :)
@ahmedabd-a6
@ahmedabd-a6 3 года назад
never send advertising emails to clients after midnight, its not fun at all, you can ask my boss 😅
@anarhistul7257
@anarhistul7257 3 года назад
How else would you know they are real?
@MusicForHourss
@MusicForHourss 3 года назад
Beginner here. We would we need a email library. What' s the benefit compared to something easy and fast like gmail?
@IAmTimCorey
@IAmTimCorey 3 года назад
An email library is what we use to send email from C# code. It still needs to connect to an email server (like Gmail) to send the actual email. Think of a C# email library as replacing the user typing out the message in an email client. C# does the typing and hits send. It relies on an email server to do the rest.
@wavypoland
@wavypoland 3 года назад
2:38 SharpZipLib 4:02 FluentEmail 5:22 MailKit 6:14 Papercut SMTP 8:56 EPPlus 11:53 Hangfire 16:19 MassTransit 18:34 Polly 22:20 Serilog 26:05 Seq
@IAmTimCorey
@IAmTimCorey 3 года назад
Excellent - Thank you. This will benefit many other viewers so I added it to the video. Just so you know, you need to start with "0:00 " to get RU-vid to pick it up and apply it to the video, so I added "0:00 Intro"
@RalfsBalodis
@RalfsBalodis 3 года назад
Thanks.
@kevincordell9539
@kevincordell9539 3 года назад
How is EPPlus better then OpenXMLand ExcelDataReader for reading and creating Excel spreadsheets? I spent a lot of time figuring out how to use those and find examples to create spreasheets with validation and import/export those spreadsheets for my business. I used ExcelDataReader because it was simple to read a spreadsheet created by someone else and skip the headers and columns that didn't match my criteria. I have something that works and unless it is WAY simple, I don't want to change anything at the moment, although I would like to upgrade my desktop application to .NET 5.0 and take advantage of new features. However, I'm stuck with some windows functionality in my library (yes probably a bad practice) to popup errors when trying to import spreadsheets and allow a retry.
@darekf1776
@darekf1776 3 года назад
Very informative video, appreciate it. It would be good idea to do such videos from time to time.
@IAmTimCorey
@IAmTimCorey 3 года назад
Glad you liked it!
@giftmguni7368
@giftmguni7368 3 года назад
I would say Quartz is much better than Hangfire but it really depends on what you want to do. Quartz has more features and it's even easier with Crystal Quartz (Remote UI) to schedule jobs,maintain and re trigger them. Great video Tim.
@IAmTimCorey
@IAmTimCorey 3 года назад
Fair enough! Thanks for sharing your perspective.
@Gramr98
@Gramr98 3 года назад
I have a video request: Could you create a video where you explain Semaphores in detail? And maybe explain the differences between them, Mutex and Lock and also some best practices.
@IAmTimCorey
@IAmTimCorey 3 года назад
I appreciate the suggestion and added it to my list.
@AlbertMata
@AlbertMata 3 года назад
I'd love a video on creating PDF/printable reports on .NET 5 Razor/MVC state of the art. Everything I find seems to be old, ugly or generally both. I used Crystal Reports many years ago. That was quite powerful (although, again, ugly and not friendly to use). But I'm not sure what people are using nowadays to create some custom reports from a business web application.
@marredcheese
@marredcheese 3 года назад
Agreed! Like you, I looked around and was disappointed with the choices. Crystal isn't even an option anymore (except for people sticking to .NET Framework). SAP's (who owns Crystal) forum threads about it show that they have no clue what .NET Core is and say they will never support it. Our company is giving SSRS a try, and it seems decent so far. It lets you use a GUI tool to lay out the reports (taking that load off of the C# programmer), and then your C# code can grab the report via URL (and pass parameters and get back a PDF or whatever).
@IAmTimCorey
@IAmTimCorey 3 года назад
Topic suggestion noted and have added to my list, thanks.
@Tamer_Ali
@Tamer_Ali 3 года назад
Hi Mr.Tim, Do you recommend a library to preview or export RDL/RDLC reports because ReportViewer is not supported on .Net Core yet?
@bassi8760
@bassi8760 3 года назад
Ff
@IAmTimCorey
@IAmTimCorey 3 года назад
Not a free one, no.
@DMC3586
@DMC3586 3 года назад
@@IAmTimCorey Please what do you recommend instead?
@jimlynch8313
@jimlynch8313 3 года назад
I used to rely on RDL/RDLC reports back in the framework days as well. I moved to DocX and EPPlus to create my Word and Excel-based reports, respectively. There aren't the visual cues you get from designing your report, but I found it easier to create my reports exactly like I want with the data I want.
@bobweiram6321
@bobweiram6321 3 года назад
It's a sad state of affairs when you have to explain, especially to developers, why it's fair to charge a fee to use someone's code, especially for commercial use. Software is expected to be free, while hardware isn't.
@IAmTimCorey
@IAmTimCorey 3 года назад
Not everyone has gained that real world experience. That is why we need to share it.
@teijeterbals1203
@teijeterbals1203 3 года назад
I don't remember how often I've had to explain to people that software is not cheap. Software is expensive. And the only reason people can get their (almost) free apps, webservices, etcetera, is because millions of development hours have gone into them over time... For applications that have millions of installations, that's fine and it can be spread over all users. For applications that are very specific for just one customer, not so much... I'm happy to pay for libraries, but it's sometimes hard to explain to custormers why they should. :)
@bobweiram6321
@bobweiram6321 3 года назад
@@teijeterbals1203 The big reason software perceived as free is because it's not a physical product. No matter ho much money was spent developing the software, the very fact that it isn't made up of atoms makes it difficult to accept its true value. In the old days when software was distributed on disks with a manual in a box, it had a higher value as the packaging made it at least something you can hold in your hands. Moreover, the fact that it costs nothing to deliver software increases this perception. If it costs nothing for you to upload it on a server for downloading, then it should cost nothing for someone to obtain a copy of it.
@fieryscorpion
@fieryscorpion 3 года назад
Can you please make a video on Mass Transit and Azure Service Bus?
@IAmTimCorey
@IAmTimCorey 3 года назад
Added to my list, will see if/when I can get to it.
@akalanata13
@akalanata13 3 года назад
I suggest using NPOI instead of EPPlus.
@IAmTimCorey
@IAmTimCorey 3 года назад
Thanks for sharing
@jamesgill6028
@jamesgill6028 3 года назад
Been following this guys videos for years now, absolute god send!
@IAmTimCorey
@IAmTimCorey 3 года назад
I'm glad my content has been helpful.
@higorpereira1263
@higorpereira1263 3 года назад
Hey Tim, just got my first job as a Trainee Web Developer. My main language is Javascript(I've been a React/Nodejs developer for more than a year) but they asked me to learn C# at work. Your videos are helping a lot.
@IAmTimCorey
@IAmTimCorey 3 года назад
That is awesome!
@aqray30
@aqray30 3 года назад
What are the use cases that required using messages brokers such as RabbitMQ, Azure Bus.. etc?
@IAmTimCorey
@IAmTimCorey 3 года назад
Any time you have an application that wants to talk to another application in a disconnected manner. Microservices use this technique heavily but it doesn't have to be only them. Having this disconnect means that you can separate out parts of your application and update them without taking down the whole system or even losing anything while they are down.
@aqray30
@aqray30 3 года назад
@@IAmTimCorey Thanks for the very informative explanation, so compared to basic API communication in case using messages brokers we won't need to handle the acknowledgment part, am I right? Also, one more question related to Hangfire Can it be used to keep that data sync between applications? if not, what's the process to keep the data sync?
@ikhlashussain2862
@ikhlashussain2862 2 года назад
I am a beginner to C# and I have found your every video really good, informative and helpful, So I wanna thank to you for your great contribution in the learning community, Thanks a lot sir!!!!!!!!!
@IAmTimCorey
@IAmTimCorey 2 года назад
You are welcome.
@laurenzvien
@laurenzvien 3 года назад
Hope to see video about SignalR. I am trying to get grasp of it but most of the videos I saw doesn't really explain it that well..
@IAmTimCorey
@IAmTimCorey 3 года назад
That's high on the priority list.
@laurenzvien
@laurenzvien 3 года назад
@@IAmTimCorey cool!! Can't wait to watch and learn! 😊
@uttamchaturvedi
@uttamchaturvedi 3 года назад
Hi Tim, Thanks for sharing such a wonderful post once again. I was wandering whether there are some inbuilt tools to validate Excel data while importing to database. I want to validate my excel file such as columns datatype,sequence,number of columns etc and then store into DB and azure BLOB storage. Thanks Uttam tam,
@catalinpop342
@catalinpop342 3 года назад
Any thoughts on Syncfusion products?
@agentsmith8434
@agentsmith8434 3 года назад
Happy new Year Tim, I want to thanks you for all your videos that really helped me a lot. Do you have a plan this year to start a Xamarin course?
@IAmTimCorey
@IAmTimCorey 3 года назад
Not this year because of the changing coming with .NET 6.
@agentsmith8434
@agentsmith8434 3 года назад
@@IAmTimCorey Thanks Tim
@girornsveinsson7970
@girornsveinsson7970 3 года назад
Thanks for a very interesting video. It would be great if you would teach more on Hangfire and share a little more details how you used it before. I would also really like a comparison between Hangfire and a Windows Service - when to use which and maybe to mix them. A .Net Core Windows Service is very easy to use as you already demonstrated in one of your videos if you need something to run every 5 minutes (or whatever interval) but what about once a day at a set hour or other variations? That cannot be done without some workarounds but maybe Hangfire is useful there???
@IAmTimCorey
@IAmTimCorey 3 года назад
Thanks for the suggestion. I have added it to the list of possible future topics.
@AkshaySrinivasan123
@AkshaySrinivasan123 Год назад
Is this still valid in 2022?
@IAmTimCorey
@IAmTimCorey Год назад
Yes.
@123495734
@123495734 3 года назад
Face reveal WHOOP WHOOP, face reveal WHOOP WHOOP. Can you make a video on how you become such a Legend and Awesome Homie please. I also want to be awesome and manly like you
@IAmTimCorey
@IAmTimCorey 3 года назад
I'll think about it
@ToadieBog
@ToadieBog 2 года назад
Regarding EPPlus, if they're making great product and spending their own time and effort, they should definitely charge some amount. But from 0 to 30 bucks a month, PER license? That's a bit of a jump.
@IAmTimCorey
@IAmTimCorey 2 года назад
It is a big jump, but that's only because they weren't charging originally. That $30/month is not unreasonable for a commercial organization (which is what that covers). It is actually $300/year/developer for unlimited licenses (the $30/month is for smaller situations and probably not valuable). That means you can have the EPPlus tool for as many applications as you want and that license is per developer, not per person. Bottom line is that yes, it is expensive, but it is in line with other similar tools. If you went to Telerik and wanted just one tool, you would pay a LOT more (their cheapest one is probably JustMock at $399 for lite support plus $199/year after that per developer). Asking for less than 10% of that for a tool you will use often seems reasonable.
@davidcuberos9294
@davidcuberos9294 2 года назад
Hi Tim, I would like to know what is best for create and manage jobs? Azure web jobs vs Azure Functions vs HangFire? I appreciate it your comment, Thanks
@IAmTimCorey
@IAmTimCorey 2 года назад
It depends on the circumstances. You can leave a suggestion for this to be a future video at suggestions.iamtimcorey.com
@DevOpsHasan
@DevOpsHasan Год назад
Please share PDF report generator free tool name.
@theumairtahir1
@theumairtahir1 Год назад
Hey Tim, I am in search of a library which can give difference (of values) between two objects. Can you please recommend some?
@IAmTimCorey
@IAmTimCorey Год назад
I'm sorry, I'm not sure what you mean.
@deepakbhagat811
@deepakbhagat811 3 года назад
can you tell me good library for making pdf in .net core
@Imafriggingoddess
@Imafriggingoddess 3 года назад
Great list. I tried a different library called ExcelMapper once epplus changes its licensing model. Really cool library to convert excel to pocos. Really made working with excelfiles a breeze.
@tomthelestaff-iamtimcorey7597
@tomthelestaff-iamtimcorey7597 3 года назад
Thanks for the tip.
@krisrama1
@krisrama1 3 года назад
Thanks for the Excellent video... Please let me know a library to extract text, images, table data, text from OCR scanned images from a PDF.
@IAmTimCorey
@IAmTimCorey 3 года назад
I don't have one to share. Maybe someone else does.
@justinmoran6738
@justinmoran6738 2 года назад
I'm surprised to not see AutoMapper in your list.
@dantecavallin8229
@dantecavallin8229 2 года назад
Why would you suggest EPPlus which is paid for when NPOI is free and has better reviews?
@IAmTimCorey
@IAmTimCorey 2 года назад
I have not found NPOI to be a better product. Also, while I like supporting open-source projects, I do get concerned when there is not an income stream option for the author. That causes problems of long-term sustainability. EPPlus provides a free product, as well as a paid product, which means they have a more sustainable long-term solution.
@davidfeldman1746
@davidfeldman1746 2 года назад
i would be glad if can make a video from a library who is working with the task scheduler system what you can write in your csharp application like the nuget packge task scheduler
@IAmTimCorey
@IAmTimCorey 2 года назад
Thanks for the suggestion. Please add it to the list on the suggestion site so others can vote on it as well: suggestions.iamtimcorey.com/
@iandalrymple7255
@iandalrymple7255 2 года назад
I am a newby somewhat - I use windows task scheduler for my recurring jobs. Is hangfire basically the same or are there major differences I am not seeing
@IAmTimCorey
@IAmTimCorey 2 года назад
Hangfire will give you a much better picture of what has been done (great dashboard), it will have better reschedule/retry operations, and you can be more granular in how you schedule your tasks. Basically, you will have a lot more power. If you don't need the additional power, stick with what works.
@jeremyvonhatten5811
@jeremyvonhatten5811 3 года назад
Thanks for the great libs! I would like to see more videos like this in the future :)
@IAmTimCorey
@IAmTimCorey 3 года назад
I noted your recommendation and have added to my list, thanks.
@ChrisMarkwick
@ChrisMarkwick 3 года назад
Hi Tim. Some of the alerting you mentioned for Seq can also be done with Grafana and App metrics.
@IAmTimCorey
@IAmTimCorey 3 года назад
Thanks for sharing.
@HappyDeveloper
@HappyDeveloper 3 года назад
Which kibbana or seq is better?
@IAmTimCorey
@IAmTimCorey 3 года назад
I've not used Kibana but use what works best for you.
@christianking8062
@christianking8062 3 года назад
This video was perfectly timed because I was just starting to look for a logging solution. Thanks for the great info.
@IAmTimCorey
@IAmTimCorey 3 года назад
Glad it was helpful!
@marikselazemaj3428
@marikselazemaj3428 3 года назад
Same 👋
@Lior_Banai
@Lior_Banai 3 года назад
Also if you need log viewer you can use my open source project at github.com/Analogy-LogViewer/Analogy.LogViewer it supports many log frameworks and even has real time server
@benlewies8828
@benlewies8828 3 года назад
I don't think EPPlus is free anymore (since version 5)...
@IAmTimCorey
@IAmTimCorey 3 года назад
It is free for non-commercial use still. I cover it in more detail here: ru-vid.com/video/%D0%B2%D0%B8%D0%B4%D0%B5%D0%BE-j3S3aI8nMeE.html
@torrvic1156
@torrvic1156 7 месяцев назад
Thank you for awesome suggestions Tim! I think Serilog is especially useful along with this things for handling of emails. Can I purchase your courses with crypto currency? It’s a bummer but I can’t pay with credit or debit card because we don’t have Visas or Mastercards in my area (because it is ruled by thugs and plain idiots).
@IAmTimCorey
@IAmTimCorey 7 месяцев назад
Unfortunately not. Sorry.
@torrvic1156
@torrvic1156 7 месяцев назад
@@IAmTimCorey I understand. No problem. Thanks a lot for free videos anyway.
@robg112
@robg112 3 года назад
EPPlus - Life saver working with Excelsheets
@tomthelestaff-iamtimcorey7597
@tomthelestaff-iamtimcorey7597 3 года назад
Thanks for sharing
@beater6967
@beater6967 3 года назад
for Excel see also: DocumentFormat.OpenXml
@IAmTimCorey
@IAmTimCorey 3 года назад
Thanks for sharing.
@k42p3r
@k42p3r 3 года назад
What makes EPPlus 5 better than ClosedXML?
@IAmTimCorey
@IAmTimCorey 3 года назад
More feature-complete, from what I have found. However, if ClosedXML works for you, go for it.
@andrewelmendorf2602
@andrewelmendorf2602 3 года назад
Polly looks really interesting. I have been planning on using it in my next project
@IAmTimCorey
@IAmTimCorey 3 года назад
Go for it!
@frfancha
@frfancha 3 года назад
No, FluentEmail is not the place to start when you want to send emails from C#. The place to start is System.Net.Mail.Message and chances are high that you won't need anything else.
@IAmTimCorey
@IAmTimCorey 3 года назад
The SmtpClient is now obsolete so you do need to consider moving off of it: docs.microsoft.com/en-us/dotnet/api/System.Net.Mail.SmtpClient?view=net-5.0
@frfancha
@frfancha 3 года назад
Good to know, thanks!
@jeremiedevos2180
@jeremiedevos2180 3 года назад
I just wanted to take this moment to say Thank You!! Your content is amazing in fact i bought a few courses on your website. So far i have learned alot and i am not even halfway through. So thank you! Keep going your helping a lot of devs this way.
@IAmTimCorey
@IAmTimCorey 3 года назад
Awesome, thank you!
@DeviantDeveloper
@DeviantDeveloper 3 года назад
Many libraries are free and open source. Paying for libraries is against that ethos. "you should pay" - so you're saying you're against open source free software then?!
@IAmTimCorey
@IAmTimCorey 3 года назад
That's not what I said and it is also a misunderstanding of open source. What I said was that if a package maintainer asks you to pay for something but you could cheat and say it was for personal use and abuse their trust, don't do that. Pay them if you are using it in production like they requested. As for open source, that does not mean free. Just because you can read the source code does not give you the automatic right to use it however you want. The license tells you what you can and cannot do. Just because you can read a book does not give you the right to claim it as your own or copy whole sections for your own use. I stand firmly for abiding by the requirements put forth in the license. If the creator is generous enough to permit commercial use without payment, go for it. However, if the license permits only development use for free and requires payment for commercial use (like the EPPlus license), then I will pay and I am urging you to do the same.
@marcusmaunula5018
@marcusmaunula5018 3 года назад
@@IAmTimCorey Also a misunderstanding of the word "free". Stallman who created the concept was clear that free in this case means freedom not that everything should be free.
@LockpickingDev
@LockpickingDev 3 года назад
Really enjoying all of your videos! Great explanations and easy to follow along. This video is really helpful and I think important so we don't think to hard and overcomplicate things. Thank you for your work!
@IAmTimCorey
@IAmTimCorey 3 года назад
Glad it was helpful!
@EdoSuhartanto
@EdoSuhartanto 3 года назад
wow ... i would love to see a video about Hangfire ... it would be fun
@tomthelestaff-iamtimcorey7597
@tomthelestaff-iamtimcorey7597 3 года назад
We appreciate the suggestion and I have added it to Tim's list.
@dand4485
@dand4485 3 года назад
Hope i'm not hijacking the thread, but would be curious if anyone knows of a good generalized text parser? And will add another note for useful library. This one handles command line parse, especially when it might get a little involved. Really handy, why so good? You define a class for various alternate command line settings. Worked on an app that might spin off one one of 12 other programs, and this helped. But still in a more traditional single/stand-alone app. Effectively you define a class, the library will inspect your define ProgramArgs class, and will handle the validation and error reporting of the message as defined. The library allows annotating your defined class with attributes to allow you to build up and customize it. And even better if parsed and no exception, immediately you have access to an instance the command argument class that match for the valid config. On larger applications have seen where the validation, error message and reporting starts getting rather disjoint at times. Not sure NuGet or GitHub is easier for all? Nugget: -> in VS CommandLineParser (in VS) Nuget/web -> www.nuget.org/packages/CommandLineParser/2.6.0 GitHub: => github.com/commandlineparser/commandline
@duderomski
@duderomski 3 года назад
Use this guy for a Kevin James deepfake.
@IAmTimCorey
@IAmTimCorey 3 года назад
I'm not sure I see the resemblance.
@ilioncnc
@ilioncnc 3 года назад
How do you handle PDF Creation? In business software producing PDF Files is as crucial as Excel File manipulation.
@krzysztofzon8661
@krzysztofzon8661 3 года назад
Check PDFSharp or iTextSharp
@andreaskarz
@andreaskarz 3 года назад
That's pretty much the biggest problem. And especially with these two requirements, unfortunately, it's usually the case that the ones you can use are usually quite expensive.
@SachinDiwate
@SachinDiwate 3 года назад
You can try using inkscape as well for pdf creation it's free
@andreaskarz
@andreaskarz 3 года назад
@@SachinDiwate via C# really ????
@ilioncnc
@ilioncnc 3 года назад
@@SachinDiwate That's not a solution.
@larryk5184
@larryk5184 2 года назад
I'm new to C# and I'm enjoying your videos very much. I was reviewing this video on Libraries and I tried downloading one. The big question I have now is, where do you get documentation on what's in the library and how to use it. I did a lot of googling but didn't find any answer. Thanks for any help you can provide. My particular hurdle right now is CSV files.
@mohammadzubair959
@mohammadzubair959 3 года назад
How to pop up selectable data rows from textbox i.e. a textbox in a form when space key pressed a pop up will appear from db and we can select the name of the firm that we want for transaction, on selection the selected value will go inside the textbox child ti parent .
@bloodwoork5313
@bloodwoork5313 3 года назад
Thank you so much, I didn't know about those libraries 😊 Love your channel, keep it up!
@IAmTimCorey
@IAmTimCorey 3 года назад
Thank you! Will do!
@David-rz4vc
@David-rz4vc 3 года назад
Can I use Hangfire to schedule jobs per users? And is it possible to store the job in a dB jus in case server goes down?
@IAmTimCorey
@IAmTimCorey 3 года назад
Hangfire does store jobs in a database, along with the outcome of the executions of those jobs. As for per-user hangfire, I'm not sure what you mean. The hangfire service will run as one user. However, you could create jobs for each user.
@David-rz4vc
@David-rz4vc 3 года назад
@@IAmTimCorey ohh okay, so I am building an app where I'll have recurring jobs per user. So for example, a user will input that every Sunday to execute a purchase of X dollar bitcoin using an API. Would I be able to store the user recurring jobs in the dB and would hangfire be able to handle these types of recurring buys? Thanks!
@subircool1
@subircool1 3 года назад
Is Seq similar to Splunk or Kibana ?
@IAmTimCorey
@IAmTimCorey 3 года назад
I don't think there is an exact correlation here. Seq is a dashboard for displaying and working with application logs. It isn't really an analytics platform, etc.
@unseenentity326
@unseenentity326 3 года назад
EPPlus vs ClosedXML? Thoughts?
@IAmTimCorey
@IAmTimCorey 3 года назад
Haven't done a comparison. I prefer EPPlus though.
@JuanDevelop
@JuanDevelop 3 года назад
hello tim, happy new year. Well, I wanted to ask you if you have the resources to guide me in the development for an application such as Uala or Nesqui (Mobile Banking App) using xamarin form
@marcusmaunula5018
@marcusmaunula5018 3 года назад
Still hoping for a special session on Cake. Would pay for such a course in fact.
@IAmTimCorey
@IAmTimCorey 3 года назад
My list is long and I make no promises that just because I put something on my list, that I will get to it. But still, its good to know its still of interest.
@ibrahimhussain3248
@ibrahimhussain3248 3 года назад
Man!! That was awesome
@IAmTimCorey
@IAmTimCorey 3 года назад
Glad you liked it!
@teenspirit1
@teenspirit1 3 года назад
TLDW Lots of email libraries.
@IAmTimCorey
@IAmTimCorey 3 года назад
3 of them, for different purposes. 7 were other things.
@gompassos
@gompassos 3 года назад
Let's suppose that you are developing an app that is consuming an API that you know to have a 10 calls per minute limit. What you would use to manage this? Would you use "Hangfire" to create a recurring job to call that API every 6 secs our you would use "Polly" and create a policy to workout the 429 response from that API? Hopefully I made myself clear. I'm not a very good english writer. Cheers from Brazil :)
@tomthelestaff-iamtimcorey7597
@tomthelestaff-iamtimcorey7597 3 года назад
Is your new app the ONLY consumer of that API? Is the 10 calls a minute an average or is something enforcing it? ... sorry, its the performance tester in me from a prior life.
@gompassos
@gompassos 3 года назад
@@tomthelestaff-iamtimcorey7597 Thanks for the reply, I really appreciate. There is a policy in the API enforcing 10 calls per minute per user limit. We can consider that the new app is the only consumer.
@tomthelestaff-iamtimcorey7597
@tomthelestaff-iamtimcorey7597 3 года назад
@@gompassos No clue how Tim will address it, but now I better understand, thanks.
@IAmTimCorey
@IAmTimCorey 3 года назад
You would put logic in to keep it to six calls. If you want to max out what you can do, hangfire might be the right call. Either way, you need to handle the 429.
Далее
Creating Excel Files in C#
55:42
Просмотров 127 тыс.
30+ String Manipulation Techniques in C#
1:44:07
Просмотров 103 тыс.
Intro to Docker - A Tool Every Developer Should Know
1:16:03
8 await async mistakes that you SHOULD avoid in .NET
21:13
.NET in 300 seconds
5:48
Просмотров 75 тыс.
Power Up Your .NET Project With These 5 Libraries!
9:43
You are doing .NET logging wrong. Let's fix it
25:29
Просмотров 173 тыс.
Intro to Unit Testing in C# using XUnit
1:42:09
Просмотров 416 тыс.
Intro to Redis in C# - Caching Made Easy
1:27:29
Просмотров 177 тыс.
Simple Code, High Performance
2:50:14
Просмотров 252 тыс.