Mark Maksi
Mark Maksi
  • Видео 20
  • Просмотров 13 286
NestJS Beginners Guide - Part 1: Core Concepts and REST API
In this first video of my series I explain some of the core concepts of NestJS including Modules, Controllers, Validation Pipes, DTOs and also build a simple REST API with CRUD operations around that.
This series is meant to teach the fundamental concepts of NestJS through a real-world application. I will guide you step by step through the entire process of building a scalable, testable and industry level application using the power of NestJS.
🌟Support my content and work and buy me a pizza here: buymeacoffee.com/markmaksi
⭐ GitHub repo for this series: github.com/mmaksi/nestjs-series
00:00 Intro
00:32 What is NestJS?
02:30 Install NestJS CLI
03:12 Create a NestJS app
03:40 What are we building i...
Просмотров: 256

Видео

Software Development - The Production Workflow
Просмотров 873Месяц назад
In this video, I share an overview of the software development process to give beginner developers the big picture of how software is developed and released to the end users. 🫶 Support my content by buying me a cup of coffee: buymeacoffee.com/markmaksi My Testing Series: ruclips.net/p/PLh6Npm3WLthpz3l5QQNF4MVkktAgNaXNm&si=xsDfFQnYjaEVU7Wy My Docker and Kubernetes Series: ruclips.net/p/PLh6Npm3W...
Beginner Docker - 10 Commands To Master Containers Fundamentals
Просмотров 673 месяца назад
In this video I share 10 commands that beginners should know to work with containers like creating containers, starting them, debugging them and many more. #docker #dockercontainer #webdevelopment #javascript #typescript #softwaredevelopment #softwareengineering This video is inspired by my blog post here: markmaksi.hashnode.dev/10-must-know-commands-in-docker ⚫ Connect with me on X: X.com/mark...
Docker Introduction For Beginners - No-Coding Detailed Intro To Docker 🐳
Просмотров 1493 месяца назад
Why does Docker exist? What is Docker? How does it work? What is a container? What is an image? In this video I answer all these questions and give you a no-coding intro to Docker. To recap, below are some of terms used in the video: 🔵 Docker: project that aims to isolate coding environments so that your application can be shipped to any production environment without running into the issues of...
Detailed Overview of The Nodejs Ecosystem
Просмотров 1254 месяца назад
In this video I give you a broad overview of the Node.js ecosystem so you know how different pieces relate to each others. This video is inspired by my blog post on Hashnode here: markmaksi.hashnode.dev/nodejs-ecosystem-important-libraries-and-frameworks If you have suggestions to add to the ecosystem, please make comments either here or on my blog post above. Feel free to contact me on X: twit...
What is Node.js? How does it work? The detailed answer to dominate this interview question
Просмотров 1514 месяца назад
Node.js is a runtime that allows for asynchronous non-blocking IO operations. But what does that tech jargon mean? In this video I will explain how async operations are executed in Node.js using the Event Loop in great detail and give you a detailed overview of the internals of Node.js. Job interviews ask this question for a reason. If you don't know how Node.js work internally then you won't b...
Cookies vs. JWT Authentication
Просмотров 944 месяца назад
Learn the username/password authentication flow using cookies-based and JWT-based authentication. #authentication #jwt #cookies #nodejs
Server Components vs Client Components in Next.js
Просмотров 665 месяцев назад
Server components vs. client components in modern React apps make all the difference in data fetching, loading speed and user experience. Here I discuss different aspects of server vs. client components and highlight some patterns in data fetching and state management in both types of components. Interesting resources: - State management in Next.js: ruclips.net/video/OpMAH2hzKi8/видео.html - Mi...
Don't Use The Wrong Query Function Again!
Просмотров 915 месяцев назад
Using the wrong query functions can cause unexpected testing behaviors, and the Jest documentations doesn't make it clear on when to use each type of query functions. Until you try and test a lot yourself, you'll start to wrap your head around it. So, in this video I will show you when to use what. There are 3 types of query functions: getBy, queryBy or findBy. - Github repo for this video and ...
Jest Matchers Are Not Enough! Learn To Create YOUR Own Matchers - React | Next.js | Jest
Просмотров 1106 месяцев назад
Creating custom matchers will make your tests DRY and modular, just like custom React hooks. At the end of the video I will give you an exercise ( solution) to practice your new testing skill. #javascript #typescript #jest #testing #softwaretesting #nextjs14 - Github repo: github.com/mmaksi/nextjs-testing-series - Full testing series: ruclips.net/p/PLh6Npm3WLthpz3l5QQNF4MVkktAgNaXNm&si=vLjtiQCH...
4 Ways To Select Any Element For Testing in React.js and Next.js
Просмотров 1806 месяцев назад
To test any component you need to select rendered elements inside that component and apply certain assertions to them. In this video of the testing series, I show you 4 different ways to do that. - Follow along with me by cloning the github repo for this series: github.com/mmaksi/nextjs-testing-series - Follow me on X: mmxi47
Practical Beginner Guide to Testing - Next.js | React | Jest | React Testing Library (RTL)
Просмотров 3,8 тыс.6 месяцев назад
Many developers find testing hard and complicated but it's actually easier and more fun that you think. In this video we will explore testing a React component and also you will see how to use mock functions to test form submission. - Github repo to follow along: github.com/mmaksi/nextjs-testing-series Follow me on X: mmxi47
Interfaces are NOT types for objects. Here is the real answer.
Просмотров 1576 месяцев назад
What if I told you that interfaces are NOT meant to define a type for objects? This is a common misconception in the community since modern frameworks put heavy emphasis on functional programming over OOP. In this video I will show you how to really use interfaces to build powerful applications that are modular and reusable. The 2 benefits of interfaces as mentioned in the video: 1. Creating a ...
Master TypeScript Generics - React.js Example Included
Просмотров 3486 месяцев назад
Master TypeScript Generics - React.js Example Included
How To Handle Errors in Node.js and TypeScript
Просмотров 6 тыс.6 месяцев назад
How To Handle Errors in Node.js and TypeScript
How To Handle Errors in JavaScript
Просмотров 3677 месяцев назад
How To Handle Errors in JavaScript
Hello, World! 🔥😎
Просмотров 1597 месяцев назад
Hello, World! 🔥😎
Kubernetes: Introduction For Beginners (Hands On Walkthrough)
Просмотров 1427 месяцев назад
Kubernetes: Introduction For Beginners (Hands On Walkthrough)

