有趣的项目
By S.F.
本文链接 https://www.kyfws.com/post/interesting-project/
版权声明 本博客所有文章除特别声明外,均采用 BY-NC-SA 许可协议。转载请注明出处!
- 4 分钟阅读 - 1610 个词 阅读量 0收藏的有趣的项目,可能对你有所帮助。
生成动物书封面
O’RLY 封面工厂
O’RLY 封面工厂是一个娱乐性的书籍封面生成器, 支持输入多种语言。
O’RLY 基于Golang和Vue.js实现。
你可以点击这里访问。
Docker镜像信息可以在此处获取。
项目许可
本项目基于MIT
协议开源。
golang 验证器
Validate
Go通用的数据验证与过滤库,使用简单,内置大部分常用验证器、过滤器,支持自定义消息、字段翻译。
- 支持验证
Map
Struct
Request
(Form
,JSON
,url.Values
,UploadedFile
)数据 - 简单方便,支持前置验证检查, 支持添加自定义验证器
- 支持将规则按场景进行分组设置,不同场景验证不同的字段
- 支持在进行验证前对值使用过滤器进行净化过滤,查看 内置过滤器
- 已经内置了超多(>70 个)常用的验证器,查看 内置验证器
- 方便的获取错误信息,验证后的安全数据获取(只会收集有规则检查过的数据)
- 支持自定义每个验证的错误消息,字段翻译,消息翻译(内置
en
zh-CN
) - 完善的单元测试,测试覆盖率 > 90%
你可以点击这里访问。
项目许可
本项目基于MIT
协议开源。
Windows JDK 版本管理
JDK Version Manager (JVMS) for Windows
Manage multiple installations of JDK on a Windows computer. JVMS, Download Now!
There are situations where the ability to switch between different versions of JDK can be very useful. For example, if you want to test a project you’re developing with the latest bleeding edge version without uninstalling the stable version of JDK, this utility can help.
在 Windows 系统的计算机上安装管理 JDK 的多个版本。 JVMS,立即下载!
在某些情况下,需要在不同的 JDK 版本之间进行切换。 例如,你需要使用最新版来测试程序,而不卸载 JDK 的稳定版本,则该实用工具可以提供帮助。
你可以点击这里访问。
项目许可
本项目基于MIT
协议开源。
解析命令行参数
clop
- 支持环境变量绑定
env DEBUG=xx ./proc
- 支持参数搜集
cat a.txt b.txt
,可以把a.txt, b.txt
散装成员归归类,收集到你指定的结构体成员里 - 支持短选项
proc -d
或者长选项proc --debug
不在话下 - posix风格命令行支持,支持命令组合
ls -ltr
是ls -l -t -r
简写形式,方便实现普通posix 标准命令 - 子命令支持,方便实现git风格子命令
git add
,简洁的子命令注册方式,只要会写结构体就行,3,4,5到无穷尽子命令也支持,只要你喜欢,用上clop就可以实现 - 默认值支持
default:"1"
,支持多种数据类型,让你省去类型转换的烦恼 - 贴心的重复命令报错
- 严格的短选项,长选项报错。避免二义性选项诞生
- 效验模式支持,不需要写一堆的
if x!= ""
orif y!=0
浪费青春的代码 - 可以获取命令优先级别,方便设置命令别名
你可以点击这里访问。
项目许可
本项目基于Apache License 2.0
协议开源。
超级简单的API Mock框架
QuickMock
通过配置json,快速构建http请求接口,方便前端程序猿快速调用接口。配置文件说明
{
"port":"8080",
"routers":[
{
"name":"/",
"method":"get,post",
"response":"{'code':200,'data':'this url is /'}"
},
{
"name":"/hello",
"method":"get",
"status_code":"302",
"response":"https://github.com/champly/quick-mock"
}
]
}
你可以点击这里访问。
项目许可
本项目基于Apache License 2.0
协议开源。
golang 实现的自动化
Robotgo
Golang 跨平台自动化系统,控制键盘鼠标位图和读取屏幕,窗口句柄以及全局事件监听
RobotGo 支持 Mac, Windows, and Linux(X11).
环境要求在安装 RobotGo 之前, 请确保 Golang、GCC
被正确安装
鼠标
package main
import (
"github.com/go-vgo/robotgo"
)
func main() {
robotgo.ScrollMouse(10, "up")
robotgo.MouseClick("left", true)
robotgo.MoveMouseSmooth(100, 200, 1.0, 100.0)
}
键盘
package main
import (
"fmt"
"github.com/go-vgo/robotgo"
)
func main() {
robotgo.TypeStr("Hello World. Winter is coming!")
robotgo.TypeStr("だんしゃり", 1.0)
// robotgo.TypeString("テストする")
robotgo.TypeStr("Hi galaxy. こんにちは世界.")
robotgo.Sleep(1)
// ustr := uint32(robotgo.CharCodeAt("テストする", 0))
// robotgo.UnicodeType(ustr)
robotgo.KeyTap("enter")
// robotgo.TypeString("en")
robotgo.KeyTap("i", "alt", "command")
arr := []string{"alt", "command"}
robotgo.KeyTap("i", arr)
robotgo.WriteAll("テストする")
text, err := robotgo.ReadAll()
if err == nil {
fmt.Println(text)
}
}
你可以点击这里访问。
项目许可
本项目基于APACHE
, MIT
协议开源。
nodejs 支持 ActiveXObject
winax
基于 Windows C++ 的 Node.js 插件,实现了 COM IDispatch 对象的封装,在 node.js 上模拟 ActiveXObject 函数
npm install winax
npm install winax --msvs_version=2015
npm install winax --msvs_version=2017
使用全局函数ActiveXObject
创建ADO Connection
对象
require('winax');
var con = new ActiveXObject('ADODB.Connection');
或者使用实例方法Object
创建
var winax = require('winax');
var con = new winax.Object('ADODB.Connection');
你可以点击这里访问。
项目许可
本项目基于MIT
协议开源。