16:40 how do you handle your envs if not by .env files?
@bijayaprasadkuikel51622 сағат бұрын
Completing this video i can see that this order service is acting somehow or other as a BFF, but in practical it would have been better if we had multiple services directly accessible by the gateway. Great video. Good job.
@svnlto4 күн бұрын
In the real world, you'd also want to send out an order-created event that locks stock until paid. Otherwise, you might be prone to overselling or running into out-of-stock issues. Otherwise, this is a great intro,
@TiagoTaquelim4 күн бұрын
True, great point!
@Bingbong420style4 күн бұрын
Such great info! A little slower on some parts and reiteration would be really helpful. I was really glad to see charts and info slides throughout the video. Many vids just frontload info slides, and then the rest of the vid is coding. This format of mixing slides in is much better
@TiagoTaquelim4 күн бұрын
Thank you so much for the feedback! I'll definitely take those into consideration for future videos!
@Bingbong420style2 күн бұрын
@@TiagoTaquelim Thanks man! I'm a newer go dev so I really appreciate your work!
@rishabhtiwari9764 күн бұрын
really nice video, excellent.
@TiagoTaquelim4 күн бұрын
Thank you!
@loudcoringa59355 күн бұрын
Thank so much for the video bro! I'm migrating from TypeScript and i found your video!
@shaikwaris41319 күн бұрын
your vscode extensions please
@George-kt1kz11 күн бұрын
Great content + Thank you very much!!
@sadhakbj11 күн бұрын
This is absolutely amazing. 🎉🎉🎉🎉 love this course
@TiagoTaquelim11 күн бұрын
Thank you! I'm glad you like it!
@bijayaprasadkuikel516212 күн бұрын
I enjoyed your video. Please keep up the good work and continue making more videos.
@TiagoTaquelim11 күн бұрын
I will! Next one is scheduled for next week!
@PPPsg11614 күн бұрын
Is this rest api
@juanjofre480714 күн бұрын
Hello Tiago, hope you're doing well. I was following along this amazing tutorial and couldn't wrap my head around why in the dependency injection part, right around 31:50, its ok to pass a user.Store to a types.UserStore. one is a type and the other is an interface. why does this works? also, why you said that it didn't need to be a pointer? Thank you very much this is a super helpful video.
@TiagoTaquelim14 күн бұрын
Hey! Because that struct implements that interface, any other struct that would implement it would work there, that's why it's useful to interchange dependencies & that's how interfaces work in Go. I would recommend you to checkout more about them.
@juanjofre480713 күн бұрын
@@TiagoTaquelim Amazing! thanks for the explanation. Also in the "WithJWT" utils that parses the auth token, what is the reason for passing the user store as a value and not as a pointer? given that the store is modeled as a singleton why you pass a copy of it to access its methods and not a pointer? Thanks!
@TiagoTaquelim13 күн бұрын
@@juanjofre4807 If the user store is not an interface (i dont recall) it was probably a mistake from part.
@kotlinjava522814 күн бұрын
thanks for the content!I really appreciate that
@bororobo380515 күн бұрын
What font and theme are you using?
@TiagoTaquelim15 күн бұрын
The theme is Gruvbox and font is Menlo
@bororobo380515 күн бұрын
@@TiagoTaquelim Which one? I see a lot in the extensions list
@TiagoTaquelim14 күн бұрын
@@bororobo3805 The one from jdinhlife
@dukeofnorfolk184216 күн бұрын
The only cons from the video is that you used too many dependencies...
@jhonsen984218 күн бұрын
Hey Tiago Is this course relevant to DevOps? I am seeing many company asking for Golang in DevOps
@TiagoTaquelim18 күн бұрын
This is not much of a DevOps course. It's more targeted for someone who already knows Go & wants to learn distributed systems.
@teja260018 күн бұрын
Hey can you tell me it is for beginners who are starting out with microservices with go ?
@TiagoTaquelim18 күн бұрын
Hey, if after watching this video you found it ok, then it's ok.
@_godiego18 күн бұрын
Nice video! I’ve seen this out in the wild, no dependency injection and now testing is a pain
@verygood578819 күн бұрын
Cool tutorial thanks man, i went from js and py 60-70% of inforamtion the same but new concepts to hard for understand,you helped me, from me like subscription and comment ✌✌✌✌
@esquame19 күн бұрын
Thank you for the informative video
@ruthcodina87420 күн бұрын
I have this problem [mysql] 2024/06/16 21:18:52 connection.go:49: unknown auth plugin:auth_gssapi_client. I've intented with the MySQL workbench updating the user, creating a new user, and the problem persist. AND I don't know how to change the my.cnf
@hectorcast94320 күн бұрын
How would you deal with transaction between multiple store in repository pattern?
@keshavakumar982820 күн бұрын
I have a question Whats the total duration of this course and is it completed ?
@TiagoTaquelim20 күн бұрын
Should be around 8-10 hours. It's completed all it's missing is the Kubernetes Deployment which is an extra coming in the future. Still considering if it will be a seperate course or not.
@sebastianletelier794721 күн бұрын
Would love it using net/http 1.22 handlers😅
@mrfli2421 күн бұрын
Thank God. He used standard database/sql interface, not ORM. Which vsc theme he used in the video ?
@TiagoTaquelim20 күн бұрын
It's called Gruvbox.
@prashlovessamosa21 күн бұрын
Tiago can you release this course on udemy in my country I don't know why I am not able to purchase it I have a Rupay card that won't work. I tried a lot but was still unable to join.
@TiagoTaquelim20 күн бұрын
Hey! I've had someone with the same problem. I'm still waiting to see if the platform fixes that. In the meanwhile if you have any other means of payment that the platform accepts try those.
@kiratornator22 күн бұрын
this is more of a do this then this then this then an actual instuctional video. I have doubt even he knows what he is doing. Any information he does give is super surface level.
@iamhexdd22 күн бұрын
How can i automate documentation for my apis Tiago when using this approach instead of using other web frameworks?
@sval402022 күн бұрын
Hi, Tiago, great video! Keep up rocking man! Love your content! A question I have, what is the best way to secure Go + HTMX + Echo + templ application? Are JWTs preferable or is there a different approach we should take?
@TiagoTaquelim22 күн бұрын
Thanks! JWTs are a good way to store the users session in the browsers independently of your tech stack, so yes.
@shavvart23 күн бұрын
i cant make gen in common fodler
@WildLifeBackyardCamera24 күн бұрын
been through so many tutorials that were not giving correct folder structure and finally, finally someone that do it right, thanks a lot
@Tay7451426 күн бұрын
Don’t use Gorm please 😬
@acronproject27 күн бұрын
Thanks so much Mr.Tiago
@haroonalbar272529 күн бұрын
Hey! can I make a small suggestion, Could you invest on a better mic. The audio is a bit muffled and it's distracting.
@salfiyah.gemstoreАй бұрын
Just curious,Why don't you use gorm
@BlakeSekelsky99Ай бұрын
Once you go beyond simple CRUD queries, the generated SQL can get pretty messy/inefficient, search up n+1 problem. ORMs are getting better at generating SQL, but for me I like to use sqlc and just write it myself then generate the go code + interface. Ends up saving you 95% of the work on writing the repository
@samuelopeyemi8377Ай бұрын
Thank you for this, any plan to add authentication service and role-based access?
@TiagoTaquelimАй бұрын
In the future I'll add it yes, as of now it's not in
@weiSaneАй бұрын
Tiago this is good stuff. Thanks for this in-depth tutorial man. However, those are way too many dependencies wtf. Why not have fewer files it’s easier to maintain and easier to follow and read the code.
@TiagoTaquelimАй бұрын
Thanks! I've make a previous full length video like this before where I did not even create a folder to solely focus on teaching. However folk wanted a better starting point for bigger applications and that is why I've divided into folders here. so it can grow. Also, the project has 5 external dependencies, some of which are for security and loading the env vars, none of them is extraneous.
@weiSaneАй бұрын
@@TiagoTaquelimI understand given the context you have provided.
@dipaash3068Ай бұрын
Greate Video! I have a question, if we want to save the data in DB, at which point we have to store it in DB? Do we have do it in client readPump or else where ? I am bit confused, can you give your insite on it.
@kusumo1920Ай бұрын
@TiagoTaquelim What software do u use for creating those diagram?
@TiagoTaquelimАй бұрын
Excalidraww
@xosnrdevАй бұрын
I use traefik works good for me
@yeboahnanaoseiАй бұрын
Hi Tiago, which font are you using in your text editor in this video?
@TiagoTaquelimАй бұрын
I think it's called Menlo
@chewzixuan429Ай бұрын
Hi bro, is rate limiting covered in this course? I am planning on purchasing the course.
@TiagoTaquelimАй бұрын
Hey! On this course I haven’t. However it’s pretty simple to add there. In the course I’m currently working there will be.
@chewzixuan429Ай бұрын
@@TiagoTaquelim Is it easy to apply whatever you have taught in the latest video into that course? Also, what will the next course be on and what’s the estimated release date? Thanks anyways for all these content!
@TiagoTaquelimАй бұрын
@@chewzixuan429 Yes it is. It will be a in depth back-end web dev course. Probably will be released end of next month/start of next.
@agb2557Ай бұрын
thanks for your videos! just one question: since your server still needs to process the request to verify whether it needs to be rate limited or not, won't this cost you if you get spammed anyway?
@TiagoTaquelimАй бұрын
So there is no way around that but if I had to compute an expensive operation if I got spammed it’s way expensive than a rate limit check. That is why it’s important to have a fast rate limiter (in a fast access database like redis for example). I could also ban an IP after to many blocks as well
@SiebeBareeАй бұрын
@@TiagoTaquelim Can you not have a service before your API for example in cloudflare? If the ratelimit gets triggered your API won't get a single request. BTW, thanks for the video, your channel is really great.
@jamestk656Ай бұрын
I haven't checked Cloudflare lately since they deprecated page rules but I think you could probably set a cookie for a misbehaving client then direct Cloudflare to block all clients with that cookie. I know you could manually block IPs on CF but I'm not sure if you could actually just send it to them from your app. If you have to let the request through, I've actually set up a CSV file right on the server that is updated by the app whenever there's an egregious IP address. The file is checked before every request before anything even hits my Redis cache or DB. I've had it happen where I've had so many requests from so many bad IPs at once that even my Redis instance maxed it's connection limit so the file on each app server just keeps any really bad requester from even making a connection.
@TiagoTaquelimАй бұрын
@@SiebeBaree Yes that exists as well!
@Tay7451426 күн бұрын
You have to think of security in layers.
@iamfranciscoАй бұрын
This is such an underrated channel! Obrigado Tiago for creating these videos with such care and high quality
@TiagoTaquelimАй бұрын
Thank you so much!
@dixztubeАй бұрын
im failing to see how any of these interface videos are really that different. it mostly consist of a dev who knows how to use them, flying through code (at least this is a realistic example with some testing) and i dont know ---- feels like these things are just popped out. probably best to just code yourself and get a feel for it