cloudSky's 小站

Lua小数四舍五入

保留整数 math.floor(x + 0.5) // 4.4 --> 4 math.floor(x) // 会直接舍弃小数点后的部分 保留几位小数进行四舍五入 公式为: math.floor(x * num + 0.5) / num 保留2位 num为100,3位为1000,… 比

修复rpmdb损坏无法使用yum问题

故障现象 修复Linux Polkit本地权限提升漏洞(CVE-2021-4034)时,出现如下报错 error: rpmdb: BDB0113 Thread/process 6161/140008053192768 failed: BDB1507 Thread died in Berkeley DB library error: db5 error(-30973) from dbenv->failchk: BDB0087 DB_RUNRECOVERY: Fatal error,

nginx 下载文件重命名

当前Nginx配置 location /download/ { if ($arg_file) { add_header Content-Disposition "attachment;filename*=utf-8'zh_cn'$arg_file"; } } Chrome、Firefox正常,但Safari下载文件名为当前域名 调整后Nginx配置 location /download/ { if ($arg_file) {

[Go] 实时监控日志文件的包tail

在linux中有一个tail命令,tail -f 可以实时的监控文件新增加的内容,如果用代码实现这个逻辑,可以使用这个包 go get github.com/hpcloud/tail 示例代码 package main import ( "fmt" "github.com/hpcloud/tail"

[Go] Gin异步协程

golang的高并发一大利器就是协程。gin里可以借助协程实现异步任务。 package main import ( "log" "time" "github.com/gin-gonic/gin" ) func main(){ router := gin.Default() router.GET("/sync", func(c *gin.Context) { time.Sleep(5 * time.Second) log.Println("Done! in path" + c.Request.URL.Path) }) router.GET("/async", func(c *gin.Context) { // 因为涉