Тёмный
Raw Coding
Raw Coding
Raw Coding
Подписаться
Welcome to Raw Coding, my name is Anton and I make programming tutorials I wish I had.
Maintainable Code: EF Core Transactions Tips
12:38
2 месяца назад
Authorization Policy updates in .NET 8
12:42
4 месяца назад
ASP.NET Core Service Discovery
43:01
5 месяцев назад
Working with queues? Build a Message Sink
27:04
6 месяцев назад
Neat trick for Scoped services in ASP.NET Core
9:22
6 месяцев назад
Build your own dotnet watch tool
20:59
6 месяцев назад
Why replace if statements with Objects
22:20
7 месяцев назад
What you should know about Threads in .NET
14:52
7 месяцев назад
Take control over ASP.NET Core
17:44
7 месяцев назад
Publishing a Nuget Package the RIGHT way
46:24
8 месяцев назад
ASP.NET Core Integration Testings Setup
37:36
8 месяцев назад
Building an ASP.NET Core Nuget Package
36:19
8 месяцев назад
How to escape Tutorial Hell, WITH PROOF!
27:29
9 месяцев назад
Reviewing JetBrains Fleet after 2 Years
35:51
9 месяцев назад
.NET Developer miserably fails at Laravel PHP
52:23
9 месяцев назад
ASP.NET Core tutorial for Beginners | NEW .NET 8
39:15
9 месяцев назад
Synchronise using Queues or Semaphores?
16:47
10 месяцев назад
Why I think .NET Aspire is Overhyped
21:16
10 месяцев назад
Testing Localisation in ASP.NET Core
18:03
10 месяцев назад
New .NET 8 Features for Performance
14:19
10 месяцев назад
Constraint Oriented Programming in C#
29:51
10 месяцев назад
Meta Programming is King
23:49
11 месяцев назад
Interfaces vs Abstract Classes
14:43
11 месяцев назад
Комментарии
@unskeptable
@unskeptable Час назад
This is a bit all over the place. Hard to follow
@dries9070
@dries9070 День назад
Great video Anton. Could you give a solution to automatically close the opened webform (in the browser) which says success! ?
@althaf9213
@althaf9213 2 дня назад
That was crystal clear contents. I always liked your informative explanations, And I wish for more tutorial content like these. Thank you for your efforts🙏🙏🙏
@matthieu875
@matthieu875 2 дня назад
I dont understand the point of this ide if you have IntelliJ ultimate + rider you can work on any language actually and with a far better integration, they should put their efforts to improve the IA instant
@peterluo1776
@peterluo1776 2 дня назад
Great video for a beginner to such topics. thanks for sharing.
@ilkereksioglu1715
@ilkereksioglu1715 4 дня назад
Why does services get deleted at 4:30? Just bcs of DI? GC should leave it be as it is referenced as I know. Also, love your work:)
@Nishant_0073
@Nishant_0073 5 дней назад
14:39 Bro what 💀?
@mubashirsoomro6
@mubashirsoomro6 6 дней назад
Would this approach work if I have a limited number of connections that I can make with an sftp client? The way I see it, this can also help control concurrency. I don't know if there is a better approach.
@alkr7720
@alkr7720 8 дней назад
7:23 - How does DI prevent you from using a strategy pattern? Are you assuming that you NEED to pass strategy in a constructor? why?
@RawCoding
@RawCoding 7 дней назад
Really good question. It prevents me from using the strategy pattern by having to have things like keyed service or passing a factory, more over configure that at runtime. If the alternative is to assemble the class yourself you can pass whatever parameter you want. So assuming that I need to pass the strategy in constructor, if you are suggesting injecting a service and then giving it a strategy via a method means you change its state after instantiation, this muddles control flow therefore introduces complexity.
@alexanderbikk8055
@alexanderbikk8055 9 дней назад
Hey Anton, nice content and the whole Auth playlist is just incredible. It's been a while so I don't expect your answer, but I'm still wondering about a few things 1. When SPA and API are on different sub-domains SameSite=Lax and enabling CORS should work well as in your example. 2. However when my SPA and API are on completely different domains I guess I need SameSite=None and CORS, otherwise it won't work, right? In that case, I have to enable anti-forgery token generation for my API and attach it to every Response + verification of it on the API side. Without SameSite=None it won't be possible to share the cookie across completely different domains, correct? And when SameSite=None we are vulnerable to CSRF attack so anti-forgery is a must. Thanks
@RawCoding
@RawCoding 7 дней назад
If your auth cookie is samesite none, if you get xss attacked the auth session will get stolen since the cookie can be sent to a different domain. Id suggest use the new token auth, rather than meddle with cookies cross domain; though again that token will be pretty vaulnerable the proper way is BFF that can deal a cookie for your spa on the same domain.
@ic_1234
@ic_1234 12 дней назад
which keyboard do you use? sounds good lol
@Murad-Khalid
@Murad-Khalid 13 дней назад
you really need to talk more clearly and a little bit slower, it's really hard to understand what you are saying if the viewer main language is not Enlgish. that's why the most popular programming instructors are indians since they are really easier to understand
@timur2887
@timur2887 16 дней назад
And this is how you may simplify your code with no Pipe class or inheritance: public sealed class PipelineBuilder<T> { private readonly Action<T> _coreAction; private readonly IList<Action<T, Action<T>>> _pipeline = new List<Action<T, Action<T>>>(); public PipelineBuilder(Action<T> coreAction) { _coreAction = coreAction; } public PipelineBuilder<T> Add(Action<T, Action<T>> pipe) { _pipeline.Add(pipe); return this; } public Action<T> Build() => CreatePipeline(); private Action<T> CreatePipeline(int index = 0) { var nextAction = index < _pipeline.Count - 1 ? CreatePipeline(index + 1) : _coreAction; return obj => _pipeline[index](obj, nextAction); } }
@timur2887
@timur2887 16 дней назад
usage: var pipeline = new PipelineBuilder<string>(param => Console.WriteLine($"Core processed with {param}")) .Add((string param, Action<string> next) => { //First Action Console.WriteLine($"Before First Action processed with {param}"); next(param); Console.WriteLine($"After First Action processed with {param}"); }) .Add((string param, Action<string> next) => { //Second Action Console.WriteLine($"Before Second Action processed with {param}"); next(param); Console.WriteLine($"After Second Action processed with {param}"); }) .Build(); pipeline("Middleware context");
@Flavinous
@Flavinous 16 дней назад
18 is a magic number. Consider using a constant to make it more readable
@WhiteSkyyyyyyyy
@WhiteSkyyyyyyyy 16 дней назад
GOD, I ADORE YOU, I'VE BEEN LOOKING FOR THIS FOR A WEEK, I DIDN'T SLEEP UNTIL 4:00 IN SEARCH OF THIS BECAUSE I'M BUILDING A MICROSEOVIS ARCHITECTURE SO YOU ALSO CONNECTED REDIS THANK YOU VERY MUCH
@timur2887
@timur2887 16 дней назад
HeartBear... это прикол)
@Johnny-pt9xw
@Johnny-pt9xw 17 дней назад
Didn't know there was a way to teach Adapters and Wrappers without interfaces.
@nemanjadjordjevic5783
@nemanjadjordjevic5783 17 дней назад
I always thought the keyed services were kinda useless since we could do those things easily with just a little bit of code, glad someone finally made a video about it.
@theeasywaytr4293
@theeasywaytr4293 18 дней назад
Awesome! Thanks!
@yourtopeleven-tp9fj
@yourtopeleven-tp9fj 18 дней назад
This channel is so underrated
@suhutwadiyo
@suhutwadiyo 19 дней назад
this is real of UnitOfWork ?
@adrianimpedovo5237
@adrianimpedovo5237 20 дней назад
Thank you! This was so helpful: I inherited a vue.js app with a .NET Minimal API at work and this is the only video that helped me understand how it works. I do have one question though - in my application, when I run the vue app and then run the API, I can hit breakpoints in the API but not in the vue.js code. Would you have any idea on why that is? Regardless, a very helpful video! :)
@RawCoding
@RawCoding 20 дней назад
You can hit breakpoint because the IDE connects to the .net process. The Javascript runs in browser, check the Sources tab you can debug in there
@kabalikaala
@kabalikaala 20 дней назад
Thanks for this wonderful article. I have some queries. In this you loaded the assembly as hardcoded. How to achieve this for multiple plugins. For example, if I have employee, department, staff plugins and these need to load at runtime. How to achieve this. Also, is it possible to load the Web API Controllers in similar ways. Thanks.
@abdosaeyd1987
@abdosaeyd1987 22 дня назад
That was very helpful and full of experience 👏👏
@juliohdez5327
@juliohdez5327 23 дня назад
Nice video, it is great, thank you so much. great explanation.
@abdosaeyd1987
@abdosaeyd1987 24 дня назад
First , thanks for the video . i tried to fetch data using the two ways mentioned in the video but each way give a different number of lines . am i doing it right ? what should i do ?
@hossiensalmy6152
@hossiensalmy6152 24 дня назад
Check out this straightforward and all-inclusive tutorial!
@starnine-b6b
@starnine-b6b 27 дней назад
Buddy, can you do it using Node JS?
@Arashi256
@Arashi256 29 дней назад
That was inspired to use GUID to illustrate lifetime of each type :D - very clear, even I understood it :) Excellent.
@TheOneAndOnlySecrest
@TheOneAndOnlySecrest 29 дней назад
One use case I have for them is to expose multiple interfaces on the same instance without having the actual instance accessible from the DI. So basically what I do for some parts: class AorB : IA, IB { ... } var temp = new object(); services.AddKeyedSingleton<AorB>(temp) services.AddTransient<IA>(p => p.GetKeyedService(temp)) services.AddTransient<IB>(p => p.GetKeyedService(temp)) In my logic I actually replicated the options from AutoFac using service registrations, but I guess you get the point. In my case I only want to have IA or IB retrievable but not AorB but this is the class implementing both interfaces so to have a single instance I need to have it accessible from the DI. Same goes for decorating services and other things.
@RawCoding
@RawCoding 29 дней назад
So you are using keyed services to make them private? Thats smart
@PerryCodes
@PerryCodes Месяц назад
I think it would have been better to go the Babel and Webpack route so that you can have .vue files. This method you're showing is fine for super small "intro to vue" apps, but for an Admin application? Definitely not.
@CanalExistencial
@CanalExistencial Месяц назад
Thank you very much! Your content is really very helpful!
@CanalExistencial
@CanalExistencial Месяц назад
Thank you very much!
@yemilgr
@yemilgr Месяц назад
Arrive here for dotnet videos... Leaving without looking back after this crap
@willgordon5737
@willgordon5737 Месяц назад
Bro you and this guy is are programming Jesuses. ru-vid.com/video/%D0%B2%D0%B8%D0%B4%D0%B5%D0%BE-C1pjPv3WJyo.html
@aamirali6914
@aamirali6914 Месяц назад
i am bit confused is async spawn state machine(3:03) or Task(3:48) you told its async somewhere you told its Task so if i want to avoid state machine which one i shouldnt use async or task
@RawCoding
@RawCoding Месяц назад
Task is just a class that marks something to be asynchronous, so tasks can be awaited. async creates state machine
@aamirali6914
@aamirali6914 Месяц назад
@@RawCoding Thanks for the guidance.
@reha2341
@reha2341 Месяц назад
what's the compiler u r using ??
@josepvg
@josepvg Месяц назад
I love this video, thanks. i will probably look at it a few more times
@parsalotfy
@parsalotfy Месяц назад
thanks for your gr8 video
@parsalotfy
@parsalotfy Месяц назад
these videos are perfect, wonderful video and content. thanks a lot for sharing your knowledge.
@gdcarvalho98
@gdcarvalho98 Месяц назад
So bad ...
@dx31900
@dx31900 Месяц назад
did you checked it still accept token even if token is expired.
@stephen_2091
@stephen_2091 Месяц назад
moistcritikal if he taught programming
@bahromsooltonov
@bahromsooltonov Месяц назад
Nuget is one function of maven. Maven way more powerful
@bahromsooltonov
@bahromsooltonov Месяц назад
Who learn the dotnet first, that is brainwashed by microsoft. They try to do by microsoft way. Spring is Man. You need to think like Spring way don’t use Microsoft way to it. You need to clean up from microsoft first. Productivity in Spring way more faster than dotnet. Learn Spring like a man. Almost all patterns are built in.
@RawCoding
@RawCoding Месяц назад
You are old grandpa if you use Java
@bahromsooltonov
@bahromsooltonov Месяц назад
I watched your video and it is clearly visible you don’t know spring yet. I am Java, dotnet developer and Oracle OCE and Mssql DBA. I know you are MVP but your video is not fare. With dotnet productivity is slow and requires more affords. If you upgrade dotnet version, it doesn’t go smoothly like java and spring.
@RawCoding
@RawCoding Месяц назад
You do Java, you grandpa 👴🏼
@bahromsooltonov
@bahromsooltonov Месяц назад
@@RawCoding zombie is zombie😀
@RawCoding
@RawCoding Месяц назад
XD
@Tiago-up3tw
@Tiago-up3tw Месяц назад
Loving this channel
@arash2229
@arash2229 Месяц назад
Nice explanation. ty buddy 😊❤
@tungngo5826
@tungngo5826 Месяц назад
great video. But how to do when data is in binary message ?
@RawCoding
@RawCoding Месяц назад
All data is binary under the hood. You need to know the format to deserialise it, chances are if its grcp you might struggle to figure out whta the schema is
@inomjonismaylov7705
@inomjonismaylov7705 Месяц назад
Thank you Anton. Very informative as always
@JinoLeGeek
@JinoLeGeek Месяц назад
Amazing Job