My goal is to make your life easier, specifically when it comes to learning software development. I remember what it was like to not know even what questions to ask. In every video I do, I try to answer those questions. You will notice that I don't usually do quick videos. That's because I would rather help you understand rather than just padding my watch percentages. If you want more in-depth training, feel free to head over to my website (www.iamtimcorey.com) where I have courses dedicated to C#, SQL, and more.
My really hard time is that I don’t know how to break down problems into manageable chunks it’s not easy as I think it is and because of this I feel really really overwhelmed hope your C# master course could help me to learn about this thank you Mr. Tim
No, they aren't the same thing. The verbatim string literal (@ symbol) allows for single-line literal strings. You can do multi-line, but it is messy. You also have to escape double quotes still. The verbatim string literal (""" characters) allow you to easily do multi-line and you do not need to escape double quotes. Also, if you decide that you want to have two double quotes in a row, you can use four double quotes to start and end the raw string literal.
I had one of my worst moments this week. I was pair programming with a senior dev and half way through it’s like they gave up on me. They said my name in a sigh tone which honestly killed me. This was because I wasn’t too familiar with what I was doing for the certain backlog item. At the moment I don’t think I can ask them for help because of this. They’re not a bad person they’re actually very nice just let out their true emotions on how they felt on my ability in terms of doing my job.
I'm sorry, that can be tough. While it will be difficult, the best thing you can do is push through, learn what you need to, and make the necessary improvements. Just feeling bad or doing what you've done in the past will only lead towards more problems.
I hope it will help. While it is frustrating to blow an interview, the key is to learn from what went wrong and improve for next time. You've got this!
Hey Tim, my team and I were discussing the benefits between having a collections class per business object. We always create a triad of objects. Dog, Dogs, and DogFactory. A new guy brought up the idea of using extension methods on a list<dog> instead of our collections class. Is there any benefit to one over the other? Dogs either inherits from List<dog> or encapsultes it. We didnt see any benefit to the extension model and left our collections alone
I didn't get it. Greeting service have 2 dependencies: ILogger and IConfiguration. Why did you add "service.AddTransient<IGreetingService, GreetingService>" there is no any class with that dependency... other hand, I don't understand where Ilogger and IConfiguration are injected. I was expecting something service.AddScopped<ILogger, logger>()
good explanation. I have a query regarding where to use? 1. If we use gRPC, are we not repeating model information? one in our .NET or Java application and same model in proto buff file? 2. If I use in in Authentication api, so is flow like below Ocelot -> Authentication Microservice -> gRPC client code -> gRPC server ?
You aren't there yet! How about checking what happens when a negative number is entered? I added a && clause to the evaluation of validGuess. Another tiny thing - how about {guessCount} guess{(guessCount == 1 ? "" : "es")} to make it more like writing "guess(es)"? Great video, though, and much appreciated.
I was ok with people entering negative guesses. At that point, you are punishing yourself. The way to "win" is to get the lowest number of guesses. Going backwards won't win you anything. It will just increase your guess count. As for the guess suggestion, yep, you could do that.
I would suggest if you want to make even more money is to have a separate subscription service where a person pays a certain amount and each month, you would give challenges for a person to perform but no solutions. That can help for people who need extra practice but cannot find anything beyond hello world to use for practice.
Because it wasn't a null value. It was an empty string. An empty string is not null, so it tests it to see if it can convert the empty string to an integer. When it cannot, it returns false (which we are ignoring), and it sets the value of the integer to zero. Thus, zero for our first guess.
@NaftuliSinger - No, because that is a null check. Like I said, it isn't null. Since it isn't null, it uses the value we gave it from the console, not the fallback value. Therefore, it is zero.
We don't test validGuess before we've put a "real" value into the variable. Otherwise, we can accidentally never go through the while loop because we set it to the "wrong" initial value. That's why we have a do loop. So we can set the validGuess variable with real data, not just starter data, before we test it.
@@IAmTimCorey The initial value of a boolean is false.Since it is a do loop, we know it will run at least once, so why write out != false when !false does the same exact thing. Tell me how that's any different. I'm not just trying to argue, I want to understand what the difference is.
Ah, I see. I thought you were saying to use a while loop instead of a do loop. Instead, if I understand you now, you were saying that we could write "!validGuess" instead of "validGuess == false". That's a good question. The reason is because code is meant to be read by humans. When you are reading code, especially when you are quickly scanning it, the bang character (!) is easy to miss. So then it looks like you are looping if they give a valid guess rather than an invalid guess. By saying "== false", it is much easier to see. The compiler treats it the same, but it is easier to see as a human. I've seen people introduce bugs a number of times because they missed the bang character somewhere and thought the statement did the opposite of what it actually does.
I can still remember the time when we are using random number via time or the other random using good ol' C.. lol.. maxNumber can also be named hiddenNumber or secretNumber.. :)
to be honest... I think it's really nice to just learn from regular google searches and scroll through web pages for answers. It might be time consuming, but perhaps I learn better by having that journey. it also gives me a chance to recognize the very people who work hard on educational websites and blog posts to teach us
@@IAmTimCorey What platforms do you suggest for interactive learning? For newer stuff like Blazor and MAUI. Also, please create some courses on MAUI and Blazor (forgetting about older versions of Blazor and focusing only on the latest things like the new template that allows to write once, run on Web, Mobile, Desktop, as previously web was missing).
it would be nice to have a shorter version of your tutorials. maybe without explaining anything just right the code in ten minutes and explain as minimal as possible. long versions are good too but can drain my energy
Also, just so you know, if you have the DevPass (or if you buy this course), this video is broken up into short videos. I believe this section is 12 videos instead of the one it is on RU-vid. The other three apps are the same way. Most lessons are under 10 minutes.
Yep, although that's true of any tech job, really. Work in IT on the helpdesk? You "debug" broken machines, failing processes, and more. Work on the network? You "debug" why devices are falling off the network, why things are slow, etc.