Amichai Mantinband
Amichai Mantinband
  • Видео 65
  • Просмотров 2 404 742
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...
Просмотров: 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
Winglang in 10 minutes
Просмотров 10 тыс.9 месяцев назад
Winglang in 10 minutes
.NET in 300 seconds
Просмотров 56 тыс.9 месяцев назад
.NET in 300 seconds
DDD's Holy Grail
Просмотров 13 тыс.10 месяцев назад
DDD's Holy Grail
Clean Code Sucks?
Просмотров 10 тыс.Год назад
Clean Code Sucks?
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
How Sharp is Your C#? | Riddle #2
Просмотров 6 тыс.Год назад
How Sharp is Your C#? | Riddle #2
Domain Events | Clean Architecture & Domain-Driven Design from scratch | Part 17
Просмотров 28 тыс.Год назад
Domain Events | Clean Architecture & Domain-Driven Design from scratch | Part 17

Комментарии

  • @Radictor44
    @Radictor44 18 часов назад

    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

  • @xelaksal6690
    @xelaksal6690 23 часа назад

    Thanks, one of the most clear templates on internet!

  • @jraguilar78
    @jraguilar78 День назад

    Very sweet and clean explanation ;) I’d like to know your opinion about “vertical slices” for this kind of projects. Thanks!

  • @kauanhindlmayer860
    @kauanhindlmayer860 День назад

    What do you use to create these clean architecture images?

  • @xelaksal6690
    @xelaksal6690 День назад

    Just the best summary of the API best practices! Thanks!

  • @sudeolmez5480
    @sudeolmez5480 День назад

    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!!!

  • @ArchangelWatch1337
    @ArchangelWatch1337 2 дня назад

    Best thumbnail in the world, love it!

  • @kylderi
    @kylderi 2 дня назад

    Please can't find the second video link. Can you post it? Thanks a lot!

  • @ehsangoodarzi2123
    @ehsangoodarzi2123 2 дня назад

    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😂

  • @sunefred
    @sunefred 2 дня назад

    I had to write this on a new monitor because I followed your instructions to smash the subscribe button ☹

  • @Nursat-np2kd
    @Nursat-np2kd 2 дня назад

    Hello. How can i get early access to video in youtube?

    • @amantinband
      @amantinband 2 дня назад

      By becoming a member of the channel 🙂: ruclips.net/p/UUMOlz49zOCnzsclUJY-t62lIw

  • @ToWriteForPosterity
    @ToWriteForPosterity 2 дня назад

    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!

    • @amantinband
      @amantinband 2 дня назад

      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.

  • @andersjuul8310
    @andersjuul8310 4 дня назад

    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.

  • @kaiyuanliu4151
    @kaiyuanliu4151 4 дня назад

    great video !! one more thing, is there any way to share your README file on this video ? (look like the whole function list)

  • @HackerUC
    @HackerUC 4 дня назад

    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

  • @sylowDEV
    @sylowDEV 5 дней назад

    My God! So blessed to found this channel! the best .NET Teacher! Thank you!

  • @mastra1055
    @mastra1055 6 дней назад

    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!

  • @sgipower
    @sgipower 6 дней назад

    oh no that sound...

  • @kauazinho4153
    @kauazinho4153 6 дней назад

    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); }); }); } } ```

    • @kauazinho4153
      @kauazinho4153 6 дней назад

      Is it just to create a class and copy the code `ProblemDetailsDefaults` from aspnetcore?

    • @kauazinho4153
      @kauazinho4153 6 дней назад

      I did it. I managed to implement it.

  • @chidii
    @chidii 6 дней назад

    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.

    • @chidii
      @chidii 6 дней назад

      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.

    • @chidii
      @chidii 6 дней назад

      @Amichai Mantinband I love your content so much and the way you teach.

  • @soham_mondal
    @soham_mondal 7 дней назад

    Obsidian appears to be a great tool so far, but almost all of these can be done in Notion as well, isn't it?

  • @MarvijoSoftware
    @MarvijoSoftware 7 дней назад

    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

  • @zxenon555
    @zxenon555 7 дней назад

    Anyone knows which software is used for making this presentation?

  • @Synxrise
    @Synxrise 7 дней назад

    love your content, thank you A LOT

  • @xardasu3646
    @xardasu3646 8 дней назад

    Will hot reload works in this docker configuration ?.

  • @LarryGroot
    @LarryGroot 8 дней назад

    I like the concepts and structure. But please do it faster, speak faster and jump faster to different code locations. ;-)

  • @mauricioaviles6914
    @mauricioaviles6914 8 дней назад

    Have you used hurl? How does it compare to http files?

  • @hardikparmar1665
    @hardikparmar1665 8 дней назад

    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!

  • @cyra9544
    @cyra9544 8 дней назад

    Thanks a lot!

  • @stickyamp5996
    @stickyamp5996 8 дней назад

    You are actually a good teacher. Thanks

  • @joseluiz_real
    @joseluiz_real 8 дней назад

    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.

  • @stillmattwest
    @stillmattwest 9 дней назад

    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.

  • @marcusalves7
    @marcusalves7 9 дней назад

    great video, would've loved to see also with multiple projects and running migrations

  • @ivandrofly
    @ivandrofly 9 дней назад

    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

  • @pilotboba
    @pilotboba 9 дней назад

    Doesn't .Net 8 support building docker containers with MS build without using a dockerfile? I'm surprised you are showing dockerfile use here.

  • @eqwerty610
    @eqwerty610 9 дней назад

    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?

    • @matiascasag
      @matiascasag 9 дней назад

      Yeap and i think he could use the Alpine Versions of dotnet to get a smaller binary

  • @joseluiseiguren7827
    @joseluiseiguren7827 9 дней назад

    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

  • @DaminGamerMC
    @DaminGamerMC 9 дней назад

    there is a lot there that i dont know like what is `FROM build as publish`

  • @muczos
    @muczos 9 дней назад

    Hi @Amichai will you ever do a DAPR content?

  • @user-gl7vl2kw8g
    @user-gl7vl2kw8g 9 дней назад

    Do I need to modify the restoration process because I have multiple layers in my project?

    • @amantinband
      @amantinband 9 дней назад

      Assuming you meant multiple projects - yes. Here’s an example: github.com/amantinband/clean-architecture/blob/main/Dockerfile

  • @dzllz
    @dzllz 9 дней назад

    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?

    • @amantinband
      @amantinband 9 дней назад

      I’ll be covering one possible solution in next week's video: The Better Way To Use Docker ruclips.net/video/JiJeZOHx0ow/видео.html

  • @Nursat-np2kd
    @Nursat-np2kd 9 дней назад

    Awesome! Really simple explanation

  • @ricardoribeiro4560
    @ricardoribeiro4560 9 дней назад

    Hi, love the videos, can you add to the title the part number? so we can have an order to search later.

    • @amantinband
      @amantinband 9 дней назад

      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

    • @ricardoribeiro4560
      @ricardoribeiro4560 День назад

      @@amantinband agree no problem

  • @AslamNazeerShaikh
    @AslamNazeerShaikh 9 дней назад

    Thanks ❤ for the video. Also request.. we need more videos on docker with .net distributed architecture. 🎉

  • @chidii
    @chidii 10 дней назад

    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.

  • @subramaniannk4255
    @subramaniannk4255 10 дней назад

    Loved the explanation!

  • @shadmansudipto7287
    @shadmansudipto7287 11 дней назад

    Why Authentication service implementation in Application layer but the rest are in infrastructure layer?

  • @nuriaktas9317
    @nuriaktas9317 11 дней назад

    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

  • @chrisnuk
    @chrisnuk 11 дней назад

    It needs NTLM authorisation added