Thanks a lot. This was the only video that explained clearly the process of installing go through WSL. This cleared out all my doubts. Very well explained.
Great video helped me a lot. During the test I noticed that the "hello Word" is on the same line in the terminal because you are using the 'Fprint()' command which does not have a line break, if you use 'Fprintln()' the line break will happen normally.
Nice to see you back Nic :) I use windows and wsl2 is neat. I don't use it because if you have wsl2 enabled, your machine can not run a vm or emulators (like avd). Maybe there is a work around to it I have not figured out yet. Another (minor) issue I have is that you don't have systemd
Hi Nic! Glad you are back on youtube, I really appreciate how you make complex things look very simple! Question: how do you use services like db, redis, rabbit in your dev env? do you use docker? in early microservices videos you [kind of] promised video on docker and k8s ))
Hey Mike, yes I use Docker for this all of the time, I actually have some content prepared on how I do this, I have just been so busy with writing that I have not had a chance to turn this into a video yet.
Hi @Mike I always use Docker for spinning up these things. Docker is great for development as all the apps run in an isolated environment. You do not need to install things locally and struggle with things like version management or dozens or services poluting your machine. Need a database with Docker `docker run` need to remove that database and completely clean up `docker rm`. I actually created a tool that makes this even simpler: shipyard.run/
Love the video and awesome and easy step by step if someone need some specifik information. I am using Ubuntu right now but missing some of the Windows 11 features i use on my personal computer. Sorry if you mention this, did not watch the whole video before postting this, but: Have you treid GoLand from JetBrains. For me as an old Java developer using IntelliJ my whole caer i am feeling werry home with GoLand.
If you can do code reviews that would be awesome. also suppose i have got hands on a project that is using docker compose to run database, api and i need to build somthing on top of like api client and test for it. what is the suitable way to edit that docker compose file that whenever team runs docker compose up. my test are also firing up after every service is in play and showing output of status. This integration test let team know like nothing is breaking so far.
Do you mean can you use Docker containers as mini development environments with Goland, all the tools being stored and process run in the container? It does seem possible, certainly this can be done from VSCode (blog.jetbrains.com/go/2021/04/30/how-to-use-docker-to-compile-go-from-goland/), but personally I am not certain that this works long term. I find that getting your environment setup and getting familiar with the tools is a huge long term productivity gain. For some projects the developing in the container approach can work fine but, if you start to work on bigger more complex projects with external software dependencies, executing things locally can enable you to work faster. That said, I am presenting an approach that works for me in this video in my particular line of work. That does not necessarily apply to everyone, I recommend trying the developing in a container approach and see if it works for you.
@@NicJackson I have been trying to get remote development to work on GoLand for days now. It seems to work perfectly in CLion. But, GoLand does not have the concept of remote toolchains. It does support the JetBrains "Gateway" which is woefully lacking at best. I'm using your video as a guideline to try to get VSCode to work with Docker.
Good, but 2 things. "fmt" is not ever defined, and the first problem is overcoming the GOLANG path problem. For example when you init the module, it does not accept the way you have shown - it requires you to be back a few directories.
I don't see the point of using linux to develop go on windows... If tooling is the issue , the intellij has the best useful tooling baked right into the ide... And afik go is platform independent and working directly in windows is very much possible 🙄
The problem is not tooling like VS Code or IntelliJ but tools like curl, netcat, openssl, ssh, scp, these do not behave like their Linux counterparts and are essential applications when building microservices. Compiling the application is only part of the problem, the toolchain extends way beyond this and in my opinion, Linux or Unix on MacOS is way better. In addition, many of the tutorials use a Linux focus as that is where the bulk of Go development is. There are subtle differences that catch many beginners out. Simple things like passing environment variables.
I tend to use gitbash and all the profiling and tools right from there, ofcourse for linux special tools the wsl is handy and it's used too, I'm a Java person recently jumped to go and find it confusing why developers use system inside system inside system to develop and debug the applications... It felt like we are building a ship and a pool inside ship and building a bridge on top of the pool to run the app on the road, I'm talikg here the case where you run docker for linux in wsl and run and debug apps inside docker for linux inside windows 😂 Btw almost all apps are now containerised and run, so I'm trying to use docker for windows and try to get things simpler... Let's see where we reach 😎
I run a 3950x, unless I am running anything in WSL2 it has a 0 CPU impact. Docker seems to be also moving to WSL2, the latest version encourages you to run it in this mode. Docker Desktop with WSL2 has actually been a better experience than the old method for me.
If you’re not forced to, why would you do that? Just pick a nice Linux distribution like popOS or go for a macbook. I don’t get why would anyone who’s a developer voluntarily choose that spyware made by Microsoft. And Wsl2 works for basic stuff. Anything above that is a pain.
Thanks a lot. This was the only video that explained clearly the process of installing go through WSL. This cleared out all my doubts. Very well explained.
This video helped me a lot! Thank you.
I just discovered this channel, will be binge watching. And, subbed.
Hey Nic, glad to see your videos.
Loved your microservice playlist, if possible do add more videos. Thanks much.
So much better than several other videos/walkthroughs!
Great video helped me a lot. During the test I noticed that the "hello Word" is on the same line in the terminal because you are using the 'Fprint()' command which does not have a line break, if you use 'Fprintln()' the line break will happen normally.
hey look who is back. I have been waiting so long for your video hope everything is all ok with you.
Thanks for posting again and I hope you are doing well Nic. Your videos have been really helpful for me!
Hey Nic, glad to see your videos.
Loved your microservice playlist, if possible do add more videos. Thanks much?
😎😎😎😎
This is really helpful, even if just jumping in for a chapter here and there.
Welcome back Nic!.. Kindly asking for a video on go routines
WASL2 is awesome! been using it since a while now and it's very convenient.
Thanks Nick, this was really helpful was able to setup everything and now I develop on my Windows machine as well. Very well explained.
Nice to see you back Nic :) I use windows and wsl2 is neat. I don't use it because if you have wsl2 enabled, your machine can not run a vm or emulators (like avd). Maybe there is a work around to it I have not figured out yet. Another (minor) issue I have is that you don't have systemd
Thank you very much! I like how you explain all the little commands aswell!
This is wonderful. Thank you very much Nic.
Thanks and very well explained. Keep the good work
I finally got through the installation of go, thanks man.
Hello Nic, as always really nice video, thank you!
Really well explained, well done
wow... this is so clear... man, thank you.
thanks for coming back!
I just started out with Go. You are an excellent instructor, Nic. I have learned so much from you. Thank you. Do you have a Patreon membership, Nic?
Thank you Nick! good video and very well explained, even for Spanish speakers
Nic, you have a really nice helpful energy.
Hi Nic!
Glad you are back on youtube, I really appreciate how you make complex things look very simple!
Question: how do you use services like db, redis, rabbit in your dev env? do you use docker? in early microservices videos you [kind of] promised video on docker and k8s ))
Hey Mike, yes I use Docker for this all of the time, I actually have some content prepared on how I do this, I have just been so busy with writing that I have not had a chance to turn this into a video yet.
Hi @Mike I always use Docker for spinning up these things. Docker is great for development as all the apps run in an isolated environment. You do not need to install things locally and struggle with things like version management or dozens or services poluting your machine. Need a database with Docker `docker run` need to remove that database and completely clean up `docker rm`. I actually created a tool that makes this even simpler: shipyard.run/
Thank you, it is an amazing tutorial
Absolutely awesome! Thanks so much:)
I want to become an distributed system engineer like you . thanks for video ^^
This was incredibly helpful, thanks.
Love the video and awesome and easy step by step if someone need some specifik information. I am using Ubuntu right now but missing some of the Windows 11 features i use on my personal computer.
Sorry if you mention this, did not watch the whole video before postting this, but:
Have you treid GoLand from JetBrains. For me as an old Java developer using IntelliJ my whole caer i am feeling werry home with GoLand.
Waiting new episode and integration db in microservice, thx for sharing nic
Please continue!
Just checking on you Nic
Thanks Nic for the video
Muchas gracias excelente tutorial
Really thanks for this video ;)
thank you for this awesome tuto 👌
congratulations to your content
If you can do code reviews that would be awesome. also suppose i have got hands on a project that is using docker compose to run database, api and i need to build somthing on top of like api client and test for it. what is the suitable way to edit that docker compose file that whenever team runs docker compose up. my test are also firing up after every service is in play and showing output of status. This integration test let team know like nothing is breaking so far.
Thanks for sharing, Nic. Nutritious content :)
as always great content from you around Go, although saddened a bit cuz you don't upload anymore. :(
Hi Nic, hope you are doing well. Do you plan to return to making videos in a near future about Go? It's been really educational and fun.
Really thanks for sharing!
Was helpful, thank you
Thank you for helping me
Really awesome videos. Have you thought about doing a take on concurrent design?
When your friends asks you why WSL2, how to setup a dev environment and mayhaps GO, show them this video :)
Does anyone know if this can be done with Jetbrain's Goland and Docker?
Do you mean can you use Docker containers as mini development environments with Goland, all the tools being stored and process run in the container? It does seem possible, certainly this can be done from VSCode (blog.jetbrains.com/go/2021/04/30/how-to-use-docker-to-compile-go-from-goland/), but personally I am not certain that this works long term. I find that getting your environment setup and getting familiar with the tools is a huge long term productivity gain. For some projects the developing in the container approach can work fine but, if you start to work on bigger more complex projects with external software dependencies, executing things locally can enable you to work faster. That said, I am presenting an approach that works for me in this video in my particular line of work. That does not necessarily apply to everyone, I recommend trying the developing in a container approach and see if it works for you.
@@NicJackson I have been trying to get remote development to work on GoLand for days now. It seems to work perfectly in CLion. But, GoLand does not have the concept of remote toolchains. It does support the JetBrains "Gateway" which is woefully lacking at best. I'm using your video as a guideline to try to get VSCode to work with Docker.
Thanks Nick
Thanks Nic 👌
and in wsl, how use workbench connect to VS vode
I'm trying to do this, but when go tried to install the tools for the extension they fail with "permission denied".
Can you link me to a time in the video please? If this is a linux tool you might need sudo, if windows, are you running powershell in admin mode?
Please add lectures on Ambassador api gateway with go
Very helpful tq
Hi Nic, let me one question: Is there an option to start automatically distro linux installed when Windows start?
when work with wsl, do you use git from wsl or windows?
Hi @Muchlis, I use Git from WSL, pretty much without exception I have all my development tools installed on the WSL ubuntu instance.
Thank you 🙂
Good, but 2 things. "fmt" is not ever defined, and the first problem is overcoming the GOLANG path problem. For example when you init the module, it does not accept the way you have shown - it requires you to be back a few directories.
running ubuntu on windows 10 on virtual machine which is installed on mac
if you start streaming video games i'd be subscribing to that as well!
How to sync git status
Im using dev container with docker instead
I don't see the point of using linux to develop go on windows...
If tooling is the issue , the intellij has the best useful tooling baked right into the ide...
And afik go is platform independent and working directly in windows is very much possible 🙄
The problem is not tooling like VS Code or IntelliJ but tools like curl, netcat, openssl, ssh, scp, these do not behave like their Linux counterparts and are essential applications when building microservices. Compiling the application is only part of the problem, the toolchain extends way beyond this and in my opinion, Linux or Unix on MacOS is way better.
In addition, many of the tutorials use a Linux focus as that is where the bulk of Go development is. There are subtle differences that catch many beginners out. Simple things like passing environment variables.
I tend to use gitbash and all the profiling and tools right from there, ofcourse for linux special tools the wsl is handy and it's used too,
I'm a Java person recently jumped to go and find it confusing why developers use system inside system inside system to develop and debug the applications...
It felt like we are building a ship and a pool inside ship and building a bridge on top of the pool to run the app on the road, I'm talikg here the case where you run docker for linux in wsl and run and debug apps inside docker for linux inside windows 😂
Btw almost all apps are now containerised and run, so I'm trying to use docker for windows and try to get things simpler...
Let's see where we reach 😎
@@NicJackson I tried WSL2 but it was eating at my 12 Core Ryzen, so I took it off my computer. Could I use docker instead or is WSL the way to go?
I run a 3950x, unless I am running anything in WSL2 it has a 0 CPU impact. Docker seems to be also moving to WSL2, the latest version encourages you to run it in this mode. Docker Desktop with WSL2 has actually been a better experience than the old method for me.
Where are you sir. Your village needs you
If you’re not forced to, why would you do that? Just pick a nice Linux distribution like popOS or go for a macbook. I don’t get why would anyone who’s a developer voluntarily choose that spyware made by Microsoft. And Wsl2 works for basic stuff. Anything above that is a pain.