Giter Site home page Giter Site logo

lwe's Introduction

English

lwe

lwe是leave work early的缩写,也就是"早点下班"!🤣🤣🤣 它是一个帮助开发者提高工作效率的跨平台命令行工具,当然你把它当做go入门学习的项目也是合适的! 总之,欢迎提issue、提好玩或者使用的功能需求,最好能直接PR参与到项目中,大家一起努力,争取早点下班!!! 💪💪💪

功能

Git增强多仓库操作能力:glog、gl、gcl、gst

由建表SQL语句转换成Java Bean、Go结构体、Json等

将SQL语句转换成ElasticSearch查询的DSL语言

其它小工具

  • 获取Navicat连接配置中的密码
  • 同步两个目录下文件
  • 显示本机配置的环境变量
  • 静态资源代理
  • 格式化请求url

安装

下载编译后的可执行文件

release页获取对应平台的版本,在终端上即可使用该二进制文件!

当然,更推荐的方式是将二进制文件配置到环境变量中,这样可以随时随地使用二进制文件

更多的安装方式和注意事项,查查阅Wiki

使用

你可以输入lwe 查看lwe命令的使用方式,有哪些子命令及其各自对的功能描述。

如果对某个子命令感兴趣,可以使用-h参数查看命令的使用示例 ,如:lwe glog -h

Git增强多仓库操作能力:glog、gl、gcl、gst

这里是几个围绕git相关的增强命令,基本都是在原语义上增加了一些跨git仓库的操作

Git增强功能详细使用说明,可以查阅Wiki

glog 增强Git日志功能

查看给定目录下所有git仓库提交日志 开发人员通常会在多个git仓库下工作,经常会有同时查看多个git仓库提交日志的需求,glog子命令就派上用场了。

使用方式:

lwe glog [git repo dir] [-a=yesAnd] [-n=50] [-s=2023-08-04] [-e=2023-08-04]

gl 增强拉取代码功能

拉取给定目录下的所有git仓库最新代码(使用的git pull --rebase的方式)

使用方式:

lwe gl [git repo dir]

gcl 增强git clone功能

使用方式:

lwe gcl gitGroupUrl [dir for this git group] -t=yourToken

gst 查看指定目录下所有git仓库状态

查看给定目录下的所有git仓库状态

使用方式:

lwe gst [your git repo dir]

建表语句生成Java Bean实体、Go 结构体等

如果我们已经有了表结构,使用建表语句生成对应的实体可以大大减少我们"无脑且重复"工作。 目前支持生成的结构包括Java、Go、Json。

使用方式:

lwe fmt sql-file-path [-t=java|go|json] [-a=yesAnd]

详细使用说明,可以查阅Wiki


SQL语句生成DSL语句

lwe es [可选参数] <SQL语句> 

这个命令可以帮我们从繁琐的ES查询语法中解脱出来,它可以将sql语句转换成响应的DSL,并且以curl命令的形式输出,这样服务器上也可以方便的使用。 当前版本支持的SQL操作

使用方式:

lwe es 'select * from user where age >18' [-p=true]

详细使用说明,可以查阅Wiki


其它小工具

一些非常实用的功能

格式化请求url

有时请求的url很长,不利于我们找到目标参数,可以使用url命令进行格式化,增加请求的可读性

使用方式:

lwe url yourUrl

详细使用说明,可以查阅Wiki

获取Navicat连接配置中的密码

如果想从Navicat保存的连接中获取对应数据库的用户名/密码,可以使用ncx文件,ncx文件是Navicat导出的连接配置文件,但ncx中的密码是一个加密后的十六进制串,使用ncx命令可以获取对应的明文

使用方式:

lwe ncx ncx-file-path

详细使用说明,可以查阅Wiki

同步两个目录下文件

如果你有备份文件的习惯,这个工具可能会帮到你,它可以将源目录文件下的新增的文件同步到备份目录,省去了你逐层文件夹逐个文件去手动同步。

使用方式:

lwe fsync sourceDir targetDir [-d=true]

详细使用说明,可以查阅Wiki

静态资源代理

可以为静态资源提供代理,方便本地访问测试

使用方式:

lwe fileserver your-file-dir [-p=8080]

如将 /lwe/handler/fileserver/testdata/ 进行代理,可以通过http://127.0.0.1:9527/ 进行访问该目录下资源,并提供简单的访问统计

/lwe/handler/fileserver/testdata/ ==>  http://127.0.0.1:9527/
/github.png  - 1 visit

详细使用说明,可以查阅Wiki

显示环境变量

显示本机配置的环境变量,目前仅支持mac平台

使用方式:

lwe env

声明

1.使用spf13/cobra库来方便的构建命令行工具

2.es子命令实现借助了sqlparser库来解析SQL语句,一个库很优秀的解析SQL库

3.sql转换成dsl,曹大的elasticsql项目已经是一个很成熟好用的轮子了,lwe也大量借鉴了它的实现思路;没直接调用这个库的原因是想自己练手,同时后续增减功能也更加灵活

4.git增强命令结果输出时使用了go-pretty库来表格化提交信息

5.pdf命令是在pdfcpu基础上进行的封装

RoadMap

  • fmt 根据需求支持更多类型的转换
  • es 按需增加对insert、update、delete ......

开源协议

MIT License

lwe's People

Contributors

yesand92 avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar

lwe's Issues

静态文件服务器

准备加个简单的静态文件服务器,不知道是否需要

lwe fileserver -f <文件路径> -p <web端口>

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.