THIS is the BEST Way to Write HTTP Services in Golang
Ғылым және технология
Go is an incredibly good programming language. It is gaining in popularity and is increasingly being used in fields such as cloud computing, backend and infrastructure.
In this video I go through an article written by Mat Ryer, an engineer at Grafana on how to write HTTP services in Go.
Link to article:
grafana.com/blog/2024/02/09/h...
Code: github.com/Melkeydev/go-bluep...
Video Editor: @TheMason
Twitch
I stream live on Twitch every weekend
Twitch : / melkey
Join the amazing community on Discord
Discord: / discord
I post memes and host Twitter Tech Spaces
Twitter: / melkeydev
Whether you're a beginner or a seasoned developer, our step-by-step approach will unveil the secrets behind creating high-performance, scalable HTTP services that stand out. Dive into the world of Go with practical examples, best practices, and expert tips to elevate your programming skills to the next level. Don't miss out on mastering the art of Go HTTP services
SUBSCRIBE OR GET LAID OFF
╔═╦╗╔╦╗╔═╦═╦╦╦╦╗╔═╗
║╚╣║║║╚╣╚╣╔╣╔╣║╚╣═╣
╠╗║╚╝║║╠╗║╚╣║║║║║═╣
╚═╩══╩═╩═╩═╩╝╚╩═╩═╝
#coding #neovim #typescript #programming #vim #softwareengineering #codinglife #webdesign #webdevelopment #webdev #javascript #rustlang #rust #twitch #twitchstreamer #programmerhumor #codinghumor #software #softwareengineer #softwaredeveloper #softwaredevelopment #gymbro #gym #programmerhumor #programming #coding #golang #go #golanguage
Пікірлер: 36
Hope you all enjoy the video - make sure to comment + like and subscribe if you havent already and check out the original article as well!
Really cool video, factory for middleware is one thing I have been doing since I learned go.
I stumbled into having encode and decode functions because in a project I used protobufs with an optional json fallback. Having all that logic in one place just made sense.
@MelkeyDev
Ай бұрын
i love when things just make sense. Just gets the BLOOD FLOWING
Thanks for introducing awesome post
Its so nice to see that I'm doing a lot of things the "right" way, but this still has a lot of "OH, that would make things so much easier" patterns. Looks like I'm going to be updating my API template ... again :) Thanks
@MelkeyDev
Ай бұрын
Hey thank you :)
Nice video man, good to have more content to rely on. Thanks and keep up
@MelkeyDev
Ай бұрын
Thank you. I will always do my best
Nice edition, good job
@MelkeyDev
Ай бұрын
Thank you - hope you enjoy
Excellent content as always. Hopefully the KZread gods start showing you the love your channel deserves.
@MelkeyDev
Ай бұрын
Haha - pray to the algo Gods LOL
nice video i coming from Javascript world , Thank you for helping keep going
@MelkeyDev
Ай бұрын
:) no problem. Thank you for the comment
Best go content on yt ❤
@MelkeyDev
Ай бұрын
A lot of great people out there make some great Go content but thank you ery much
Thanks for this
@MelkeyDev
Ай бұрын
Youre very welcome
It reminds me of the Flask boilerplates in Python.
Why Chi? Aren't there Go native capabilities to make REST APIs?
Thank you 🙏
@MelkeyDev
Ай бұрын
youre welcome
😂😂😂😂😂 Shoutout to if err != nil had me rolling
@MelkeyDev
Ай бұрын
BIG shout out
I really respect Mat Ryer, and even use his moq code generator, but when I read his article I was disheartened to read him advocating for long parameter lists, at least without mentioning the cons for using them vs. structs. Simply put, when using long parameter lists you have to break the API of a function to add another dependency which has unfortunate ripple effects in terms of breaking code if 3rd parties are using it, and possibly worse, bloating pull requests often making it much harder and time consuming to review. Theo recently had a video about how larger PRs have been shown to significantly reduce velocity, and google says so too in their eng-practices blog (not posting a URL as KZread seems to hide my comments when I do.) With structs for optional parameters, nothing breaks if you add new properties and code in a backward compatible manner. I really wish Mat and other Gophers would consider the downsides of broken calls and bloated PRs more when they decide to just keep adding parameters to funcs .🤷♂️
@MelkeyDev
Ай бұрын
team structs baby
@TehKarmalizer
Ай бұрын
Same. That was my biggest issue. Long parameter lists are so cumbersome and rigid. Otherwise it seemed like good advice to someone who has only dabbled in http handling.
Best way not workung enything on steam
Encoding response with generics like "encode[T any](..." is stupid. No need to know type inside the func when passing "any" gives the same result.
@MelkeyDev
Ай бұрын
team interface{} baby haha
Do you plan to launch a course or something similar with the code example you shown in the video? Saw the name "goschool" and hope you do something similar like you shown as example, liked very much your course on FrontEnd Masters. Thank you.