Ultimate Golang Developer Roadmap 2024 🚀

Video Statistics and Information

Video
Captions Word Cloud
Reddit Comments
Captions
hello everyone welcome back to the channel are you struggling to find your way into becoming a go developer if so then this video is for you so consider this video your guide on your journey to mastering go I have created a list of steps and key points that will help you with these skills and confidence to call yourself a Cod developer so with that note let's start so according to stack orlow developer survey uh goang is one of the most popular loved and desired language so as per the to index also right now it's at 11 position and last year it was 12 so each year it is improving its position as per the glass door report uh goaling developer in us can have a pay range between 90k to 150k and in some cases it can even reach 200k so as we can see uh as per the 2023 developer survey the most popular technology goang is there and uh with respect to the top paying Technologies you can see goang is there so it is always in the top so on average it can have like 90,000 plus so and with respect to the use cases you can use goang in web development microservices iot blockchain CLI tools golang is very popular for building the CLI tools uh for example kuber natives Hugo uh GitHub CLI all are created in golang uh then we have the cloud infrastructure cyber security so in cyber secur is also uh it is gaining more and more traction and there are many cyber security firms which is adopting goine then we have the data processing analysis uh gaming Industries also and the distributor systems so to install goang in your system what you just have to do is like come to the c.d. install then you can simply download and install as per your operating system and to check if it is installed properly just run the Go version and it will give you the which version is is installed then you also have the go playground so it is an online editor uh where you can simply play with it you can simply type your code and simply use the run and select also the version which version you want to run so yeah so if you don't want to install it and if you just want to test it basics of goang you can start with the basic data type in goang you have int float buol string array and few more then comes the reference data types so in goang you'll find few new data types like Channel map slices uh so these are the reference data type like when you will initialize them it returns a pointer instead of a value then learn about variable and constant like how to declare a variable how to declare a constant conditional statements if F El switch so these are the statements available in goine for iteration statement you have only four there is no while and other things so only for is available and for comes with a very iteration statement in goang only for is available there is no V do while kind of stuff only for and you can iterate using two things things either use from I equal to Z to the length of the element and you can also use a special keyword called range so the range keyword returns two things uh first is the integer and another one is the value so it depends on the data type which data type you are using so suppose if you're using uh if you're iterating over array then it will return the index of the array and the second value is going to be value of an array but if it is a channel then it only Returns the value type casting and inference the there is no implicit type casting so if suppose if you are U assigning a integer value to a flow variable then it will throw compiler error so you have to explicitly convert the integer to a float and then only it will assign export functions so to export a function there is no export keyword or some something like that what you just have to do is like just capitalize the first letter of the function name and it will automatically export it then you can learn about the modules so to to initiate a module you can simply use go mod in it so modules are simply used to maintain the dependency so when you will uh import more and more uh third party packages so they dependencies like which version you are using and all those stuff so those things are maintained by the modules then the importing the third party packages so you are going to use many packages like reading the environment variables and other stuff so for that you need the third party packages so to import a third party package you use the go get command and then the repository of the package the GitHub repository advanced concepts first you have to learn about the functions and the packages in goang everything is packages packages you can consider is the smaller unit in a goang program and then you have concurrency and go routines goang is by Design is concurrent language and you have go routines unlike threads go routines are very lightweight so what it do is like in one thread it can create n number of go routines whatever process you are running all process runs inside a go routine then we have channels so when two G routines want to communicate with each other they use these channels as a bridge then we have context so you might find it very new compared to other languages so what context give you is like it give you more control over the request or the flow of the program suppose you have a request uh which you want complete within like 100 millisecond but it is taking more than 200 milliseconds at that particular time you can create the context suppose if the request crosses the 100 milliseconds it will cancel it that is a very basic example where you can use the context but the context is basically used to track the complete request and have more control over the complete then we have error handling goang force you to handle all the errors so there is no try catch kind of block there is no try catch final kind of blocks all the functions and everything returns error and you have to handle it explicitly in the beginning you will find it a little bit irritating but with time you'll understand like what is its advantages like it improves the readability and it also give you the sense like what each function is returning then we have the pointers and memory management then we have the garbage collection so scholing take care of the garbage collection but there might be times when you want to tweak some things like uh how frequently the garbage collection can uh should run or if you want to delay the garbage collection run to improve the performance and all those things then we have the concurrency pattern so as we know like goang is by by design it is concurrent so it has certain concurrency patterns you should know like the fan in fan out and other the next step is web development so golen has a very powerful buil-in Library called net HTTP for web development uh apart from this there are many popular Frameworks available like gorilla MKS Jin G uh the fiber and Echo and each offers very unique features and functionality to the web development as a beginner you can start with the ntp and then you can you can try other Frameworks like gorilla marks G Jin and Chi and gorilla Mar is very similar to net HTP so you'll not find much difference coding without proper logging is like sailing without a compass you may know where you're going but you'll have no idea how you got there or how to navigate back so logging is very important goang has a very good packages with it uh so one is called log which is built-in package and its extension is as lock so both serves very well for almost all the cases but there are more options available so Uber's Go app is a very highly customizable logger and it is very fast then the other options are logas and zerol log for testing ining you don't have to rely on any other third party tools it's built-in testing package is very good and for that you just have to use the testing dot it is for for testing and if you want assertion functions kind of thing then you can go for a third party package called testify and then we we have the benchmarking benchmarking measures the performance of a function or a code snippet what it do is like it run the function n number of times and then it tells like what is the performance of it like in nanc microsc and all those things it is intelligent enough to run that particular function a number of times then for debugging we have d uh so you can learn about it so it is highly customizable and it has plugins available for all most of the IDS like the visual studio code goand neovim and atem and many more once your basic fundamental and everything is completed now it's time to expand your Horizon and learn about the use cases where it can be used so the very first use case uh we can going to talk about is like the microservices goes lightweight concurrency model efficient runtime and Rich standard Library can handle high traffic loads and scale horizontally which makes it an ideal choice for microservices following the topics you can start with to cover to learn more about the microservices so you can start first with the microservice fundamentals so for that you can go on the Martin Fowler's website uh he has a really great content on microservices for all the beginners intermediate and expert level then we have the service Discovery Model like how it works then for the communication protocols you can learn about the rest apis grpc websocket and there are few more like the um web hook and all those things then you have the pup sub model then the messaging cues uh so for messaging cues you can start with Apache Kafka and rabit mq these are the few topics you can start with uh to enter in the realm or the microservice with goang as we have talked earlier like goang is very popular when it comes to building the command line tools so you can use a cobra Library uh which is very popular and it it is used to build the kubernetes CLI uh GitHub CLI and hugu CLI so you can use that and you can for the practice purpose you can create a CLI of not taking uh password manager where you can generate the password and encrypt it and then recover it also then you can uh create a to-do list kind of thing or like a task manager thing okay and you can also create a chat application where you will use the web sockets to communicate with another CLI application the last part is like projects you can build in go uh so these are like a few one but there are many more you can explore so the first one you can start with the to-do app here you can implement the rest API uh you can Implement uh uh implement it using goang with with some kind of database either it can be SQL no SQL or simply uh and for the front end you can use the template engine of goang then you can build the grpc service then a CLI app chat application conization of go applications then we have the web Scrapper so for web Scrapper goang has you can use the net HTTP package and go query package to web scrapping you can create a rate limiter you can also create a web app using the template package using the template HTML template text and all those things you can explore for the next step what you can do is like you can come to this website called Road map. ss/ goang it is a really great road map you can get for the goang like uh what are the basics and the basic syntax variable declaration and all what are the data types and with each step what you can do is like once you learn it you can mark it as like completed and all okay and it has it sh little bit of a basic understanding of like both basic definitions and resources which you can learn more about it so these are the things goang road map for 2024 I hope you like this video and please subscribe thank you
Info
Channel: practicego
Views: 23,263
Rating: undefined out of 5
Keywords: golang, golang tutorial, learn golang, golang for beginners, golang api, gorilla mux, mongodb, web development, backend development, rest api, api development, golang web app, todo list api, golang crud operations, mongodb golang, gorilla mux tutorial, deploy golang app, heroku deployment, coding, programming, software development, tech, tutorial, beginner, fullstack, new, freecodecamp, hactoberfest, golangbridge, testing, golang-testing, goroutine, interview, interviewquestion, 2024
Id: wJ6JP22YOUk
Channel Id: undefined
Length: 11min 45sec (705 seconds)
Published: Thu Feb 15 2024
Related Videos
Note
Please note that this website is currently a work in progress! Lots of interesting data and statistics to come.