- 博客(30)
- 资源 (1)
- 收藏
- 关注
原创 shell
1.command >/dev/null 与 command >/dev/null 2>&1:command >/dev/null的作用是将是command命令的标准输出丢弃,而标准错误输出还是在屏幕上。 一般来讲标准输出和标准错误输出都是屏幕,因此错误信息还是会在屏幕上输出。command >/dev/null 2>&1 这样标准输出与标准错误输出都会被丢弃。1表示标准输出,2表示标准错误输出,2>&1表示将标准错误输出重定向到标
2021-02-04 13:46:07 490 1
原创 golang iris 多次消费body
背景:因为特定需求,需要多次解析body.然而在iris中第一次可以解析到,之后解析body都为空.原因:iris的官方文档中的“前置自定义读取请求数据数据处理”一章的内容其中一条注释中,写的真的小,怕被发现还是怎么滴。//你应该通过`app.Run(…,iris.WithoutBodyConsumptionOnUnmarshal)消费body解决:添加iris.WithoutBodyConsumptionOnUnmarshalerr = app.Run(iris.Addr(addr)
2021-01-28 13:52:11 508
转载 go module
go moduleGo语言的包管理经过了多种工具的演变,之前我们通过配置GOPATH来存放源代码进行包的管理,其实称不上包管理。Go Module 是Go官方为包依赖管理提供的一个解决方案。Why go mod ?我们先来看一下之前GOPATH模式的一些缺点:1.没法在GOPATH工作区以外的地方写代码2.不能实现依赖的版本化管理当我们在GOPATH之外创建项目并使用外部依赖时,运行时go会提醒我们找不到导入的包。那我们怎么解决这个问题呢?我们可以使用一个特殊的文件,使用它指定仓库的
2021-01-23 15:38:27 232
原创 按分钟,小时,天统计数据的sql语句
1.数据连续存储:连续存储,什么意思呢?数据库每隔1秒或n秒存入一条数据,比如服务器的监控表.2.数据不定时存储:不定时存储,什么意思呢?数据库会不定时存入一条数据,比如订单表,只有在生成订单时才会插入一条数据.3.查询思路(举例时均按天统计):方法一:通过from_unixtime(ts,’%Y-%m-%d ')方法将查询表的时间字段转化为"2000-01-01"这样的查询条件.然后对这个查询条件进行分组即可获取统计数据.按小时,分钟查询同理,对应的mysql方法为:from_un
2021-01-20 15:11:49 2523
原创 golang各种int最大值
最大值uint8 : 0 to 255uint16 : 0 to 65535uint32 : 0 to 4294967295uint64 : 0 to 18446744073709551615int8 : -128 to 127int16 : -32768 to 32767int32 : -2147483648 to 2147483647int64 : -9223372036854775808 to 9223372036854775807math包比如: math.MaxIn
2021-01-20 10:50:46 10834
原创 golang mysql模糊查询
db.Query(“select * from table where title like concat(’%’,?,’%’)”, key)concat函数用于将多个字符串连接成一个字符串
2020-12-15 16:40:58 485
原创 git
开发过程中经常用到从master分支copy一个开发分支1.切换到master分支git checkout master2.获取最新的代码git pull origin master3.从当前分支拉copy开发分支:(新建了一个和master一样的分支Dev)git checkout -b dev4.把新建的分支push到远端git push origin dev5.关联git branch --set-upstream-to=origin/dev6.再次拉取验证git pull
2020-12-09 10:49:18 63
原创 golang sprintf
golang sprintf组装数据批量插入数据库的时候需要组装数据,用到了sprintffmt.Sprintf("(%d,%d,’%s’,’%s’,%d,%d,%d)", …)在这里%d表示int类型,%s表示字符串类型数据填充进去,举个例子:(1,1,‘1’,‘1’,1,1)...
2020-12-04 17:42:30 3532
原创 Mysql批量插入数据
Sql语句insert into test(id,age,score) VALUES(1,2,3),(11,12,13),(21,22,23)结果
2020-12-03 17:01:03 89
原创 golang redis zset
添加redis.client.ZAdd(key, redis.Z{score, value})获取全部redis.client.zrange(key,0,-1)按分数score获取redis.client.ZRevRange(key, 0, -1)删除redis.client.zrem(key,value)
2020-11-04 19:55:25 473
原创 切片排序
sort.Slice(stus, func(i, j int) bool { return stus[i].Age< stus[j].Age})
2020-10-13 14:26:35 235
原创 golang切片删除元素
type Stu struct { Age int Area int}func main() { stu1:=Stu{1,1} stu2:=Stu{2,2} stu3:=Stu{3,3} stu4:=Stu{4,4} stu5:=Stu{5,5} var stus []Stu stus=append(stus,stu1,stu2,stu3,stu4,stu5) for i, stu := range stus { if.
2020-10-10 14:53:39 708
原创 Golang如何打包在Linux上部署
Golang如何打包在Linux上部署一、本地编译Golang程序cmd控制台到main.go文件目录下,执行:set GOARCH=amd64set GOOS=linuxgo build main.go此时会生成一个没有后缀的二进制文件main二、上传Golang二进制文件到Linux服务器将该文件放入linux系统某个文件夹下赋予权限chmod 777 main最后执行 ./main 就行了。如果想让项目在后台执行:执行 nohup ./main & ,这样就可以程序在
2020-10-09 10:54:42 1825
原创 mysql联合查询数据显示不全
A表id aname1 张三2 李四B表id score aid bname year1 89 1 语文 20202 91 1 数学 2019select aname,bname,score from A left join B on A.id=B.aid where year='2015'查询结果张三 语文 90select aname,bname,score from A left join B on A.id=B.aid and year='2015'查询结果.
2020-09-14 21:09:01 980
原创 golang获取本月下个月固定日期的时间戳
now := time.Now()currentYear, currentMonth, _ := now.Date()currentLocation := now.Location()//本月6号截止fmt.Println(time.Date(currentYear, currentMonth, 1, 0, 0, 0, 0, currentLocation).Unix()+6*24*3600-1)//下个月6号截止fmt.Println(time.Date(currentYear, curre.
2020-09-14 14:10:43 2207
原创 mysql级联查询
select province , group_concat(city) as citys from data group by province ;
2020-09-12 00:32:05 514
原创 WINDOWS的cd
windows命令中的cdcd命令的作用为改变文件夹,也就是跳转目录、切换路径的意思。它后面可以接驱动器符号、完整路径和相对路径。打开命令行窗口的时候,默认的目录位于当前用户所在的路径下,比如:C:\Users\koi\Desktop> 这段路径的意思为:当前工作盘符为C盘,\是当前目录的根目录,>的作用是把工作目录和需要输入的命令分割开。此目录下并没有我们想要处理的文件,需要跳转到指定目录。解析 cd的各种命令作用:1.返回到当前盘符的根目录 :输入:cd\ ...
2020-09-09 23:38:02 7367
原创 登录token验证
server端://生成token保存token := utils.AesEncrypt(utils.MD5(string(bytesAdminInfo) + utils.FormatDateOrderId()), aroauth.AdminTokenKey)//存储用户id,ip地址和AgentrdsSaveInfo := rdsAdminInfo.Id + ":" + utils.ClientIP(ctx.Request()) + ":" + utils.GetUserAgent(ctx)a.
2020-09-09 11:19:42 1112
转载 2020-09-08
goland设置go modulegoland版本2019.3.2go版本1.14这边我直接介绍下goland怎么用gomodule导包好了,其他功能不做介绍1.打开setting镜像有很多种,上网找2.goinitmod或者goland右下角有导包提示打开cmd,将文件所在位置切换到你的项目文件所在目录,比如项目叫RabbitMQ_Iris ,运行shell命令 gomod init项目名之后就会在该项目里面生成go.mod文件...
2020-09-08 10:07:24 59
转载 Golang Channel
channel 是 Go 语言中的一个非常重要的特性,这篇文章来深入了解一下 channel。1. CSP 要想理解 channel 要先知道 CSP 模型。CSP 是 Communicating Sequential Process 的简称,中文可以叫做通信顺序进程,是一种并发编程模型,由Tony Hoare于 1977 年提出。简单来说,CSP 模型由并发执行的实体(线程或者进程)所组成,实体之间通过发送消息进行通信,这里发送消息时使用的就是通道,或者叫 channel。...
2020-09-05 13:47:35 205
原创 后端自定义K-V通过header传给前端,前段获取不到数据
ctx.ResponseWriter().Header().Set("token", adminToken)跨域时,浏览器只返回header默认字段信息.如果要返回自定义header数据,要对Access-Control-Expose-Headers进行设置,如下:ctx.ResponseWriter().Header().Set("Access-Control-Expose-Headers", "token")...
2020-09-04 11:07:32 389
转载 websocket使用场景:多用户交互,服务器又经常变化的数据
有其他技术能够像WebSocket一样提供真正的双向通信,许多web开发者仍然是依赖于ajax的长轮询来实现。(注:我认为长轮询是富于创造性和多功能性的,虽然这只是一个不太完美的解决办法(hack))对Websocket缺少热情,也许是因为多年前他的安全性的脆弱,抑或者是缺少浏览器的支持,不管怎样,这两个问题都已经被解决了。决定手头的工作是否需要使用WebSocket技术的方法很简单:你的应用提供多个用户相互交流吗? 你的应用是展示服务器端经常变动的数据吗?如果你的回答是肯定的,那么请考虑使用W
2020-09-04 09:19:38 807
原创 golang Iris swagger 关于前端无参数请求的param配置
网上没找到无参数请求的param配置,写了一个空的结构体,功能能实现.如有更好的实现方法可以相互交流.
2020-09-03 18:36:55 732
原创 mysql5.7子查询order by 排序失效
最近登录 每人每天的最新登陆信息:先将子查询排序去重,再用左连接或右连接关联查询 "select ui.uid as uid, " + "ui.u_name as name, " + "ui.u_email as email, " + "ui.u_cellphone as cellphone, " + "ui.u_auth_type as authType," + "(select count(remarkid) from user_remark_info wher...
2020-08-31 21:03:41 762 1
node-v10.14.1-x64 .msi windows版本
2018-11-30
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人