No video
Dependency Injection in JavaScript
Learn how to use dependency injection in a JavaScript application to decouple a MySQL database from an express HTTP server. This will help us be able to mock the database for a future video.
🔗 Text version:
sammeechward.c...
🔗 Code:
github.com/Sam...
🔗 Moar Links
My Website: www.sammeechwa...
Instagram: / meech_ward
Github: github.com/org...
TikTok: / meech.s.ward
Пікірлер: 52
Thank you Sam. Please keep making videos. You are 1000% easier to understand than my teachers. You are a life send. Thank you 100 times.
This was very clear. I was struggling to understand the concept but with this I get it completely now! Thanks
great explanation just a small feedback that your music is louder than your voice and thats kind of annoying
My primary development language is C#, so I was very interested in learning how to mock for testing in TypeScript. I've got a few years of JavaScript under my belt, but never got into DI there. I came to this video from your "Mocking a Database in Jest" video. If the explanation is clear there as it was here, you have my deepest gratitude and appreciation, as well as a new subscriber.
You got a sub bro. You're awesome. Your channel will get 1M hit too soon. I hope. You've very quality content. Please, make a playlist on React testing too
Thank you and kudos! Very easy to understand, and you give a lot of great examples that can fit right into real life projects.
Thanks for the great tutorial, Sam! One feedback though; the music is a bit louder than your voice, so I have to decrease the volume whenever you fast forward
Thanks. Спасибо! Почему-то я не догадывался строить приложение таким образом. Возможно под влиянием laravel и других фреймворков я упускал понимание работы механизмов более низкого уровня и пытался реализовать создание корневого объекта приложения во входном файле. Очень рад, что посмотрел данное видео)
Very nice explanation. Thanks Sam. Greetings from Portugal 🤗
This is great looking forward advanced topics about testing! Thank you
Great explanation! Keep it going please :-)
this was awesome, thank you!
Love your work dude but the songs u play during your fastforward makes me want to throw away my headphones everytime ^^
@SamMeechWard
3 жыл бұрын
🤣 I’m open to music suggestions
it was a very clear explanation, very cool!
Another amazing....THANK YOOOUU SAM!!
@SamMeechWard
Жыл бұрын
Glad you enjoyed it!
Great way to explain the pattern. Thank you! Just one question, is having all your queries to the db in a single file a good practice or a conventional practice? I just have not seen that before.
good stuff
Hi, In case we separate the route and controller (move the route to route file, controller to controller file), how we inject database
Code Fastforwards : 3:25 - database.js 6:55 - wrapping database calls in app.js inside a function 9:00 - passing a custom database object to the app
Super nice, thanks. How would you do if the database isn't directly used in the app, but in a router or in a controller called from that router ? I'm having a hard time trying to apply these principles to an app wired this way.
Awsome explanation
Technically, ,if a username already exists you would use the 409 Conflict status. I know it's not germane to the tutorial, it's just a random nugget of information for anyone who builds HTTP servers. I always suggest using HTTP status semantics so consuming applications can derive the error from the calling context without having to parse the error message text, or introducing custom domain-specific error codes. Then for a specific request, the front-end say, will know that when a conflict is thrown, a user with the username already exists.
Great tutorial!!! Thanks!!
Really helpfull video for me thanks from India ...
@SamMeechWard
2 жыл бұрын
You're welcome from Canada 🤗
Thanks for making this video! I've always liked test-driven development. But I do have a question - what's the syntax for injecting the database dependency if your routes are in another file? for example app.ts has: app.user('/api/user', userRoute); //where your post route is in userRoute.js
Great video
it is wonderful
But what if you have a lot of routes and they're stored in different files, do I have to drill down the database object to every single controller and middleware ?
Did you hire a professional to select your intro songs? They're always so good.
@SamMeechWard
3 жыл бұрын
I have an unpaid intern
@Sam-nm1ix
3 жыл бұрын
@@SamMeechWard you should start paying her
Great explanation. Succint! Just need to reduce the volume of the music though. It'll be better if it played somewhat subtly in the background. 👍
hey thanks a lot for the amazing video. could you make a video about applying dependency injection to graphql server?
@SamMeechWard
2 жыл бұрын
I love the suggestions. It might be a while until I do any videos with GraphQL though.
please how do I achieve dependency injection when I have different route files and import all the routes into the index app
@SamMeechWard
3 жыл бұрын
I hope this makes sense, i'm just going to write the code in the youtube comment // someRoute.js const express = require('express') export function(database) { const route = express.route("/something") route.get("/", (req, res) => {}) return route } // app.js const makeSomeRoute = require('./someRoute.js') .... makeSomeRoute(database)
@herrklaus
3 жыл бұрын
@@SamMeechWard wouldn't this be express.Router?
Thanks!
You talk, and I hear henry cavill's voice. great tutorial btw.
what if youre using controllers for each route, then you wouldnt be creaitng the app in each controller right?
NIce videos. If I may, each time you put a music I find the volume is a little too high and kinda distuptive for focusing. Anyway, I just silenced these parts. Keep up the good work.
I have a question, what if my requestHandlers are different file how can ı send database
Greetings, thank you for the nice video (all of them), here is my question: If createApp imports a function, doesn't it executes it straight by importing it? Don't you instantiate two apps now? Isn't it better to assign your app-function into an Object and export the object, instead, so you can initiate the app from your server code?... or I'm just wrong :) ps. I understand the video is just basic, yet the question is for my own sake :)
05:32 Use Dependency Injection
You need to use Typescript and tsyringe
This (TDD) is a niche market ... no one is paying attention too....keep at it
Good vídeo, but please don’t put that song so loud, it’s really annoying
music too loud
Great stuff but music not my cup of tea at all, please turn it down a bit, too distracting