{
  "slug": "Installing-Application-for-Golang-developer-After-installing-Ubuntu-24-04-LTS-0444c87d7f9d",
  "title": "Installing Application for Golang developer After installing Ubuntu 24.04 LTS",
  "subtitle": "This document outlines a comprehensive setup guide for Golang developers working on Ubuntu 22.04 LTS. It covers a wide range of essential…",
  "excerpt": "This document outlines a comprehensive setup guide for Golang developers working on Ubuntu 22.04 LTS. It covers a wide range of essential…",
  "date": "2024-09-23",
  "tags": [
    "Star",
    "Go",
    "Linux"
  ],
  "readingTime": "3 min",
  "url": "https://medium.com/@mobinshaterian/installing-application-for-golang-developer-after-installing-ubuntu-24-04-lts-0444c87d7f9d",
  "hero": "https://cdn-images-1.medium.com/max/800/1*wapBGwvQheSagUACbPEnUw.png",
  "content": [
    {
      "type": "heading",
      "level": 2,
      "text": "Installing Application for Golang developer After installing Ubuntu 24.04 LTS"
    },
    {
      "type": "paragraph",
      "html": "This document outlines a comprehensive setup guide for Golang developers working on Ubuntu 22.04 LTS. It covers a wide range of essential tools, applications, and configurations that are useful for backend development work."
    },
    {
      "type": "paragraph",
      "html": "The guide begins with instructions for setting up a VPN connection using openfortivpn, followed by DNS configuration. It then moves on to installing various development tools and applications, including:"
    },
    {
      "type": "paragraph",
      "html": "1. Hiddify (a multi-platform auto-proxy client)<br>2. Telegram Desktop<br>3. Golang and associated environment setup<br>4. Visual Studio Code with recommended plugins<br>5. Git version control<br>6. Docker and docker-compose<br>7. Various system utilities and programming tools"
    },
    {
      "type": "paragraph",
      "html": "Additionally, the guide covers setting up SSH keys, installing web browsers like Firefox and Google Chrome, and even includes recommendations for eye strain prevention software."
    },
    {
      "type": "paragraph",
      "html": "This detailed walkthrough is designed to help Golang developers quickly set up a productive development environment on a fresh Ubuntu 22.04 LTS installation, ensuring they have all the necessary tools at their disposal for backend development work."
    },
    {
      "type": "image",
      "src": "https://cdn-images-1.medium.com/max/800/1*wapBGwvQheSagUACbPEnUw.png",
      "alt": "Installing Application for Golang developer After installing Ubuntu 24.04 LTS",
      "caption": "",
      "width": 1133,
      "height": 611
    },
    {
      "type": "heading",
      "level": 2,
      "text": "Installing Application for Golang developer After installing Ubuntu 22.04 LTS"
    },
    {
      "type": "heading",
      "level": 2,
      "text": "Install openfortivpn"
    },
    {
      "type": "code",
      "lang": "bash",
      "code": "cd Desktop\nsudo openfortivpn -c config"
    },
    {
      "type": "heading",
      "level": 2,
      "text": "Set DNS"
    },
    {
      "type": "code",
      "lang": "bash",
      "code": "sudo vi /etc/resolv.conf"
    },
    {
      "type": "code",
      "lang": "text",
      "code": "#nameserver 185.179.168.168#nameserver 51.91.204.69#nameserver 146.59.189.113#nameserver\n178.22.122.100#nameserver 185.51.200.2#nameserver 10.202.10.202#nameserver 10.202.10.102nameserver\n10.202.10.10nameserver 10.202.10.11#nameserver 9.9.9.13#nameserver 8.8.4.4"
    },
    {
      "type": "heading",
      "level": 2,
      "text": "Install Hiddify"
    },
    {
      "type": "heading",
      "level": 3,
      "text": "Install Telegram"
    },
    {
      "type": "heading",
      "level": 3,
      "text": "Setup telegram based on Hiddify"
    },
    {
      "type": "image",
      "src": "https://cdn-images-1.medium.com/max/800/1*nQ6-lwwOp6cz-U6UUPG4iQ.png",
      "alt": "Installing Application for Golang developer After installing Ubuntu 24.04 LTS",
      "caption": "",
      "width": 352,
      "height": 393
    },
    {
      "type": "heading",
      "level": 3,
      "text": "Setup Firefox based on Hiddify"
    },
    {
      "type": "image",
      "src": "https://cdn-images-1.medium.com/max/800/1*wVritivlnYmAYGERdU0QrA.png",
      "alt": "Installing Application for Golang developer After installing Ubuntu 24.04 LTS",
      "caption": "",
      "width": 736,
      "height": 232
    },
    {
      "type": "heading",
      "level": 2,
      "text": "Install htop"
    },
    {
      "type": "code",
      "lang": "bash",
      "code": "sudo\napt  install htop"
    },
    {
      "type": "heading",
      "level": 2,
      "text": "Install Golang"
    },
    {
      "type": "code",
      "lang": "text",
      "code": "$ sudo rm -rf /usr/local/go && sudo tar -C /usr/local -xzf go1.23.1.linux-amd64.tar.gz"
    },
    {
      "type": "code",
      "lang": "javascript",
      "code": "export PATH=$PATH:/usr/local/go/bin"
    },
    {
      "type": "code",
      "lang": "text",
      "code": "$ go version"
    },
    {
      "type": "heading",
      "level": 3,
      "text": "Make a folder"
    },
    {
      "type": "code",
      "lang": "php",
      "code": "$HOME/go/src$HOME/go/pkg$HOME/go/bin"
    },
    {
      "type": "heading",
      "level": 3,
      "text": "Add in Bashrc"
    },
    {
      "type": "paragraph",
      "html": "gedit $HOME/.bashrc"
    },
    {
      "type": "code",
      "lang": "javascript",
      "code": "export PATH=$PATH:/usr/local/go/binexport PATH=$PATH:$(go env GOPATH)/binexport GOPATH=$(go env\nGOPATH)"
    },
    {
      "type": "heading",
      "level": 2,
      "text": "Install Language"
    },
    {
      "type": "image",
      "src": "https://cdn-images-1.medium.com/max/800/1*cIv3Zxq6qbgaVj00fwlouA.png",
      "alt": "Installing Application for Golang developer After installing Ubuntu 24.04 LTS",
      "caption": "",
      "width": 498,
      "height": 467
    },
    {
      "type": "heading",
      "level": 2,
      "text": "Install Skype"
    },
    {
      "type": "code",
      "lang": "bash",
      "code": "sudo snap install skype"
    },
    {
      "type": "heading",
      "level": 2,
      "text": "Install Curl"
    },
    {
      "type": "code",
      "lang": "bash",
      "code": "sudo\napt  install curl"
    },
    {
      "type": "heading",
      "level": 2,
      "text": "Kubectl"
    },
    {
      "type": "code",
      "lang": "text",
      "code": "https://kubernetes.io/docs/tasks/tools/install-kubectl-linux/"
    },
    {
      "type": "heading",
      "level": 2,
      "text": "Install Vscode"
    },
    {
      "type": "paragraph",
      "html": "press cntl + shift + p and then type setting.json"
    },
    {
      "type": "code",
      "lang": "text",
      "code": "\"workbench.editor.enablePreview\": false,"
    },
    {
      "type": "heading",
      "level": 2,
      "text": "Best List of Vscode Plugin as Golang developer in Backend position"
    },
    {
      "type": "heading",
      "level": 2,
      "text": "How to Set Up SSH Keys on Ubuntu 22.04"
    },
    {
      "type": "heading",
      "level": 2,
      "text": "Install Git"
    },
    {
      "type": "code",
      "lang": "bash",
      "code": "sudo\napt install gitgit --version"
    },
    {
      "type": "heading",
      "level": 2,
      "text": "Install Chrome"
    },
    {
      "type": "code",
      "lang": "bash",
      "code": "sudo dpkg -i google-chrome-stable_current_amd64.deb"
    },
    {
      "type": "paragraph",
      "html": "Install Fonts"
    },
    {
      "type": "heading",
      "level": 2,
      "text": "Installing Fonts"
    },
    {
      "type": "paragraph",
      "html": "some Persian font not available on Ubuntu so download them install in ~/.fonts"
    },
    {
      "type": "paragraph",
      "html": "downloading font from these web site and put in ~/.fonts folder"
    },
    {
      "type": "code",
      "lang": "bash",
      "code": "cp -ar 384.Font.Farsi ~/.fonts/"
    },
    {
      "type": "heading",
      "level": 2,
      "text": "Protection of eye and low-back pain"
    },
    {
      "type": "paragraph",
      "html": "sudo add-apt-repository ppa:slgobinath/safeeyes"
    },
    {
      "type": "code",
      "lang": "bash",
      "code": "sudo\napt update\nsudo\napt install safeeyes"
    },
    {
      "type": "heading",
      "level": 2,
      "text": "Docker"
    },
    {
      "type": "heading",
      "level": 3,
      "text": "Install docker-compose"
    },
    {
      "type": "code",
      "lang": "bash",
      "code": "curl -L\n\"https://github.com/docker/compose/releases/latest/download/docker-compose-$(uname -s)-$(uname -m)\"\n-o /usr/local/bin/docker-compose\nchmod +x /usr/local/bin/docker-compose\ndocker-compose --version"
    },
    {
      "type": "heading",
      "level": 2,
      "text": "Install tools"
    },
    {
      "type": "code",
      "lang": "bash",
      "code": "sudo\napt install calc\nsudo\napt-get install unrar\nsudo\napt-get install iotop\nsudo\napt-get install vim\nsudo\napt-get install curl\nsudo\napt-get install build-essential"
    },
    {
      "type": "heading",
      "level": 2,
      "text": "Install Protobuf"
    },
    {
      "type": "code",
      "lang": "bash",
      "code": "sudo\napt install protobuf-compilerhttps://grpc.io/docs/languages/go/quickstart/"
    },
    {
      "type": "code",
      "lang": "text",
      "code": "protoc --version"
    },
    {
      "type": "code",
      "lang": "bash",
      "code": "go get google.golang.org/grpc/cmd/protoc-gen-go-grpc\ngo install\ngoogle.golang.org/grpc/cmd/protoc-gen-go-grpc"
    },
    {
      "type": "heading",
      "level": 2,
      "text": "Install Buf"
    },
    {
      "type": "code",
      "lang": "bash",
      "code": "go get github.com/bufbuild/buf/cmd/buf@v1.36.0\ngo install github.com/bufbuild/buf/cmd/buf@v1.36.0\nbuf\n--version"
    },
    {
      "type": "code",
      "lang": "javascript",
      "code": "export PATH=$PATH:$(go env GOPATH)/binsource ~/.bashrcbuf --version"
    },
    {
      "type": "heading",
      "level": 2,
      "text": "Install Postman"
    },
    {
      "type": "code",
      "lang": "bash",
      "code": "sudo snap install postman"
    },
    {
      "type": "heading",
      "level": 2,
      "text": "Install PG Admin"
    },
    {
      "type": "code",
      "lang": "go",
      "code": "## Setup the repository## Install the public key for the repository (if not done previously):curl\n-fsS https://www.pgadmin.org/static/packages_pgadmin_org.pub | sudo gpg --dearmor -o\n/usr/share/keyrings/packages-pgadmin-org.gpg# Create the repository configuration file:sudo sh -c\n'echo \"deb [signed-by=/usr/share/keyrings/packages-pgadmin-org.gpg] https://ftp.postgresql.org/pub/pgadmin/pgadmin4/apt/$(lsb_release -cs) pgadmin4 main\" > /etc/apt/sources.list.d/pgadmin4.list && apt update'## Install pgAdmin## Install for both desktop and web modes:sudo apt install pgadmin4# Install for desktop mode only:sudo apt install pgadmin4-desktop# Install for web mode only: sudo apt install pgadmin4-web # Configure the webserver, if you installed pgadmin4-web:sudo /usr/pgadmin4/bin/setup-web.sh"
    },
    {
      "type": "heading",
      "level": 2,
      "text": "Run Vscode debugger"
    },
    {
      "type": "paragraph",
      "html": "Add configuration in&nbsp;.vscode/launch.json"
    },
    {
      "type": "image",
      "src": "https://cdn-images-1.medium.com/max/800/1*sdegC-DyOPKm27thAxH7XQ.png",
      "alt": "Installing Application for Golang developer After installing Ubuntu 24.04 LTS",
      "caption": "",
      "width": 168,
      "height": 56
    },
    {
      "type": "code",
      "lang": "json",
      "code": "{    // Use IntelliSense to learn about possible attributes.    // Hover to view descriptions of\nexisting attributes.    // For more information, visit:\nhttps://go.microsoft.com/fwlink/?linkid=830387    \"version\": \"0.2.0\",    \"configurations\": [\n{            \"name\": \"Go Debug\",            \"type\": \"go\",            \"request\": \"launch\",\n\"mode\": \"debug\",            \"program\": \"${workspaceFolder}/cmd/app/.\",            \"cwd\":\n\"${workspaceFolder}\"        }    ]}"
    },
    {
      "type": "heading",
      "level": 2,
      "text": "Change background with bing wallpaper"
    },
    {
      "type": "code",
      "lang": "bash",
      "code": "sudo snap install bing-wall"
    },
    {
      "type": "heading",
      "level": 3,
      "text": "Install Shamsi calendar Extention"
    },
    {
      "type": "paragraph",
      "html": "sudo apt install gnome-shell-extensions"
    },
    {
      "type": "code",
      "lang": "text",
      "code": "https://extensions.gnome.org/extension/240/persian-calendar/"
    },
    {
      "type": "heading",
      "level": 2,
      "text": "Install Vitals Extention"
    },
    {
      "type": "heading",
      "level": 2,
      "text": "Lens"
    },
    {
      "type": "heading",
      "level": 2,
      "text": "Diodon"
    },
    {
      "type": "paragraph",
      "html": "/usr/bin/diodon"
    },
    {
      "type": "heading",
      "level": 2,
      "text": "Stackademic 🎓"
    },
    {
      "type": "paragraph",
      "html": "Thank you for reading until the end. Before you go:"
    },
    {
      "type": "list",
      "ordered": false,
      "items": [
        "Please consider <strong>clapping</strong> and <strong>following</strong> the writer! 👏",
        "Follow us <a href=\"https://twitter.com/stackademichq\" target=\"_blank\" rel=\"noreferrer noopener\"><strong>X</strong></a> | <a href=\"https://www.linkedin.com/company/stackademic\" target=\"_blank\" rel=\"noreferrer noopener\"><strong>LinkedIn</strong></a> | <a href=\"https://www.youtube.com/c/stackademic\" target=\"_blank\" rel=\"noreferrer noopener\"><strong>YouTube</strong></a> | <a href=\"https://discord.gg/in-plain-english-709094664682340443\" target=\"_blank\" rel=\"noreferrer noopener\"><strong>Discord</strong></a>",
        "Visit our other platforms: <a href=\"https://plainenglish.io/\" target=\"_blank\" rel=\"noreferrer noopener\"><strong>In Plain English</strong></a> | <a href=\"https://cofeed.app/\" target=\"_blank\" rel=\"noreferrer noopener\"><strong>CoFeed</strong></a> | <a href=\"https://differ.blog/\" target=\"_blank\" rel=\"noreferrer noopener\"><strong>Differ</strong></a>",
        "More content at <a href=\"https://stackademic.com/\" target=\"_blank\" rel=\"noreferrer noopener\"><strong>Stackademic.com</strong></a>"
      ]
    }
  ]
}
