https://github.com/sszqdz/bayes-toolkit
π Bayes Toolkit is a package written in Golang, aimed at facilitating rapid application development for users.
https://github.com/sszqdz/bayes-toolkit
gin go golang golang-library golang-package middleware performance rapid-development router toolkit websocket
Last synced: 2 months ago
JSON representation
π Bayes Toolkit is a package written in Golang, aimed at facilitating rapid application development for users.
- Host: GitHub
- URL: https://github.com/sszqdz/bayes-toolkit
- Owner: sszqdz
- License: mit
- Created: 2024-01-04T14:32:49.000Z (over 2 years ago)
- Default Branch: main
- Last Pushed: 2024-03-29T14:29:28.000Z (about 2 years ago)
- Last Synced: 2025-01-16T14:36:20.626Z (over 1 year ago)
- Topics: gin, go, golang, golang-library, golang-package, middleware, performance, rapid-development, router, toolkit, websocket
- Language: Go
- Homepage:
- Size: 69.3 KB
- Stars: 1
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# Bayes Toolkit
π **Bayes Toolkit is a package written in Golang, aimed at facilitating rapid application development for users.**
> **NOTICEβ**
> This toolkit is currently in the development phase, and more features will be added and enhanced in the future.
## π Table of Contents
- [Installation](#-installation)
- [Packages](#-packages)
- [Examples](#-examples)
- [Repositories Directly Used in Bayes Toolkit](#-repositories-directly-used-in-bayes-toolkit)
- [License](#-license)
## π» Installation
First, use `go get`:
```shell
go get -u github.com/sszqdz/bayes-toolkit
```
Next, include in your code:
```go
import "github.com/sszqdz/bayes-toolkit"
```
## π¦ Packages
- **`ccmap`** Extend [](https://github.com/orcaman/concurrent-map) to conveniently allow **integer** type variables to be used as keys.
- **`dirr`** A complement to the standard library, providing **convenient file and directory operations** such as recursively searching for specific files up through parent directories.
- **`environment`** Load the **ENV** of the program (such as debug, release) from **system environment variables** (higher priority) or **.env** file.
- **`gin-router`** **A Routing Decorator** for [](https://github.com/gin-gonic/gin) that allows convenient **bypassing of specified middleware** for certain endpoints using methods such as **Unuse()** and **Skip()**.
- **`gin-timeout`** **A Timeout Middleware** for [](https://github.com/gin-gonic/gin) that **gracefully** handles timeout requests under **high concurrency**, **preventing Context leaks** and the resulting **request errors**.
- **`redis-lock`** **A Redis Lock** that supports both **blocking and non-blocking** functions.
- **`redis-queue`** **A Message Queue** based on **Redis Stream**.
- **`rrand`** A complement to the standard library, providing **convenient operations for generating random values** such as random strings of a specified length.
- **`ws`** A wrapper for [](https://github.com/gorilla/websocket), providing elegant and **safe concurrent read/write** operations, **graceful close and shutdown** handling.
## π Examples
> π§ **Under Construction...**
## π Repositories Directly Used in Bayes Toolkit
**Hey, a big thumbs-up to all open source contributors out there!
Your awesome work makes this boring world more interesting!
Respect!**
- [](https://github.com/orcaman/concurrent-map) **a thread-safe concurrent map for go**
- [](https://github.com/spf13/cast) **safe and easy casting from one type to another in Go**
- [](https://github.com/spf13/viper) **Go configuration with fangs**
- [](https://github.com/gin-gonic/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.**
- [](https://github.com/redis/go-redis) **Redis Go client**
- [](https://github.com/adrianbrad/queue) **Go package providing multiple queue implementations. Developed in a thread-safe generic way.**
- [](https://github.com/sourcegraph/conc) **Better structured concurrency for go**
- [](https://github.com/gorilla/websocket) **Package gorilla/websocket is a fast, well-tested and widely used WebSocket implementation for Go.**
AND these beautiful badges in SVG:
- [](https://github.com/badges/shields) **Concise, consistent, and legible badges in SVG and raster format**
## π License
The project is licensed under the [MIT](https://github.com/sszqdz/bayes-toolkit/blob/master/LICENSE) Β© [sszqdz](https://github.com/sszqdz).