create-go-app
resty
Our great sponsors
create-go-app | resty | |
---|---|---|
6 | 11 | |
2,328 | 9,309 | |
1.4% | 2.5% | |
7.5 | 7.9 | |
19 days ago | 5 days ago | |
Go | Go | |
Apache License 2.0 | MIT License |
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.
create-go-app
- Links e Projetos em Golang
-
π Go Fiber by Examples: Working with middlewares and boilerplates
View on GitHub
-
π The Create Go App project has grown to v2, but is still easier, better, faster & stronger
# ./hosts.ini # Ansible inventory for deploy the Create Go App project. # Author: Vic ShΓ³stak (https://shostak.dev) # For more information, please visit https://create-go.app/ [cgapp_project] 127.0.0.1 # CHANGE THIS TO YOUR REMOTE SERVER IP! [cgapp_project:vars] # # Ansible default variables to start playbook: # # Set remote sudo username ansible_user=root # Ask become password for remote sudo user ansible_become=yes # Set connection type to remote server (usually, 'ssh') ansible_connection=ssh # Set Python 3 default path ansible_python_interpreter=/usr/bin/python3 # # Remote server configuration: # # Set directory on your remote server # for store project files server_dir=/var/www/cgapp # Set user (owner of files/folders) name server_user=root # Set group name server_group=docker # # Project configuration: # # Set your project domain project_domain=example.com # # Docker configuration: # # Set Docker network name docker_network=cgapp_network # # Backend configuration: # # Set backend port number, # MUST BE MATCH to the port that is listed # in your `./backend/.env` file! backend_port=5000 # # PostgreSQL configuration (backend DB): # # Set PostgreSQL version (for example, 13.2) postgres_version=latest # Set PostgreSQL port number, # MUST BE MATCH to the port that is listed # in your `./backend/.env` file! postgres_port=5432 # Set PostgreSQL user name, # MUST BE MATCH to the user name that is listed # in your `./backend/.env` file! postgres_user=postgres # Set PostgreSQL password, # MUST BE MATCH to the password that is listed # in your `./backend/.env` file! postgres_password=password # Set PostgreSQL DB name, # MUST BE MATCH to the DB name that is listed # in your `./backend/.env` file! postgres_db=postgres # Set PostgreSQL SSL mode state ('enabled' or 'disabled'), # MUST BE MATCH to the SSL mode state that is listed # in your `./backend/.env` file! postgres_ssl_mode=disable # # Go-Migrate configuration: # # Set migration number, # if you WANT to migrate all of your migrations, # just leave it blank, # for only initial migration set it to '1' migrate_number=1 # # Redis configuration (backend cache): # # Set Redis version (for example, 6.2) redis_version=latest # Set Redis port number, # MUST BE MATCH to the port that is listed # in your `./backend/.env` file! redis_port=6379 # # Nginx configuration: # # Set Nginx version (for example, 1.20-alpine) nginx_version=alpine # Set redirect from HTTP to HTTPS for default server nginx_use_only_https=yes # Set redirect from WWW to non-WWW domain for default server nginx_redirect_to_non_www=yes
-
π What's new and special in Create Go App CLI v1.7.0?
Hey, DEV friends! π Today, I'd like to introduce a new version of my own project Create Go App CLI, that changes some fundamental things.
-
β¨ A powerful CLI for create a new production-ready project with backend, frontend and deploy automation
This is a common console utility, written on pure Golang. Therefore, download and install Go. Version 1.11 or higher is required. Next, download the latest version of the Create Go App and install to your system:
resty
-
Tools besides Go for a newbie
IDE: use whatever make you productive. I personally use vscode. VCS: git, as golang communities use github heavily as base for many libraries. AFAIK Linter: use staticcheck for linting as it looks like mostly used linting tool in go, supported by many also. In Vscode it will be recommended once you install go plugin. Libraries/Framework: actually the standard libraries already included many things you need, decent enough for your day-to-day development cycles(e.g. `net/http`). But here are things for extra: - Struct fields validator: validator - Http server lib: chi router , httprouter , fasthttp (for non standard http implementations, but fast) - Web Framework: echo , gin , fiber , beego , etc - Http client lib: most already covered by stdlib(net/http), so you rarely need extra lib for this, but if you really need some are: resty - CLI: cobra - Config: godotenv , viper - DB Drivers: sqlx , postgre , sqlite , mysql - nosql: redis , mongodb , elasticsearch - ORM: gorm , entgo , sqlc(codegen) - JS Transpiler: gopherjs - GUI: fyne - grpc: grpc - logging: zerolog - test: testify , gomock , dockertest - and many others you can find here
-
Network Error Handling
We have faced several network issue on our backend application written in golang with resty for inter service calls. We have seen large amount of network errors like `EOF, unexpected EOF, http: stream closed` because of which our APIs fail. Have you faced similar issue and what were the solutions you've implemented.
- Those who use an http client on top of/instead of the built in http package, what do you use and why?
- Libraries you use most of your projects?
-
Best packages?
Go-resty makes it a lot easier to create a http client and much more readable for developers.
-
How do I see the full details of an http request I send?
I don't use the simple http whenever i need to call any API from code . I just use resty its fairly easy to use and logging requests with it is quite easy
-
qst: an *http.Request builder
What are the advantages over https://github.com/go-resty/resty ? resty has `.R()` request builder.
-
Building microservices in Go with Gin
We need to call PrinterService from the InvoiceGenerator. Therefore, we need an HTTP client in our project. Install Goβs resty HTTP client library with the following command.
-
Any http client framework?
Check out https://github.com/go-resty/resty
-
Binance API
I used to use the standard http lib, but now I switched to resty https://github.com/go-resty/resty
What are some alternatives?
delve - Delve is a debugger for the Go programming language.
gorequest - GoRequest -- Simplified HTTP client ( inspired by nodejs SuperAgent )
gluetun - VPN client in a thin Docker container for multiple VPN providers, written in Go, and using OpenVPN or Wireguard, DNS over TLS, with a few proxy servers built-in.
sling - A Go HTTP client library for creating and sending API requests
ctop - Top-like interface for container metrics
go-retryablehttp - Retryable HTTP client in Go
fzf - :cherry_blossom: A command-line fuzzy finder
hub - A command-line tool that makes git easier to use with GitHub.
peco - Simplistic interactive filtering tool
fastlz - Wrap over FastLz for GoLang
glow - Render markdown on the CLI, with pizzazz! π π»
Gin - Gin is a HTTP web framework written in Go (Golang). It features a Martini-like API with much better performance -- up to 40 times faster. If you need smashing performance, get yourself some Gin.