![Amichai Mantinband](/img/default-banner.jpg)
- Видео 65
- Просмотров 2 404 742
Amichai Mantinband
Добавлен 20 май 2022
Hey there! In this channel I'm creating industry-level tutorials about coding, design patterns, architecture, and the latest and greatest libraries, tricks, and tips you should definitely know about.
Getting started with Docker Compose
All videos in this playlist: ruclips.net/p/PLzYkqgWkHPKCw7zPNV3xnN1JjtglUzB2W
In today's video, we'll see how simple it is to set up Docker Compose and use it to configure both our .NET application and a postgres database simply by running "docker compose up --build"
Join us on discord: www.patreon.com/amantinband
Get the source code: www.patreon.com/amantinband
Support the channel: www.patreon.com/amantinband
Connect with me on 'em socials:
Twitter: amantinband
LinkedIn: www.linkedin.com/in/amantinband/
GitHub: github.com/amantinband
Check out all my courses on DomeTrain:
dometrain.com/author/amichai-mantinband
Support the channel and get the source code:
www.patreon.com/amantinband
Tha...
In today's video, we'll see how simple it is to set up Docker Compose and use it to configure both our .NET application and a postgres database simply by running "docker compose up --build"
Join us on discord: www.patreon.com/amantinband
Get the source code: www.patreon.com/amantinband
Support the channel: www.patreon.com/amantinband
Connect with me on 'em socials:
Twitter: amantinband
LinkedIn: www.linkedin.com/in/amantinband/
GitHub: github.com/amantinband
Check out all my courses on DomeTrain:
dometrain.com/author/amichai-mantinband
Support the channel and get the source code:
www.patreon.com/amantinband
Tha...
Просмотров: 2 684
Видео
Dockerize Your .NET Application in 5 Minutes!
Просмотров 7 тыс.День назад
All videos in this playlist: ruclips.net/p/PLzYkqgWkHPKCw7zPNV3xnN1JjtglUzB2W In today's video we'll see how simple it is to dockerize a .NET application. We'll create a Dockerfile with 3 stages for building, publishing, and running our web application in just a few minutes. Join us on discord: www.patreon.com/amantinband Get the source code: www.patreon.com/amantinband Support the channel: www...
Presentation Logic vs Application Logic vs Domain Logic
Просмотров 8 тыс.14 дней назад
All videos in this playlist: ruclips.net/p/PLzYkqgWkHPKCw7zPNV3xnN1JjtglUzB2W In today's video we'll talk about Presentation Logic vs Application Logic vs Domain Logic. We'll present and define each, talk about their relationship with one another and see where the code should sit within our project. Join us on discord: www.patreon.com/amantinband Get the source code: www.patreon.com/amantinband...
Controllers From Scratch Using .NET 8
Просмотров 11 тыс.21 день назад
Get the source code (and support the channel 🙂): www.patreon.com/amantinband Join us on discord (and support the channel 🙂): www.patreon.com/amantinband All videos in this playlist: ruclips.net/p/PLzYkqgWkHPKCw7zPNV3xnN1JjtglUzB2W In today's video, we'll implement 2 endpoints from scratch. We'll talk about the responsibility of the controller and the 3-part structure your controllers should fol...
The Best Way To Send HTTP Requests
Просмотров 46 тыс.28 дней назад
Join us on Discord, get the source code (and support the channel 🙂): www.patreon.com/amantinband Clean Architecture Zero to Hero: dometrain.com/bundle/from-zero-to-hero-clean-architecture/ Domain-Driven Design Zero to Hero: dometrain.com/bundle/from-zero-to-hero-domain-driven-design-ddd/ All videos in this playlist: ruclips.net/p/PLzYkqgWkHPKCw7zPNV3xnN1JjtglUzB2W In this video we'll cover HTTP...
How To Design Amazing REST APIs
Просмотров 12 тыс.Месяц назад
Join us on Discord, get the source code (and support the channel 🙂): www.patreon.com/amantinband Clean Architecture Zero to Hero: dometrain.com/bundle/from-zero-to-hero-clean-architecture/ Domain-Driven Design Zero to Hero: dometrain.com/bundle/from-zero-to-hero-domain-driven-design-ddd/ All videos in this playlist: ruclips.net/p/PLzYkqgWkHPKCw7zPNV3xnN1JjtglUzB2W In this video, we'll cover RES...
The 3 REST API Maturity Levels (The Richardson Maturity Model)
Просмотров 6 тыс.Месяц назад
Join us on Discord, get the source code (and support the channel 🙂): www.patreon.com/amantinband Clean Architecture Zero to Hero: dometrain.com/bundle/from-zero-to-hero-clean-architecture/ Domain-Driven Design Zero to Hero: dometrain.com/bundle/from-zero-to-hero-domain-driven-design-ddd/ All videos in this playlist: ruclips.net/p/PLzYkqgWkHPKCw7zPNV3xnN1JjtglUzB2W Act Three: The Maturity Heuris...
Stop Calling Your API a "REST API"
Просмотров 15 тыс.Месяц назад
Join us on Discord, get the source code (and support the channel 🙂): www.patreon.com/amantinband Clean Architecture Zero to Hero: dometrain.com/bundle/from-zero-to-hero-clean-architecture/ Domain-Driven Design Zero to Hero: dometrain.com/bundle/from-zero-to-hero-domain-driven-design-ddd/ All videos in this playlist: ruclips.net/p/PLzYkqgWkHPKCw7zPNV3xnN1JjtglUzB2W Roy Fielding pissed at so-call...
ASP.NET 8 REST API Tutorial - The "Sweet Spot" Architecture
Просмотров 14 тыс.Месяц назад
Get the source code (and support the channel 🙂): www.patreon.com/amantinband Clean Architecture Zero to Hero: dometrain.com/bundle/from-zero-to-hero-clean-architecture/ Domain-Driven Design Zero to Hero: dometrain.com/bundle/from-zero-to-hero-domain-driven-design-ddd/ All videos in this playlist: ruclips.net/p/PLzYkqgWkHPKCw7zPNV3xnN1JjtglUzB2W This video is the first in a series of videos in w...
Exceptions are evil. This is what I do instead.
Просмотров 18 тыс.2 месяца назад
In today's video we'll talk about why exceptions are evil and why you should probably stop throwing exceptions for flow control. Not throwing exceptions will make your code faster, simpler, faster to debug, and easier to maintain. We'll also see the alternative flow control approach which is the result pattern. The result pattern will be demonstrated using ErrorOr, and we'll see how the ErrorOr...
5 C# Naming Conventions I Wish Everyone Followed
Просмотров 15 тыс.3 месяца назад
In today's video we'll cover 5 C# naming conventions I think everyone should be following. Naming can play a huge role in making your code more readable and maintainable. It can also reduce the time spent in debugging or figuring out what the heck is going on. Connect with me on 'em socials: Twitter: amantinband LinkedIn: www.linkedin.com/in/amantinband/ GitHub: github.com/amantinba...
ASP.NET Web APIs Explained in 9 Minutes
Просмотров 9 тыс.3 месяца назад
In today's video we'll talk about ASP.NET Web APIs. We'll understand what web APIs are, what are ASP.NET web APIs, and how ASP.NET web APIs can looked at as a chain of middlewares that use the Dependency Injection Inversion of Control (IoC) container to manage the application's objects. Connect with me on 'em socials: Twitter: amantinband LinkedIn: www.linkedin.com/in/amantinband/ G...
Stop returning custom error responses from your API. Do this instead.
Просмотров 80 тыс.3 месяца назад
In today's video we'll cover the problem details specification (RFC 9457, previously RFC 7807). All HTTP APIs should use the problem details specification, as it defines a consistent, machine readable schema for error responses. So in this video we'll cover what the problem details specifications is, how to use it, and how easy it is to integrate it in your ASP.NET applications. Connect with me...
Dependency Injection Deep Dive | .NET & C# Essentials
Просмотров 18 тыс.3 месяца назад
In today's video we'll dive into Dependency Injection in .NET & ASP.NET. We'll cover almost everything you need to know about integrating dependency injection in your applications from the various lifetimes to every single configuration method on the dependency injection Inversion of Control (IoC) container. Connect with me on 'em socials: Twitter: amantinband LinkedIn: www.linkedin...
Making LINQ Blazing fast with PLINQ (Parallel LINQ) | .NET & C# Essentials
Просмотров 19 тыс.4 месяца назад
In today's video we're going to cover every single PLINQ (Parallel LINQ) extension method with examples. PLINQ is a powerful and can make your LINQ queries extremely fast. We're going to cover how PLINQ is implemented behind the scenes, what are all the various options, and almost everything you need to know about PLINQ before integrating it in your production applications. Connect with me on '...
Dependency injection fundamentals in C# - DI vs IoC vs DIP
Просмотров 25 тыс.4 месяца назад
Dependency injection fundamentals in C# - DI vs IoC vs DIP
Every Single LINQ Extension Method With Examples | .NET & C# Essentials
Просмотров 36 тыс.4 месяца назад
Every Single LINQ Extension Method With Examples | .NET & C# Essentials
Why Developers Are OBSESSED With Obsidian
Просмотров 37 тыс.4 месяца назад
Why Developers Are OBSESSED With Obsidian
Clean Architecture vs Domain-Driven Design (DDD) - Understand the Difference
Просмотров 30 тыс.4 месяца назад
Clean Architecture vs Domain-Driven Design (DDD) - Understand the Difference
This BIG Modeling Mistake Is Ruining Your Performance
Просмотров 11 тыс.5 месяцев назад
This BIG Modeling Mistake Is Ruining Your Performance
The ULTIMATE Clean Architecture Project Template for .NET
Просмотров 30 тыс.5 месяцев назад
The ULTIMATE Clean Architecture Project Template for .NET
Understand Clean Architecture in 7 Minutes
Просмотров 83 тыс.8 месяцев назад
Understand Clean Architecture in 7 Minutes
The .NET Extension Method You Should Know About
Просмотров 15 тыс.Год назад
The .NET Extension Method You Should Know About
The complete guide to unit testing structure best practices
Просмотров 27 тыс.Год назад
The complete guide to unit testing structure best practices
Domain Events | Clean Architecture & Domain-Driven Design from scratch | Part 17
Просмотров 28 тыс.Год назад
Domain Events | Clean Architecture & Domain-Driven Design from scratch | Part 17
5 or 6 year's ago I was writing docker compose files for a company, not so much now, but love to spin up local projects, so easy to provision databases and other great solutions
Thanks, one of the most clear templates on internet!
Very sweet and clean explanation ;) I’d like to know your opinion about “vertical slices” for this kind of projects. Thanks!
What do you use to create these clean architecture images?
Just the best summary of the API best practices! Thanks!
Hi! Thank you for this great explanation, however I am having an issue about connecting Mongodb with dotnet on docker. I keep getting an error of 500 although I think I added them all to compose-yml file properly. It really would be great that if you can take a video about it. Thanks again!!!
Best thumbnail in the world, love it!
Please can't find the second video link. Can you post it? Thanks a lot!
hi Amichai, thanks for great content. just an idea to make it better , it took for times to understand why my visual Studio doesn't recognize .HTTP like yours. and then I installed REST Client extension. now it works. edit: you explained it ,sorry my fault😂
I had to write this on a new monitor because I followed your instructions to smash the subscribe button ☹
😆
Hello. How can i get early access to video in youtube?
By becoming a member of the channel 🙂: ruclips.net/p/UUMOlz49zOCnzsclUJY-t62lIw
Hello! Thanks for this series. I’m an experienced dev but haven’t used Docker or similar before and learning. Are you going to cover the tools in the Microsoft.NET.Build.Containers namespace? I’m confused as to what is recommended for a new .Net 8 web api/Blazor app if I want to deploy that and a db instance to a cloud environment. Cheers!
I'll likely cover the Microsoft.NET.Build.Containers NuGet either as a refactor to what we currently have later on in the series or as a standalone video, but in any case it won't be soon. Regarding what's recommended for a new project - it really depends on the level of configuration you're looking for and other solution specifics.
Lovely, very condensed video! I love to get a better understanding of the things done for me "automatically". Things that are scaffolded for us are often hard to progress from. This helps. Thanks.
great video !! one more thing, is there any way to share your README file on this video ? (look like the whole function list)
Thanks for clearly explaining the Dockerfile. I dockerized an API not too long ago, but I let Rider create the Dockerfile. Your video explained some things I didn't fully understand in the Dockerfile
My God! So blessed to found this channel! the best .NET Teacher! Thank you!
I'm using the same super-secret-key but when I try to run the register request, it throw an exception saying > Unable to create KeyedHashAlgorithm for algorithm 'HS256', the key size must be greater than: '256' bits, key has '128' bits. (Parameter 'keyBytes') I understand the error but I don't understand why it works in the video Anyway thank you so much, high quality content!
oh no that sound...
Hugs from Brazil! Firstly, I'd like to thank for the video. It's very helpful. As a beginner programmer, I would like to know how I can implement `ProblemDetailsDefaults` using my custom built-in middleware with custom exceptions. In my case, my `ProblemDetails` is returning the title with a non-readable message because of this logic: `Title = ((HttpStatusCode)statusCode).ToString()`. It's like `NotFound` instead of `Not Found`, for example. Below, it is an example code: ```cs public static class ExceptionMiddlewareExtension { public static void ConfigureExceptionHandler(this IApplicationBuilder app) { app.UseExceptionHandler(appError => { appError.Run(async context => { IExceptionHandlerFeature? contextFeature = context.Features.Get<IExceptionHandlerFeature>(); int statusCode = contextFeature?.Error switch { ResourceNotFoundException => StatusCodes.Status404NotFound, ResourceNotFoundByIdException => StatusCodes.Status404NotFound, SecurityTokenException => StatusCodes.Status401Unauthorized, _ => StatusCodes.Status500InternalServerError }; var problemDetails = new ProblemDetails { Title = ((HttpStatusCode)statusCode).ToString(), Status = statusCode, Detail = contextFeature?.Error.Message, Instance = contextFeature?.Path }; context.Response.ContentType = "application/json"; context.Response.StatusCode = statusCode; await context.Response.WriteAsJsonAsync(problemDetails); }); }); } } ```
Is it just to create a class and copy the code `ProblemDetailsDefaults` from aspnetcore?
I did it. I managed to implement it.
At the end of this video during the refactoring, in the Infrastructure layer we reference the User entity from the Domain.. That means the Infrastrucuture layer knows about our Domain.
I think this is becuase Infrastructure layer has reference to Application and Application has reference to Domain. So Infrastructure can access the Entities of Domain layer. I thought the whole idea is to make our Infrastructure layer unware of the Domain layer.
@Amichai Mantinband I love your content so much and the way you teach.
Obsidian appears to be a great tool so far, but almost all of these can be done in Notion as well, isn't it?
Nice one Amichai. I review such templates. Heads up: I noticed the short name clashes with Steve "Ardalis" Smith's template (clean-arch), so they don't work on the same machine in parallel unless you specify the full name. I'm especially interested in how you handle repository querying/specifications; Ardalis' Specifications library being on my lookout. I'll give a proper review after trying this out in use cases
Anyone knows which software is used for making this presentation?
love your content, thank you A LOT
Will hot reload works in this docker configuration ?.
I like the concepts and structure. But please do it faster, speak faster and jump faster to different code locations. ;-)
Have you used hurl? How does it compare to http files?
Superbly explained. Crystal clear clarity...!!! Just one request, can you please give a sequence number to each video for this playlist. So that I can watch it with ease sequentially. Thanks!
Thanks a lot!
You are actually a good teacher. Thanks
Hi, amantinband I recently started following you and your content is great! I also enrolled in your courses on Dometrain and I have just one (one) important request! I've been using astroVim, but I can't anymore (new job)... they use VsCode and the plugin I've found out is not that great! During your videos I see you using lots of motion and vim commands, can you make a video about it? or point me in the right direction How can I set up my Vscode to be closer to Vim? Thank you, man.
Hmm... I mean, Obsidian looks pretty good but I've been taking notes in markdown for a long time and I never really find myself wishing it could do more. I think I'm good with that.
great video, would've loved to see also with multiple projects and running migrations
Thanks for the video - Rider IDE as support to generate docker file for your project very easily actually but it's always good to know how to do it manually though
Doesn't .Net 8 support building docker containers with MS build without using a dockerfile? I'm surprised you are showing dockerfile use here.
Maybe I am outdated on this, but since we have a dedicated step for "dotnet restore", shouldn't we use the "--no-restore" option in the build and publish command, to disable the implicit restore?
Yeap and i think he could use the Alpine Versions of dotnet to get a smaller binary
How do you overwrite the token env variable from a login post request? So you don't have to paste the token manually in the env variables file Thanks
there is a lot there that i dont know like what is `FROM build as publish`
Hi @Amichai will you ever do a DAPR content?
Do I need to modify the restoration process because I have multiple layers in my project?
Assuming you meant multiple projects - yes. Here’s an example: github.com/amantinband/clean-architecture/blob/main/Dockerfile
Very cool! My app runs on an EC2 aws instance and relies on local storage on that instance for storing images etc. What would be the next step for me to dockerize? Outsource the storage to AWS S3?
I’ll be covering one possible solution in next week's video: The Better Way To Use Docker ruclips.net/video/JiJeZOHx0ow/видео.html
Awesome! Really simple explanation
Hi, love the videos, can you add to the title the part number? so we can have an order to search later.
The order in the playlist should be correct. I'm reluctant to add the series number as part of the title since series perform worse on youtube than standalone videos
@@amantinband agree no problem
Thanks ❤ for the video. Also request.. we need more videos on docker with .net distributed architecture. 🎉
Noted
❤@@amantinband
I thought the presentation is not suppose to know about the domain layer following clean architecture. It should only know the application layer. Then why can we convert the product to response and also convert request to product from the presentation layer.
Loved the explanation!
Why Authentication service implementation in Application layer but the rest are in infrastructure layer?
It is awesome but in my framework I need to serialize result to be able to cache and deserialize. As it is struct it cant be serialized and data my cache pipeline doesnot work. Do you have a solution for that? Thank you
It needs NTLM authorisation added