实用工具
文章平均质量分 68
wilson_go
这个作者很懒,什么都没留下…
展开
-
Git 服务器怎么避免反复密码输入
在 git bash 里输入命令:git config --global credential.helper store然后执行 git 操作,输入一遍密码后就会记录密码,以后就不用输入了原创 2021-11-24 09:12:32 · 626 阅读 · 0 评论 -
docker 安装jenkins从而实现自动编译、打包、构建镜像、容器部署
一、整个持续集成、自动部署流程开发push代码到gitlab,触发jenkins自动pull代码,通过maven编译、打包,然后通过执行shell脚本使docker构建镜像并push到私服(或者阿里云)仓库,此操作完成后jenkins服务器上再执行SSH命令登录到部署服务器,docker从仓库(私服)拉取镜像,启动容器。整个操作流程完成。二、服务器软件环境配置由于条件所限,故只用两台机器作为搭建环境。三、jenkins配置3.1 安装插件SSH:用于SSH远程Docker主机执行Shell原创 2021-11-12 08:48:10 · 1751 阅读 · 0 评论 -
TCP/IP协议详解
TCP连接的建立与终止1.三次握手TCP是面向连接的,无论哪一方向另一方发送数据之前,都必须先在双方之间建立一条连接。在TCP/IP协议中,TCP协议提供可靠的连接服务,连接是通过三次握手进行初始化的。三次握手的目的是同步连接双方的序列号和确认号并交换 TCP窗口大小信息。第一次握手:建立连接。客户端发送连接请求报文段,将SYN位置为1,Sequence Number为x;然后,客户端进入SYN_SEND状态,等待服务器的确认;第二次握手:服务器收到SYN报文段。服务器收到客户端的SYN报文段,需要对这个S原创 2021-09-27 21:11:25 · 207 阅读 · 0 评论 -
GIT合并多次提交
当我们在本地仓库的分支上做开发时,对于一个功能进行了多次提交,在push到远程仓库之前我们希望把这几个相关的commit合并为一个,这样更加简洁,也方便review。如果想把 featureB 相关的三次提交合并为一个,可以执行如下命令git reset --hard d1dff09fd56git merge --squash HEAD@{1}git commit -m "feature B complete"此时使用 git log 查看日志三次提交合并为了一次提交记录。...原创 2021-06-03 10:16:49 · 1342 阅读 · 0 评论 -
分布式锁
分布式锁的实现方式有以下三种方式:「数据库分布式锁、Redis实现分布式锁、ZooKeeper实现分布式锁」。为什么需要分布式锁呢?在很久以前,用户群体不大的时候,单体应用就可以足够满足用户的所有请求,当用户增加的时候,出现了一定的并发度,可以使用简单的锁机制来协调并发的共享资源的获取。但是,随着业务的增大,用户数量的增加,为了满足业务的高效性,集群的出现,简单的锁机制已经不能够满足协调多个应用之间的共享资源了,于是就出现了分布式锁。分布式锁是协调集群中多应用之间的共享资源的获取的一种方式,可以说它是原创 2021-03-04 14:10:00 · 474 阅读 · 1 评论 -
MySQL中性能分析 Explain详解
在日常工作中,我们会有时会开慢查询去记录一些执行时间比较久的SQL语句,找出这些SQL语句并不意味着完事了,些时我们常常用到explain这个命令来查看一个这些SQL语句的执行计划,查看该SQL语句有没有使用上了索引,有没有做全表扫描,这都可以通过explain命令来查看。所以我们深入了解MySQL的基于开销的优化器,还可以获得很多可能被优化器考虑到的访问策略的细节,以及当运行SQL语句时哪种策略预计会被优化器采用。-- 实际SQL,查找用户名为Jefabc的员工select * from emp wh原创 2021-02-21 15:33:14 · 175 阅读 · 2 评论 -
本地分支完全同步为远程分支
git fetch --all git reset --hard origin/master git pullnote:git fetch 只是下载远程的库的内容,不做任何的合并git reset 把HEAD指向刚刚下载的最新的版本原创 2020-07-07 16:45:29 · 7485 阅读 · 0 评论 -
docker-compose入门介绍
docker-compose是用来在docker中定义和运行复杂应用的小工具,比如在一个文件中定义多个容器,只用一行命令就可以让一切就绪并运行。Docker Compose将所管理的容器分为三层,工程(project),服务(service)以及容器(contaienr)。Docker Compose运行的目录下的所有文件(docker-compose.yml, extends文件或环境变量文...原创 2018-09-09 00:19:32 · 520 阅读 · 0 评论 -
golang中json解析详解使用GJSON
InstallingTo start using GJSON, install Go and run go get:$ go get -u github.com/tidwall/gjson This will retrieve the library.Get a valueGet searches json for the specified path. A path is in...原创 2018-09-06 14:45:08 · 6795 阅读 · 0 评论 -
git安装使用
安装完毕后,配置git的环境变量,这样可以使用get的指令1.10.2 安装数据库驱动设置GOPATH的环境变量,这样驱动才会下载到项目根目录中。在cmd命令窗口中输入如下命令安装驱动go get github.com/go-sql-driver/mysql这一命令会从代码中获取驱动的具体代码,并将这些代码放置到包库中,当需要用到驱动的时候,编译器会把驱动代码与用户编写的代码一...原创 2018-09-25 21:21:25 · 445 阅读 · 0 评论 -
git相关的操作
sudo agt-get install git 安装gitmkdir mygitdemo创建mygitdemo文件cd mygitdemo进入文件夹ls -a 能看见 . … .git原创 2018-10-12 16:17:09 · 657 阅读 · 0 评论 -
redis安装简介
• 当前redis最新稳定版本是4.0,常用版本3.2版本。• step1:下载wget http://download.redis.io/releases/redis-3.2.8.tar.gz• step2:解压tar -zxvf redis-3.2.8.tar.gz• step3:复制,放到usr/local/redis⽬录下sudo mv ./redis-3.2.8 /usr/l...原创 2018-10-14 09:30:07 · 674 阅读 · 1 评论 -
redis主从搭建
首先配置静态ip地址,用于以后进行ip绑定然后配置slave.conf的文件编辑ip地址,端口,还有slaveof编辑内容bind 192.168.110.36slaveof 192.168.110.36 6379port 6378然后用redis-server /etc/redis/redis.conf 启动redis主节点,redis-server/redis/slave....原创 2018-10-14 19:17:03 · 693 阅读 · 0 评论 -
redis中hget命令
HGETALL 名字“field1”值1“field2”值2原创 2018-10-21 11:24:11 · 14658 阅读 · 0 评论 -
shell编程
Shell是一种脚本语言,那么,就必须有解释器来执行这些脚本,常见的脚本解释器有:bash:是Linux标准默认的shell。bash由Brian Fox和Chet Ramey共同完成,是BourneAgain Shell的缩写,内部命令一共有40个。sh: 由Steve Bourne开发,是Bourne Shell的缩写,sh 是Unix 标准默认的shell。另外还有:ash、 csh、...原创 2018-10-29 08:46:16 · 591 阅读 · 0 评论 -
MySQL八小时时间差
mysql > SET time_zone = ‘+8:00’; # 此为北京时,我们所在东8区mysql> flush privileges; # 立即生效原创 2018-10-24 09:57:42 · 1425 阅读 · 0 评论 -
crontab相关介绍
使用crontab你可以在指定的时间执行一个shell脚本或者一系列Linux命令。crontab 启动 依赖 crontabs包和 crond服务, crond服务使用的crontab定义的命令因此需要:service crond start (有的是service cron start)或者/etc/rc.d/init.d/crond start加入开机自动启动:chkco...原创 2018-10-29 19:57:26 · 741 阅读 · 0 评论 -
redis的底层原理总结
redis单点吞吐量单点TPS达到8万/秒,QPS达到10万/秒。redis的5中存储类型string、list、set、map(hash)、stored-setredis的string类型能表达3中类型:字符串、整数和浮点数。根据场景相互间自动转型,并且根据需要选取底层的承载方式 value内部...转载 2018-10-26 18:51:56 · 2768 阅读 · 1 评论 -
go语言支付宝沙箱支付
go语言的sdk https://github.com/smartwalle/alipay原创 2018-10-24 15:43:16 · 1425 阅读 · 0 评论 -
go语言支付宝支付代码
func (this*UserController)HandleUserPay() { var appId="2016091800541813" var aliPublicKey = "MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAzBr/2fOq6vbfAKiIlR8zyAOV2uOMbyYouV/ScQjuNNAVj+D6RZEd原创 2018-10-24 22:04:12 · 3981 阅读 · 0 评论 -
Node.js 回调函数简要介绍
Node.js 异步编程的直接体现就是回调。异步编程依托于回调来实现,但不能说使用了回调后程序就异步化了。回调函数在完成任务后就会被调用,Node 使用了大量的回调函数,Node 所有 API 都支持回调函数。例如,我们可以一边读取文件,一边执行其他命令,在文件读取完成后,我们将文件内容作为回调函数的参数返回。这样在执行代码时就没有阻塞或等待文件 I/O 操作。这就大大提高了 Node.js...原创 2018-10-27 11:02:58 · 480 阅读 · 0 评论 -
kylin引擎
Apache Kylin是一个开源的分布式分析引擎。完全由eBay Inc.中国团队开发并贡献至开源社区。提供Hadoop之上的SQL查询接口及多维分析(MOLAP)能力以支持大规模数据能在亚秒内查询巨大的Hive表(十亿百亿的海量数据)。Apache Kylin社区发展大数据分析面临的挑战Huge volume da...转载 2018-10-27 11:27:29 · 528 阅读 · 0 评论 -
golang中时间戳转换
将golang中时间戳转换封装成如下的函数,输入为一个uint类型的数据,数据为转换后的时间字符串。func ConvertTime(utime uint64) string { format := time.Unix(int64(utime), 0).Format("2006-01-02 15:04:05") return format}...原创 2018-11-10 15:17:09 · 3758 阅读 · 0 评论 -
windows10环境下使用git并上传到Git
软件下载地址1、Git for windows客户端 http://msysgit.github.io/2、tortoise git客户端 https://tortoisegit.org/download/软件安装git设置1、设置姓名和邮箱git config --global user.name "your name"git c原创 2018-11-08 21:20:46 · 1596 阅读 · 0 评论 -
ubuntu18下node.js安装
1、下载nodejs的安装包进入官网下载页面下载对应版本我是直接点击10.13.0长期支持版进行下载的2、解压tar.xz文件在linux下,大部分情况下不能直接解压tar.xz的文件。需要用xz -d xxx.tar.xz将 xxx.tar.xz解压成 xxx.tar 然后,再用tar xvf xxx.tar来解压3、配置开发环境修改/etc/profile文件 增加以...原创 2018-11-18 21:17:11 · 746 阅读 · 0 评论 -
Web3.js以太坊eth的api基本介绍
为了让你的Ðapp运行上以太坊,一种选择是使用web3.js library提供的web3。对象。底层实现上,它通过RPC 调用与本地节点通信。web3.js可以与任何暴露了RPC接口的以太坊节点连接。web3中有eth对象 - web3.eth 具体来表示与以太坊区块链之间的交互。shh对象 - web3.shh表示Whisper协议的相关交互。后续我们会继续介绍其它一些web3协议中的对象。...原创 2018-11-20 21:58:32 · 2533 阅读 · 0 评论 -
nodejs中async和await
在函数体前通过关键字async可以将函数变为async函数在async函数中对需要异步执行的函数前需加await关键字原创 2018-11-19 11:24:21 · 1788 阅读 · 0 评论 -
goland中的设置
goland是一款编译神器原创 2018-11-19 20:12:55 · 1437 阅读 · 0 评论 -
json跨域原理及解决方法
首先,先了解浏览器有一个很重要安全性限制,即为同源策略:不同域的客户端脚本在无明确授权的情况下不能读些对方资源。跨域也就是不同源~举个例子:只要协议,端口,域名有一个不同,即为跨域!然而,当进行一些比较深入的前端编程的时候,不可避免地需要进行跨域操作,这时候“同源策略”就显得过于苛刻。解决方法:1.使用jsonp解决跨域 :(仅适用于GET请求)实现原理:1 var eleSc...原创 2018-11-28 23:07:08 · 435 阅读 · 0 评论 -
ipfs
ipfs initinitializing IPFS node at /home/wilson/.ipfsgenerating 2048-bit RSA keypair…donepeer identity: QmeDv4f6KAncVjVJaHDLZF415hfz8PJnhEgKZbPwTJCWhbto get started, enter:ipfs cat /ipfs/QmS4ustL...原创 2018-11-28 09:24:00 · 281 阅读 · 0 评论 -
笔记总结
笔记总结是一种很重要的能力,编号是很重要的。整理文档是一种能力原创 2018-11-28 17:15:18 · 211 阅读 · 0 评论 -
docker 安装mysql8
#拉取docker镜像docker pull mysql#启动docker run --name mysql -p 3306:3306 -e MYSQL_ROOT_PASSWORD=Lzslov123! -d mysql#进入容器docker exec -it mysql bash#登录mysqlmysql -u root -pALTER USER ‘root’@‘localhos...原创 2018-12-05 11:48:31 · 228 阅读 · 0 评论 -
GRPC
gRPC 是一个高性能、开源和通用的 RPC 框架,面向移动和 HTTP/2 设计。gRPC基于 HTTP/2标准设计,带来诸如双向流、流控、头部压缩、单 TCP连接上的多复用请求等特。这些特性使得其在移动设备上表现更好,更省电和节省空间占用。RPCRPC(Remote Procedure Call Protocol)——远程过程调用协议,它是一种通过网络从远程计算机程序上请求服务,而不需...原创 2018-12-12 21:23:43 · 770 阅读 · 0 评论 -
Consul
Consul是HashiCorp公司推出的开源工具,用于实现分布式系统的服务发现与配置。 Consul是分布式的、高可用的、可横向扩展的。它具备以下特性 :service discovery:consul通过DNS或者HTTP接口使服务注册和服务发现变的很容易,一些外部服务,例如saas提供的也可以一样注册。health checking:健康检测使consul可以快速的告警在集群中的操作...原创 2018-12-12 21:28:21 · 207 阅读 · 0 评论 -
Micro
Micro解决了构建云本地系统的关键需求。它采用了微服务体系结构模式,并将其转换为一组工具,作为可伸缩平台的构建块。Micro隐藏了分布式系统的复杂性,并为开发人员提供了很好的理解概念。Micro是一个专注于简化分布式系统开发的微服务生态系统。是一个工具集合, 通过将微服务架构抽象成一组工具。隐藏了分布式系统的复杂性,为开发人员提供了更简洁的概念。Go Micro跟其他工具最大的不同是它是插...原创 2018-12-12 21:30:13 · 240 阅读 · 0 评论 -
REST
REST(REpresentational State Transfer)这个概念,首次出现是在 2000年Roy Thomas Fielding(他是HTTP规范的主要编写者之一)的博士论文中,它指的是一组架构约束条件和原则。满足这些约束条件和原则的应用程序或设计就是RESTful的。要理解什么是REST,我们需要理解下面几个概念:1 、资源(Resources)REST是"表现层状态...原创 2018-12-12 21:33:11 · 198 阅读 · 0 评论 -
-Xms256m -Xmx256m
-Xms256m -Xmx256m -XX:PermSize=64M -XX:MaxNewSize=64m -XX:MaxPermSize=256m首先对着几个字段值作出解释:1、-Xms:是初始化堆内存值;2、-Xmx:是堆内存最大值。这两个值是tomcat服务器内存分配是动态的最好体现,刚启动时系统给tomcat分配的内存为-Xms值,当项目占用的内存达到初始化内存的一定比例后(百度上...原创 2018-12-13 17:24:39 · 8788 阅读 · 0 评论 -
json注意事项
json的键必须是字符串,字符串必须双引号,数组使用[]表示。json中只有json对象和json数组。原创 2018-12-06 16:47:40 · 245 阅读 · 0 评论 -
protobuf在ubuntu安装
源码包中的src/README.md, 安装过程如下:1、解压压缩包:unzip protobuf-master.zip2、进入解压后的文件夹:cd protobuf-master3、安装所需工具:sudo apt-get install autoconf automake libtool curl make g++ unzip4、自动生成configure配置文件:./autogen.s...原创 2018-12-06 21:10:14 · 981 阅读 · 0 评论 -
protobuf中数据格式与类型
消息格式消息由至少一个字段组合而成,类似于C语言中的结构体,每个字段都有一定的格式:数据类型 字段名称 = 唯一的编号标签值;字段名称:protobuf建议以下划线命名而非驼峰式唯一的编号标签:代表每个字段的一个唯一的编号标签,在同一个消息里不可以重复。这些编号标签用与在消息二进制格式中标识你的字段,并且消息一旦定义就不能更改。需要说明的是标签在1到15范围的采用一个字节进行编码,所以...原创 2018-12-06 21:20:45 · 3964 阅读 · 0 评论