Coding. Designing. Creating. I love this stuff. If you love it too, then come here for Blazor, C# and Software Development concepts, tutorials and guidelines.
While this is a valid way to encrypt a connection string, An easier way is to just create an application pool user, and run the application as that application user. In the connectionString, just use "Integrated Security=True" which will use the application pool user. In your DB, just create that application pool user as Windows user. (This also works with AD as service user).
Hey, Mark, nice video. I think you should make a video explaining about `dotnet user-secrets`, if it replaces your implementation or if it complements it.
Every developer writes buggy code, it is impossible in practice not to do so. So the question is not whether or not a developer produces buggy code, it is how seriously the organisation that a developer works takes testing. Industrial applications require industrial strength testing. Which is long and expensive at this point in time. So most companies are skipping it to some degree, including, it would seem, the odd airline company.
You're right. In all fairness, this was about 17 years ago. Windows applications (this one was Visual Basic 6) were still new in factories and decent testing was scarce.
I can prove that my code is correct and without bugs, if I can have correct specification. But the thing is, code is the formal specification. I need to write that and what I get from customer/stakeholder is natural language that can be interpreted many ways. I recommend that the people who want software, gives me input what to put in software, and what is the desired output. If there is some "idea", there should be data in spreadsheet and formulas there. Every view how it should look in every user role, should be drawn. And the software is ready, when acceptance tests are passing. I need those acceptance requirements. With this amount of detail, I can fill missing pieces of specification, and we can start considering verification for different stuff, something like it never crash if hardware works. Or even make it tolerant of device failures. It is just usually not practical to do make full verification but some assurances can be made. Usually writing code to clean specification with strong typing and test coverage is enough but if there is concurrency involved, it is best to use some formal verification to those parts because it is so easy to write bug there.
Welcome to being an engineer. When a surgeon slips they may kill someone. When an engineer makes a mistake it might kill everyone in a building, a plane, on a bridge or in a car.
@@Mark-D-Inman The Iron Ring, Canadian Engineers, and the Quebec Bridge. A true story about this very thing, and one of the first things I was taught when starting engineering.
This is going to depend on how you are installing/deploying your desktop application, but if you are storing settings in an app.config, you still use the encryption method from the video to at least prevent strings being readable. Also, you can create different config files for different builds (for example App.Release.Config), but you'll have to work harder to read from the right one. I'd be interested to know which desktop technology you are developing in.
Hello Mark Inman, The Hospitality Podcast, I hope you are well. I visited your RU-vid Channel. Your content is Excellent. But your Channel is not growing, Because your Content title and Description are not SEO-friendly and do not have Enough Rank tags. This is why there is no Content Coming to the top of RU-vid. As a result, your video SEO Score is very low, according to VidiQ, (your channel's video's SEO score is 0 / out of 100, which should be 90+). If you want, I can make it 90+, which will help your channel grow faster. If you SEO your videos Properly then the Channel Progress will be very Fast & Subscribers and Views will Increase. If you want I can solve problems and help you rank your videos Better. If you are Interested Please Let me know. Regards, Nazmun (RU-vid Video SEO Expert).
I used HiQPdf in a project a few years ago. The product is actually pretty great. The company do themselves a disservice with their circa 1999 web site.
I think that depends on what you mean by 'only'. But I suggest trying it for yourself. Writing some demo code and running it is the best way to learn the outcomes.
Whilst I agree with @t3c1337 that some of your generalizations risk being too broad (e.g. domain models, etc, are the same or mirror database records) I still think you make a lot of great points. Ensuring that architecture remains practically helpful and accessible is so important.
@@alfonsdeda8912 Components can have parameters. Using components together with layouts in Blazor can be very modular and flexible. I have yet to come across a UI scenario that requires more than what they have to offer.
Thank you for a good tutorial. How about posting the code examples to Github and sharing the url to repository for those who want to dive deeper. I understand that DB calls most likely would different for everyone.
So basically: The cause of making developers do spaghetti code is because of the department given y'all a short time requirement deadline? But I believe, if a Knight can't hold his sword, he can't be called a knight. The same applies to the coders, if they can't code properly, they have no rights to call themselves as developers or even IT professional coders. Am I correct?
I like the analogy so let's go with it. Any task in life becomes more difficult the shorter the timeline. The knight who needs to slay the dragon by tomorrow is likely to get devoured. Compared to the knight who has a year to prepare for his battle with the dragon. Same applies to coders - taking on ridiculous deadlines leads to dragons and lots of burn.
Good summary Mark. I would only add that you also call StateHasChanged if you are doing multiple asynchronous steps in a method such as OnInitializedAsync and want additional renders while awaiting. Blazor will do a render on the first await, and another after completion of execution of the method. If you have say 5 sequential async awaits inside the method, you should call StateHasChanged just before each await if you want additional renders.
That turned into an axcellent explanation! I wish I had came here earlier so I wouldn't had so much struggle with this topic, yet you made it even clearer.
Thanks. Yes. While this unscripted video style works for some people, I don't think it's for me. I'll chalk this video up as a not entirely successful experiment.
In the second example with the 'static' keyword, it seems to me that when LongLivedLeak() finishes execution, unless 'instance' is stored elsewhere in the program (like returning it or it is assigned elsewhere to a variable outside the function), then 'instance' would essentially be garbage collected due to the function going out of scope when it is done. I can see 'instance' not being garbage collect if that instance was assigned elsewhere and never handled with properly.
Hey Mark, do u even know a component that is also able to grab the styles, layouts, breaks, images? I created a letter with html but I lose everything except of the text. But I will try that html2pdf converter- thx mate 😊
Nice one! I think you should make an another video about threads and multi-threads, That video would be complementary and relevant resource with this video. Thanks again!
I'll do that for sure. Thanks for the suggestion. To build on this one, the next video will cover exception handling in asynchronous code, which i personally found painful to grasp initially.