Комментарии

  • @shamshad_hussain
    @shamshad_hussain 14 дней назад

    Best 🎉

  • @TimoTalksTech
    @TimoTalksTech 14 дней назад

    Another great video!

  • @souvikkundu
    @souvikkundu 15 дней назад

    I'm double sharing. Keep growing 🚀

  • @madaraT-fg8kq
    @madaraT-fg8kq 16 дней назад

    thank you very much

    • @markmaksi
      @markmaksi 16 дней назад

      @@madaraT-fg8kq you’re very welcome! Are you looking for a specific topic in tech?

    • @madaraT-fg8kq
      @madaraT-fg8kq 15 дней назад

      @@markmaksi no, I have never done unit testing, this video is a great start and also gave me confidence.

    • @markmaksi
      @markmaksi 15 дней назад

      @@madaraT-fg8kq yep testing is scary for most of us, and it’s not liked among the community in general. To me I guess it’s fun although sometimes it’s tough. I’m glad it helped you. :)

  • @abdrahim9307
    @abdrahim9307 16 дней назад

  • @Precious_Rey
    @Precious_Rey 17 дней назад

    Great video Mark!

  • @markmaksi
    @markmaksi 17 дней назад

    One important thing I forgot to do is to mark our DTO properties as "readonly" for immutability. :) 🌟Support my content and work and buy me a pizza here: buymeacoffee.com/markmaksi ⭐ GitHub repo for this series: github.com/mmaksi/nestjs-series

  • @lukascoorek
    @lukascoorek 26 дней назад

    Hi Mark, great topic to to make video. Great content. I can suggest to prepare more what you want to say, as I can feel you repeat the same things several times. Despite that I will watch you content and subscribe. Hope you do more videos.

    • @markmaksi
      @markmaksi 23 дня назад

      Thank you for your support and feedback! Yes, I'm preparing a series on mastering NestJS. I will publish the first video soon. :)

  • @andri21
    @andri21 Месяц назад

    Good video bro!

  • @regilearn2138
    @regilearn2138 Месяц назад

    I thought kafka will do the communication between containers. would appreciate do a video on this communication methods

  • @brianbutton6346
    @brianbutton6346 Месяц назад

    Interesting stuff. I never got the hang of throwing and catching Errors as a way of managing code flow. I realize it's the done thing but I won't change my ways now. AFAIK, Promises and uncaught Errors go poorly together. If you don't catch the Error before it gets to the Promise, things stop. Since I don't want my server to stop, I consider Errors to be like nitroglycerin. Internally, I prefer to just use return codes, in the spirit of 'not-found', 'nothing-to-do' and 'unauthorized'. More complex than that: a return object, I guess. So it's like an Error but without the danger factor.

    • @markmaksi
      @markmaksi Месяц назад

      Well, I always do try/catch for promises to avoid the unhandled promise rejection error as you stated, and I throw a specific error. If it was a general error that I didn’t handle, the middleware will do the job and throws 500 internal error or 400 bad request. Returning objects isn’t wrong, but gets repetitive very quickly and also no centralised place to handle errors. I’m not fixated towards one approach or another. I prefer to learn what every approach has to offer.

    • @brianbutton6346
      @brianbutton6346 Месяц назад

      @@markmaksi "gets repetitive" That's no lie! The nature of our stuff is that these are flung out into the world so the idea of centralization is different than you might imagine. We spend a lot of thought on sifting events to be explicitly sent upstream. "try/catch for promises" That makes sense. It seems strange to have to do that, no? I never got the hang of using the 'reject' of a Promise. If it failed, we resolve with an error code in the status object.

  • @Precious_Rey
    @Precious_Rey Месяц назад

    Great work mark!

  • @sergioramos2126
    @sergioramos2126 Месяц назад

    Yeahhhh, quality content

  • @prashlovessamosa
    @prashlovessamosa 2 месяца назад

    tHanks

  • @saratht1784
    @saratht1784 2 месяца назад

    you need more subscribers for sure

  • @kajalmapare7220
    @kajalmapare7220 2 месяца назад

    Insightful content!

  • @regilearn2138
    @regilearn2138 2 месяца назад

    great content mate, pls use typescript for projects

    • @markmaksi
      @markmaksi 2 месяца назад

      Thanks for the feedback! All my current projects are in TypeScript. :)

  • @ShakkeerTheCoder
    @ShakkeerTheCoder 2 месяца назад

    Please make the font bigger?

  • @eatcode4530
    @eatcode4530 3 месяца назад

    Would like you to take us through handling user authentication in express, node and typescript, and using sequelize postgres. Thank you

    • @markmaksi
      @markmaksi 3 месяца назад

      Yes of course! I am currently planning for 2 videos that aim to teach how to prepare production workflow: next.js app > write tests (there’s a playlist on my channel) > create CI pipeline using github actions > docker container > deploy to AWS EC2 instance. It’s all made for beginners. After that I will make that video that you have just requested. :)

    • @eatcode4530
      @eatcode4530 2 месяца назад

      @@markmaksi Thank you. Looking forward for more. God bless your for your commitment and sacrifice.

  • @eatcode4530
    @eatcode4530 3 месяца назад

    Wonderful explanation.

  • @daucuskarota9497
    @daucuskarota9497 3 месяца назад

    will be videos how to create docker files?)

    • @markmaksi
      @markmaksi 3 месяца назад

      Yep of course. The next video is how to prepare a production workflow: dockerize next.js app > build a CI pipeline > deploy to AWS EC2 instance. It’s coming this weekend. Thanks for following my content. If you have ideas in mind regarding docker or other topics please let me know. 😎👊🏼

  • @kim92se64
    @kim92se64 3 месяца назад

    To be honest I never seen such a great tutorial on RUclips in terms of Docker especially when it comes to -i for STDIN and -t for STDOUT commands explained in a very short video !!! Awesome work !!! Regard from Pakistan

    • @markmaksi
      @markmaksi 3 месяца назад

      Thank you for your kind words. I’m glad you enjoyed my video. Thanks for the support. ♥️

  • @prashlovessamosa
    @prashlovessamosa 3 месяца назад

    Great explanation brother.

  • @TimoTalksTech
    @TimoTalksTech 3 месяца назад

    Another superb video on complex subject

    • @markmaksi
      @markmaksi 3 месяца назад

      Thanks brother!

  • @harpo187bling
    @harpo187bling 3 месяца назад

    Good videos here. Thank you

    • @markmaksi
      @markmaksi 3 месяца назад

      You're welcome! Glad you liked it. Feel free to check out my blog post around authentication and authorization where I shared what I wish someone told me in the beginning of my career: markmaksi.hashnode.dev/fundamental-authentication-concepts

  • @smoked-old-fashioned-hh7lo
    @smoked-old-fashioned-hh7lo 4 месяца назад

    the lack of runtime type safety has always been the deal breaker for me with typescript. to even simulate that you need libraries that are verbose and complex.

  • @jayelemartermulo8574
    @jayelemartermulo8574 4 месяца назад

    Property 'toHaveTotalPrice' does not exist on type 'JestMatchers<{ id: number; name: string; price: number; }[]>'. thank you sir mark. i watch to 4 videos, i get a problem on the custom matcher using typscript. i code along with your video then as im trying to import the toHaveTotalPrice.. i got this error. someone my also bump on this error. its just syntax error for ES6. here is my updated code. //Cart.test.ts test("checks if the shopping cart has the correct total price", () => { const items = [ // array of items ]; expect(toHaveTotalPrice(items,60)) expect(toHaveTotalPrice(items, 50)).not.toBeTruthy(); });

  • @songs123d
    @songs123d 4 месяца назад

    Awesome video.

  • @aadilminhaz1637
    @aadilminhaz1637 4 месяца назад

    Nice work on this complex topic. Perfectly Explained. Thank you

  • @TimoTalksTech
    @TimoTalksTech 4 месяца назад

    Hey bro! One minor constructive criticism. Start making timestamps for your videos. Will be easier to look thru what you have coming up and then look carefully on those topics within the videos.

    • @markmaksi
      @markmaksi 4 месяца назад

      Great suggestion! The point is that RUclips doesn’t create the time stamps if you didn’t start with 00:00

    • @TimoTalksTech
      @TimoTalksTech 4 месяца назад

      @markmaksi yea just Mark that as 00:00 Intro

    • @markmaksi
      @markmaksi 4 месяца назад

      @@TimoTalksTech yes but I didn’t know this and was just wondering what’s going on LoL 😂

  • @TimoTalksTech
    @TimoTalksTech 4 месяца назад

    Top notch stuff as always! You should have 1000 subs already ❤

    • @markmaksi
      @markmaksi 4 месяца назад

      Thanks bro! I hope I get that soon! I want this channel to be fully educational and drama-free.

  • @daucuskarota9497
    @daucuskarota9497 4 месяца назад

    it was helpful, I hope you'll find time to make next video)

    • @markmaksi
      @markmaksi 4 месяца назад

      Thank you! It's not a matter of time, but my views dropped dramatically after posting 4 videos on Testing. Now I'm preparing for a hot video for the coming weeks, tests will be there but not the main topic, but it's gonna be a great one. I'll drop different videos before that hot one is ready to be released. Be ready for it!

    • @daucuskarota9497
      @daucuskarota9497 4 месяца назад

      testing is not so popular topic... and find something that is matching with you can be difficult

  • @daucuskarota9497
    @daucuskarota9497 4 месяца назад

    thank you very much!

    • @markmaksi
      @markmaksi 4 месяца назад

      Welcome! Are you looking for a specific topic in testing?

  • @Precious_Rey
    @Precious_Rey 4 месяца назад

    great video mark!

  • @royakhras
    @royakhras 4 месяца назад

    Are you single???

  • @royakhras
    @royakhras 4 месяца назад

    نظرتك لا تقاوم

  • @royakhras
    @royakhras 4 месяца назад

    Damnnn Dadddyy

  • @Precious_Rey
    @Precious_Rey 4 месяца назад

    Great video Mark!

    • @markmaksi
      @markmaksi 4 месяца назад

      Thanks for the feedback! Would you like to see something specific on my channel? I’m creating a series of crash courses now.

  • @markmaksi
    @markmaksi 4 месяца назад

    To access the diagram in the video: www.canva.com/design/DAF_LCZIFsk/Ov8aauGGwBmhQ3ekq_twDw/view?DAF_LCZIFsk&

  • @Precious_Rey
    @Precious_Rey 4 месяца назад

    Nice one Mark! Learnt something new

    • @markmaksi
      @markmaksi 4 месяца назад

      Thank you! Glad that you found it helpful!

  • @0xtz_
    @0xtz_ 4 месяца назад

    we was having all this pain now bun took the pain away 😂 and we run directly the Ts files

    • @markmaksi
      @markmaksi 4 месяца назад

      I love deno! Its community is growing but hopefully it takes over node one day. 😂

  • @rajatsingh3517
    @rajatsingh3517 4 месяца назад

    Types and interface has these own place is typescript, mark has done a grt job summarizing the concepts

  • @paolahinostroza6659
    @paolahinostroza6659 4 месяца назад

    Good video!! .You've saved me. I've been awake for 24 hours and I have to submit a project in a couple of hours for a job interview. Greetings from Argentina!

    • @markmaksi
      @markmaksi 4 месяца назад

      I'm glad you find the video helpful! If you need help feel free to reach me out on X. Good luck and hope you land your dream job!

    • @craiggazimbi
      @craiggazimbi 2 месяца назад

      I can relate , hope you landed the job

  • @0xtz_
    @0xtz_ 6 месяцев назад

    this is interesting 😮 i need to try all this ..

  • @0xtz_
    @0xtz_ 6 месяцев назад

    nice 👍 keep going 💪, we need more testing Stuff.

  • @jerbparagas3924
    @jerbparagas3924 6 месяцев назад

    CAN you do next 13 or next 14 api app router test, maybe with prisma too? I'm lost with mocking

    • @markmaksi
      @markmaksi 6 месяцев назад

      I no longer use Next 13. For the app router API, yes I can do that. The series starts from a beginner level so it’s gonna take a while until I cover more advanced content. What exactly are you struggling with?

  • @TimoTalksTech
    @TimoTalksTech 6 месяцев назад

    Amazing to see your new video again! Good stuff as always! You are really growing fast! Keep crushing my man!

    • @markmaksi
      @markmaksi 6 месяцев назад

      Thanks brother! Hard work + passion. 🔥

  • @MuhammadAlam-ne9cf
    @MuhammadAlam-ne9cf 6 месяцев назад

    Thanks Mark!! great tutorial

    • @MuhammadAlam-ne9cf
      @MuhammadAlam-ne9cf 6 месяцев назад

      can you do a favor though: next time add chapters/sections to your vid so we can easily refer back to different parts

  • @FurryDanOriginal
    @FurryDanOriginal 6 месяцев назад

    I haven't even watched the video yet, but already gotta say, thank you! For me it was never a debate as conceptually they represent different ideas, so it was all the more surprising to me as to how many youtubers recommend to always use types (unless interfaces are explicitly needed). Types are shorthands, interfaces are strict, non-dynamic structures for objects. Therefore I use them as such.

    • @markmaksi
      @markmaksi 6 месяцев назад

      That’s very true. When I see a RUclips thumbnail made for clickbaits of use types don’t use interfaces.. I just shake my head. I remember seeing a video where the content creator said “I can’t believe the docs recommend you to use interfaces”. I digged deeper into that RUclipsr and they claimed to have 10 years of experience in software development. 🤔 I really can’t see the point of: 1. Talking about a topic we don’t have knowledge about. 2. Repeating what others say in different format without testing the validity of their information. I wish this video goes viral so that I create some trouble in the community for good. Thanks for your knowledge and can’t wait to hear your feedback on the entire video. Also a hashnode blog is also available in the description box.