How To Use Recursion in C#
19:08
2 ай бұрын
Пікірлер
@unknown.artist.track3
@unknown.artist.track3 Күн бұрын
awesome explanation
@g2bam
@g2bam Күн бұрын
I’ve been a commercial programmer for over 40 years and I have undertaken huge projects as a freelancer, earned megabucks on contracts and taken on very well paid full time positions over those years and… … I’ve never used react, angular, blazor, entity framework, JavaScript libraries or anything other than C#, SQL Server, T-SQL, stored procedures, HTML, actual JavaScript/jQuery and consuming API jSon and I still, at 60 something, get offered great well paid work every time I look for it. This also must prove that with just the basics that are largely built into a vanilla web application in Visual Studio is all you really need to build any genre of web-site/app. I operate under the KISS principle, and with good separation of concerns and no ‘fancy stuff’ you can do it all and your client/employer is left in a position where they only need to hire a C#/SQL developer and not have to worry about finding someone who can do that plus have the skills of some other unnecessary and sometimes obscure toolkit that shouldn’t ever have been included in their apps. I have seen folks deliberately using something just so that they can say they used it, put it on their CV and then leave. It’s only after they leave that the company discovers it’s flagship app needs rebuilt without the 3rd party toolkit because they can’t recruit anyone else who has used it, or they have to pay mega salaries to get them. The blame for some of this falls on the management teams too, who regularly are not technical enough to really interfere or control the developers/programmers. Programming after all is a very highly skilled and technical profession, and unless managers themselves were or are programmers, most management teams don’t have 100% control of their coding output. So in essence I agree with you that putting the basics on your CV and having a very high skill level in them all is best way to get a foot in most doors. If I were employing someone I would not be interested in anything outside of the 6 main skills I listed above. Anyone who can do all of that by hand-coding, can produce anything!
@phamster2008
@phamster2008 Күн бұрын
Love the cutting the grass example to expressed your experience to the company.
@camerontangen2957
@camerontangen2957 Күн бұрын
The real question is, what does Tim play as in Starcraft 2? I saw that folder in My Documents, now I want to know :D
@ronaldjohnson4470
@ronaldjohnson4470 Күн бұрын
Thank you Tim, great advice.
@jonathonsmith6318
@jonathonsmith6318 Күн бұрын
For the Connection string information not everything can be removed after the Initial Catalog. I believe that now the Trust Server Certificate must be set.
@richardw-i4p
@richardw-i4p Күн бұрын
Thank you so much for making it so clear and explaining everything in detail, it has really helped! I have a problem though, after it finishes packaging and I click copy and close, the install location folder i selected is empty. I tried this a while ago and I didn't have this issue, but now no matter what settings I change the install location folder is always empty. I have tried creating new blank projects, new certificates, tried all the runtime configurations, but it makes no difference, and the output log just tells me it finished with no problems and it copied the files and that i can open index.html to start the installation, but the file doesn't exist!
@ericritter46
@ericritter46 Күн бұрын
Love that shirt. I just saw their demo on Hot Design and I am very interested. I even considered hopping on to Uno from Maui.
@IAmTimCorey
@IAmTimCorey Күн бұрын
It is a really great framework.
@torrvic1156
@torrvic1156 Күн бұрын
Thank you so much Mr. Corey! This video was full of very clear and reasonable explanations regarding to how basic logging works.
@IAmTimCorey
@IAmTimCorey Күн бұрын
You are welcome.
@andywalter7426
@andywalter7426 Күн бұрын
I like the idea of building an app for a fictional company. However, how is a person supposed to know the requirements for the app. I've taken lots of courses from you. However, in none of those courses ever mentioned what requirements are for the fictional companies. What if a person knows the language really well and have lots of technical skills but they need to know specific requirements. The c# skills assessment course was great because the requirements was set so I was easily able to do those. For example, if they were going to do one for a law firm, how are you supposed to know what to put into it unless you know somebody who can give the requirements of what they would even need.
@koluniu19
@koluniu19 Күн бұрын
Request the AI to act as a client and provide the requirements in the selected domain 😊
@IAmTimCorey
@IAmTimCorey Күн бұрын
That is tricky, but it is part of the process of gathering requirements. Yes, you can use AI, but also do research into the topic yourself. Look at other sites and apps that are used by the target audience. See what features they have. See what they brag about having. Working in a business environment will require you to build up these investigation skills. You will need to know subjects better than even your clients in order to most effectively create applications for them.
@lassel1644
@lassel1644 Күн бұрын
We have it in production for an inside the firewall solution. still i think we need to address the auth
@IAmTimCorey
@IAmTimCorey Күн бұрын
It all depends on your situation. Just remember that it is only showing people what is already there (and probably documented somewhere).
@MuletTheGreat
@MuletTheGreat Күн бұрын
They pad expectations. I pad my experience. They pay well and fairly. I work hard, learn and get that shit done.
@IAmTimCorey
@IAmTimCorey Күн бұрын
😂
@sakarkolachhapati9793
@sakarkolachhapati9793 2 күн бұрын
Why do you look like Kerry king dude??specially in your profile pic
@IAmTimCorey
@IAmTimCorey Күн бұрын
lol
@nithinb9671
@nithinb9671 2 күн бұрын
Authentication for swagger ui makes sense if you want only authorised users to use them. This could be valid to protect from someone who tries to abuse APIs with random calls, Not allow someone to copy the domine structure of the product, find flaws and abuse it, provide access on requests like buying a licence, package etc.
@IAmTimCorey
@IAmTimCorey Күн бұрын
Yes, I can see that. However, this is also an opportunity for you to clean up and improve your API so that it handles abuse.
@clickseevid
@clickseevid 2 күн бұрын
In most cases from my experience, the HR and the hiring manager are both clueless.
@manojbp07
@manojbp07 2 күн бұрын
We don't have auth for swagger.. we have it for the api it exposes though.
@IAmTimCorey
@IAmTimCorey Күн бұрын
That works for most people.
@ArkFen
@ArkFen 2 күн бұрын
swagger is cool and I still use it though they officially moved it out of .Net 9 if I got it right. anyway I normally have it only in DEBUG mode, not in PROD. your points are right, people can use api without swagger anyway and of course most of endpoints are under auth... but I guess some folks just don't like to put swagger to production to make life of those who are gonna sniff around not so easy ))) but thanks a lot Tim, actually, I think I can reconsider to use it to some production projects when it make sense. I guess as always there are pros and cons
@jowbloe4700
@jowbloe4700 2 күн бұрын
Swagger Authentication aka Social Engineering 😂
@JakeSavageOpinion
@JakeSavageOpinion 2 күн бұрын
Awesome tip! It's merely exposing the endpoints defined in the system so consumers can easily work with the API... sweet! Thanks Tim
@IAmTimCorey
@IAmTimCorey Күн бұрын
You are welcome.
@IamPali2024
@IamPali2024 2 күн бұрын
Our senior architect was freaking out because I had swagger for a new project that we created and even reported me to the director 😂 I was like dude chill, I don’t think you know how swagger works
@IAmTimCorey
@IAmTimCorey Күн бұрын
😂
@sadhappy8860
@sadhappy8860 2 күн бұрын
I like the shorts. Turn up rock and then leave.
@IAmTimCorey
@IAmTimCorey Күн бұрын
Thanks!
@ko3li668
@ko3li668 2 күн бұрын
Been watching you for about 5 years. 5 years ago, I didn't know anything and today I'm a full stuck web developer working at a multinational company. I have 3 years of experience working in this field, still have so much to learn and the learning never stops. Thank you for your videos and please, could you recommend some books that can help me understand how my software connects with the hardware and how can we make our web apps perform faster queries no matter how many rows are there? Or any book that can help me advance in my career. Once again, thank you!
@rogeriocastellano449
@rogeriocastellano449 2 күн бұрын
Excellent advice! What are your thoughts on including the comprehensive resume with the job offer text, and customize it using an AI tool?
@mehmetcanyolar8721
@mehmetcanyolar8721 2 күн бұрын
can not be explained more beatifully🤓
@IAmTimCorey
@IAmTimCorey Күн бұрын
Thank you!
@mukhtarisah334
@mukhtarisah334 2 күн бұрын
as a newbie to .net where should one start from after learning the language
@friendlyfox2189
@friendlyfox2189 2 күн бұрын
finding a job is mostly networking, its who you know not what you know
@IAmTimCorey
@IAmTimCorey Күн бұрын
That is a big part.
@AjdinAhmagicCSharpCorner
@AjdinAhmagicCSharpCorner 2 күн бұрын
hope you don't mind me reaching out, but I find myself a bit adrift when it comes to the "Visual Studio UI Refresh." I've scoured both the VS 2022 Version 17.13.0 Preview 1.0 and my Microsoft Visual Studio Enterprise 2022 (Aydin) (64-bit) - Current Version 17.12.1, yet this elusive option remains just out of reach. Could it be that this feature has been shelved, or am I simply missing something? Tim, I truly value your expertise and I apologize for adding to your workload with this query. If you could steer me in the right direction, I would be immensely grateful! I really adore that aesthetic and just can’t seem to find it.
@nynthes
@nynthes 2 күн бұрын
goat
@michaelryce1200
@michaelryce1200 3 күн бұрын
You don’t take the job lmAo
@TheUKDude_
@TheUKDude_ 3 күн бұрын
I have always done this and do it at least once a week. Oh and 17.12.1 is now out.
@tennisCharlzz
@tennisCharlzz 3 күн бұрын
I'm used to using a SQL tool (for a SQL database) where I can type SQL and get a response. Does CosmosDB even work like this? Is it considered too expensive to make "SQL" queries directly and therefore, it should be done programmatically via C#? I'm trying to match my own experience querying SQL databases with Cosmos DB, but it doesn't seem like there's something similar? Or is there some tool where I can connect to a Cosmos DB and run SQL-like queries (mostly, select queries)?
@simaomarques1676
@simaomarques1676 3 күн бұрын
This video is extremely underrated. As a professional, I can deeply relate to the points you make here. Without a doubt, many of the examples you provide resonate with real-world challenges and demonstrate the ability to identify and build software solutions that are genuinely necessary. A significant part of my early experience in software development involved projects without financial returns, but they allowed me to learn so much, and at a much faster pace. Outstanding video, Tim!
@ndukan
@ndukan 3 күн бұрын
I like so much your video! TY! 😀
@IAmTimCorey
@IAmTimCorey 3 күн бұрын
You are welcome.
@loadiam
@loadiam 4 күн бұрын
I have been using JetBrains Rider for about a year and a half now. After 30+ years of Windows I switched over to MacOS last month and with no Visual Studio support for MacOS I was happy I had Rider to fall back on. Just install, sync my setting from my account and I was up and running in no time. They also offer free for non commercial use licence now.
@IAmTimCorey
@IAmTimCorey 4 күн бұрын
Yeah, I was happy that JetBrains added the free tier. That makes it much easier for me to promote. I don't want people to think that getting into software development requires a lot of up-front expenses. People get so caught up in buying things thinking they are making progress rather than taking the time to do the actual work.
@loadiam
@loadiam 3 күн бұрын
@@IAmTimCorey I think it is great, Jetbrains is not as big as the beast which is Microsoft, but they have an amazing IDE and I prefer Rider to Visual Studio. I don't think I could ever go back to Visual Studio, but I doubt I will ever go back to Windows at this point either. Looking forward to Game Dev and some Aspire content on DevPass.
@danielabaez8490
@danielabaez8490 4 күн бұрын
How about a video on how to migrate an old app on .Net 6 to a newer version.
@IAmTimCorey
@IAmTimCorey 4 күн бұрын
That's coming.
@OldGuyAdventure
@OldGuyAdventure 4 күн бұрын
@@IAmTimCorey@IAmTimCorey I had an app on VB6 that was to migrate up to C#, it was pretty interesting in that it contained Fortran and, at the time, did machine learning.
@propavangameryt405
@propavangameryt405 4 күн бұрын
@@IAmTimCorey Waiting for that
@jeffsherman9638
@jeffsherman9638 3 күн бұрын
I’m updating a .NET 5 app to .NET 8 and it’s a real pain. Getting there though but it drops the startup file and there are changes to db context.
@A.Meier999
@A.Meier999 4 күн бұрын
I just don't understand wich benefit you got when using WebAssemblies.. You can do everything you want on Server, don't you? So why bother using WebAssemblies? Would really appriciate an explanation.
@IAmTimCorey
@IAmTimCorey 4 күн бұрын
WebAssembly allows you to work without a connection to the server. Server requires a constantly open connection back to your server using SignalR. If this connection gets broken, your web app is broken and will need to be refreshed. WebAssembly doesn't require this, thus it reduces your overall resources needed. Plus, the processing is all done on the client-side instead of the server-side, meaning that your server can handle more concurrent connections when you switch to WebAssembly.
@A.Meier999
@A.Meier999 4 күн бұрын
@ first of all: Thank you for your helpful videos and your comment. I understand these benefits. But I think I didn’t wrote my question clear enough (sorry English is not my first language). I often read, that WebAssemblies also enhance the user experience due to that you can have user inputs and interactions with the page and that serverside Blazor are more or less static websites. But with these new RenderModes and Connection types isn’t it possible to have the same experience as with WebAssemblies? I really tried to find that out via google but couldn’t find any answer wich would help me chose between them. I am currently working on a new project and wanted to use Blazor. I won’t have many user but I will have lots of data and documents being loaded and displayed. I really would appreciate your opinion on that matter. And again thank you!
@drstrangelove9851
@drstrangelove9851 4 күн бұрын
I wish they had a function to convert the date and time to the AS400 format. It would be nice not having to create my own function every time. Well, these days I just let ChatGPT write it for me.
@IAmTimCorey
@IAmTimCorey 4 күн бұрын
It has been a while since I worked with an AS400. It just takes a DateTime as a string format with a specific layout, right? If so, you can just do the ToString("mm/dd/yyyy") method to output it to the correct format (obviously I just used a sample format - you would create the one that the AS400 needs).
@verbosedy9947
@verbosedy9947 4 күн бұрын
Late to the party but I like doing it manually especially for the 30+ components that I made when I didn't know you could separate the two. Manually is always better......Okay just kidding, this method rules! Saving me a lot of future time with this! Thanks!
@IAmTimCorey
@IAmTimCorey 4 күн бұрын
I'm glad it is going to save you time.
@351yt
@351yt 4 күн бұрын
Very easy to follow, I got it working on my local IIS and on Android phone within a few minutes. Thanks.
@IAmTimCorey
@IAmTimCorey 4 күн бұрын
You are welcome.
@briannyashadzashechiunda4782
@briannyashadzashechiunda4782 4 күн бұрын
bruv is very good at yapping on and on
@IAmTimCorey
@IAmTimCorey 4 күн бұрын
And there is a reason for that - context is important. New developers tend to want to just know how to use something. "Learn" it in 2 minutes. The problem is that you then think you know something, but you have no clue how to actually use it correctly in production. Employers aren't looking for you to know trivia. They are looking for you to know how to actually do the job. That's what I try to impart in these videos - a better understanding of why, when, and when not to use something, not just how to use it.
@briannyashadzashechiunda4782
@briannyashadzashechiunda4782 4 күн бұрын
@ you’re right. I got impatient. It’s a race between trying to understand quick to pass an exam and that. Thanks for the content though. Can’t be easy doing it for free and have assholes like me in your comment section
@IAmTimCorey
@IAmTimCorey 4 күн бұрын
😂 I understand. There's always a balance. That's why I also have 10-minute training videos and KZbin shorts as well. Not everything can be covered in every format, but I do my best to meet people where they are at. Just keep in mind that passing the exam is great, but it doesn't equate to real-world readiness. Take the time whenever possible to get the strong foundation you need.
@danielkiprijanovski9384
@danielkiprijanovski9384 4 күн бұрын
Best explanation ever, you opened my eyes for the using statement, thank you. :)
@IAmTimCorey
@IAmTimCorey 4 күн бұрын
You are welcome.
@EzequielLFriscia
@EzequielLFriscia 5 күн бұрын
I feel so lost... I don't understand anything about games, tournaments and whatsoever.
@IAmTimCorey
@IAmTimCorey 4 күн бұрын
Keep it really simple - is there any game that you've played with a friend? Maybe darts or checkers. In those games, you probably kept score. In darts, it might be the total points for and against. In checkers, it might just be how many games each of you won (or just 1-0, meaning one person one and the other person lost). In either scenario, that would be a match. Now, imagine you have three friends and you want to see who is the best at darts. So, you and friend1 play. Then, friend2 and friend3 play. Let's say you win your game and friend3 wins their game. Now, you and friend3 play a game. Whoever wins that game is the overall winner. You've just run a tournament. The tricky bit comes in when you have not enough people for everyone to match up. For example, what if it were just you and two friends? Well, in that case, you might play friend1 while friend2 waited. Then, if you won you would play friend2. Compare that to the first scenario. Friend2 basically didn't have to play the first "round". We call that a bye, meaning they automatically "win" their first "game" because they don't have anyone to play against. That's basically it. You now have the knowledge of tournaments, rounds, matches, and byes. That's all you need to know in order to build this app. That's one of the skills that is valuable to learn as a developer - learning new concepts outside of development. For instance, I worked at an insurance company for a couple of years. I had to learn how insurance worked so that I could build systems to support the insurance industry.
@EzequielLFriscia
@EzequielLFriscia 4 күн бұрын
@ I was lost with the “bye” concept. Thanks for explaining it so well !
@jeffsherman9638
@jeffsherman9638 5 күн бұрын
Hello Tim, While upgrading an app from .NET 5 to .NET 8 , I started getting errors in my code. Long story short, it ended up that I had script debugging turned on. When I turned it off, the app ran fine. The error occurred when it was trying to render a shtml page using pull down menus from a database. The breakpoints didn’t make it clear why this problem occurred.
@IAmTimCorey
@IAmTimCorey 4 күн бұрын
Script debugging is tricky, because scripts often have bugs that are just passed over. The web can be a messy place.
@jeffsherman9638
@jeffsherman9638 4 күн бұрын
Is the best practice to leave it on or off?
@IAmTimCorey
@IAmTimCorey 4 күн бұрын
I'd leave it off typically until you need it.
@whydiswhydat
@whydiswhydat 5 күн бұрын
Hey Tim, Can we choose a custom path for the final installed files? Squirrel gets installed into a app/.. ... .. . I want a custom folder where my program should be installed. Thanks
@eddyelamin9015
@eddyelamin9015 5 күн бұрын
I had this set up a while ago, but now that I updated to the newer Visual Studio version it doesn't suggest private fields when I hit Shift + . ???
@IAmTimCorey
@IAmTimCorey 4 күн бұрын
Yep, you have to go back and add it again. Sometimes that list gets wiped out.
@eddyelamin9015
@eddyelamin9015 2 күн бұрын
@ super annoying. Thanks tho!
@utkarshtripathi7524
@utkarshtripathi7524 5 күн бұрын
Is all this process still applicable if I am using SQL as my database?
@IAmTimCorey
@IAmTimCorey 4 күн бұрын
We used SQL in this video, so it will be exactly the same (if you are using the .NET Framework, like we are in this video). If you are using .NET 9 (or other versions of .NET), the code will look a bit different, but the actual Dapper code will be almost exactly the same.
@adrian_b42
@adrian_b42 5 күн бұрын
I am working for a large manufacturer with each app installed in over 100 different plants. Stability is key, security is not a problem (network segmentation for operational network). We upgrade the apps only for new features or bug fixes, ideally we should never be forced to upgrade anything that works fine, even 10-15 years later. Upgrading dotnet is a major pain, this stuff is regulated and we need to go through a very long, complex and expensive testing and validation process for every single app. This is where Microsoft is wrong and they know it, they approached us to learn more about this area they want to dive into. Standard support in this area is 5 to 10 years, LTS is 10 to 20 years. What you explained in this video is correct, just does not apply to some cases.
@IAmTimCorey
@IAmTimCorey 4 күн бұрын
I'm not sure what you are expecting here, though. If you are on an air-gapped system where security is not a problem, you don't need to upgrade. Microsoft isn't forcing you to upgrade. You can use one version of .NET for as long as you want. You won't be supported by Microsoft, but I'm not sure what you are expecting from that support. That support means that they will fix bugs in .NET and address security issues. If those two aren't an issue for you, you don't need to upgrade and you don't need support. You can run on .NET 6 practically forever. Just make sure to include .NET when you do your installations so that you always have the correct version on the client. The issues will be more a matter of the world passing you by, your code will become harder and harder to upgrade if you ever want to in the future, and employees that want to work on your systems will be harder to find. You may need to freeze the version of Windows you have at some point, as well as the version of Visual Studio you use. You will also need to be sure that any third-party libraries you use are downloaded and served locally, since some will go away and others will remove support for older versions of their packages. In the world of software development, an LTS of 20 years is not possible. Think about it. 20 years ago, Windows XP was just out. Computers had Pentium 4s (32 bit processors were common) with 256MB of RAM. Spinning 5400RPM hard drives were common. You want software written in this era to still be supported today? How much are you willing to pay for that? From Microsoft's perspective, with a minimal team, you are talking about millions of dollars per year. Now, let's say Microsoft goes for it and you are using it. Now, 20 years later, support is up. What then? Are you going to upgrade to .NET 9? From .NET Framework 1? The incredible thing is, from Microsoft's perspective, you can actually do that, but I highly doubt you can physically do it. That means that your app is going to be out of support. The outcome didn't change. The only real difference is that it is more likely for the app to stay out of support this way.
@adrian_b42
@adrian_b42 4 күн бұрын
@@IAmTimCorey I don't disagree with you in any way. What I am saying is that there are lots of places where upgrading every 2-3 years is too fast. I worked in an airport before, some of their systems were really old, but perfectly adequate. Yes, when you upgrade it is likely it will be to a new OS version and a lot of dotnet versions newer. Yes, many developers like to be on the latest and greatest, but there are very good money to be made with ancient languages (ex: fighter avionics, F16 is older than me and still very popular) and I see nothing wrong there. And yes, we pay Microsoft a lot more than millions for support of old stuff and it is cheaper that way. So, you are perfectly right, just don't forget about the significant portion of use cases where LTS is too short. Why do I say that? Because when we need consulting, people like you are on the list to ask for it. But if you are not aware of this kind of clients and their general perspective, you might not be able to understand them well enough to help them.
@IAmTimCorey
@IAmTimCorey 4 күн бұрын
OK, so I get what you are saying. You aren't really advocating for a longer LTS as much as a longer extended support contract window. Yep, I can see that. The issue is it really is a custom thing. It should almost be treated as a separate language at that point. There is so much that goes into super-long support windows like this. They are necessary, but difficult to get right.
@brienzon
@brienzon 5 күн бұрын
This type of demo on database is a clear explanation. The good thing for a beginner practice. Managing the project is to create for testing development and separate real world project. Thanks for sharing this topic about database. I learn more.....
@IAmTimCorey
@IAmTimCorey 4 күн бұрын
You are welcome.
@faisalalhoqani6151
@faisalalhoqani6151 6 күн бұрын
Great episode dear Tim, I feel if they make it every two years it will be better than making a new version every year, the same for STS to be two years and LTS to be six years.
@IAmTimCorey
@IAmTimCorey 4 күн бұрын
I'm going to do a video on support windows and why longer LTS windows are actually a bad thing.
6 күн бұрын
The irony is that once you take the first year to master XAML and MVVM, WPF is actually the fastest development time. And you won't need a graphical editor, it's as easy as creating webpages in notepad in the 90s. I had a coworker who used Blend to create UIs for my viewmodels and code-behind and it was nice but not necessary. UWP and WinRT did so many things to poison the clean architecture of the OS that I can never ever find myself endorsing it, plus it depends on explorer.exe running as the shell which is not the case on all machines. WinForms is primitive but entrenched.
@IAmTimCorey
@IAmTimCorey 4 күн бұрын
Knowing WPF well definitely closes the gap a lot in terms of speed, although I would argue that drag and drop design is always going to be quicker at the start. Once you get into complexity or detail, XAML will be faster, but there is still a tipping point.