分类下相关文章
2020-06-15 · 阅读 21108 · 字数 289
从百度统计后台导出并下载了实时访客的 CSV 文件。想本地解析一下,并导入到 MySQL 中做备份,因为百度统计只能保留两个周的历史数据,且上限为5000条。 golang 解析 csv 代码 这里用到了 golang 内置的 "encoding/csv" 库,能自动读取一行 csv 数据,并返回 slice 类型的数据。 package main import ( "encoding/csv" "fmt" iconv "github.com/djimenez/iconv-go" "io&quo ...
2020-04-30 · 阅读 4870 · 字数 362
有一个历史悠久的服务,使用的是 MySQL 5.0 版本。我想用 GoAdmin 重写管理后台,但是 MySQL 又不敢停机升级。发布之后,运行报错: panic: Error 1115: Unknown character set: 'utf8mb4' goroutine 1 [running]: github.com/GoAdminGroup/go-admin/modules/db.(*Mysql).InitDB.func1() /home/zhongwei/golang/pkg/mod/github.com/!go!admin!group/go-admin@v1.2.9 ...
2020-04-29 · 阅读 5293 · 字数 132
使用 GoAdmin 管理新建的分类表 category 的 CRUD 时,报错: Error 1054: Unknown column 'category.id' in 'field list' 而 category 的主键,没有使用默认的 id,而是自定义了一个名 c_id. 解决方法 替换生成的代码中的 categoryTable := table.NewDefaultTable(table.DefaultConfigWithDriver("mysql")) 为 categoryTable := table.NewDefaultTable(table.Confi ...
2020-04-27 · 阅读 3948 · 字数 49
GoAdmin 常用的几种搜索过滤方式: 精确查找 适合 ID,订单号等。代码示例: info.AddField("Id", "id", db.Int).FieldFilterable() 部分匹配 适合关键词查找。代码示例: info.AddField("Name", "name", db.Varchar). FieldFilterable(types.FilterType{Operator: types.FilterOperatorLike}) ...
2020-04-27 · 阅读 7810 · 字数 96
在写 golang 代码时,遇到一行代码过长,于是,我习惯性地参照 PHP 的折行写法: info.AddField("Name", "name", db.Varchar) .FieldFilterable(types.FilterType{Operator: types.FilterOperatorLike}) 但是 VIM 保存时,触发的 go fmt 报错: expected statement, found '.' 参考了一下 github 上开源项目的代码,原来逗点需要写在上一行。。。 info.AddField(" ...
2020-04-23 · 阅读 8379 · 字数 199
在 Golang Gin 写的后台程序加上 GoAdmin 之后,go build 生成的发布包体积已经达到了 30M 之巨。上传阿里云服务器,以 400K/s 的传输速度得上传1分钟。 30075408 网上找到一个解决方案,加上编译参数: go build -ldflags "-s -w" 体积减小到了 23M。 22778576 文件大小降幅大约四分之一。 编译参数 -s 的作用是去掉符号信息。去掉符号表,golang panic 时 stack trace 就看不到文件名及出错行号信息了。 -w 的作用是去掉 DWARF tables 调试信息。结果就是 ...
2022-06-10 · 阅读 23132 · 字数 71
在 golang gin controller 中使用 c.ClientIP() 获取请求的 IP,但是获取到的是 127.0.0.1. 估计是 Nginx 在转发请求给 golang 时,没有配置好。 解决方法 增加两行配置即可。 location /go/ { proxy_set_header X-Forward-For $remote_addr; proxy_set_header X-real-ip $remote_addr; proxy_pass http://127.0.0.1:8080/go/; } reload nginx,测试 ...
2020-04-23 · 阅读 7457 · 字数 470
从 Chrome Network 里看,GoAdmin 加载了很多大的静态资源文件,例如 all_2.min.js 有 1.2M 之大。 更严重的是,GoAdmin 没有对静态资源文件做缓存设置,导致每次用浏览器打开,都需要重新拉取一遍全量的静态资源文件。而我的服务器带宽只有 1M,下载速度非常缓慢。 可以对比参考 Google 首页的处理方式: 解决方法一: GoAdmin 后台设置 CDN,参考 http://doc.go-admin.cn/zh/admin/cdn/ 但是这种方法,我并不打算使用。原因是: 更新 CDN 文件麻烦。每次版本升级,都需要对应的更新 CDN 文件。 由 ...
2020-04-22 · 阅读 12040 · 字数 63
我的需求是,访问了一个 golang gin 的链接,然后自动 302 跳转到一个三方链接。主要是为了做出站链接统计。 实现方法 c.Redirect(302, "https://www.sunzhongwei.com") c.Abort() Abort 终止的意思。 ...
2020-04-21 · 阅读 10680 · 字数 185
参照 GoAdmin 文档中的提示,添加了一个新的 model 及路由,但是编译成功后,运行报错: [GIN-debug] GET /go/admin/assets/dist/fonts/fontawesome-webfont.eot --> github.com/GoAdminGroup/go-admin/adapter/gin.(*Gin).AddHandler.func1 (3 handlers) panic: handlers are already registered for path '/go/admin/assets/dist/fonts/fontawesome-w ...
2020-04-18 · 阅读 8389 · 字数 250
在使用 GoAdmin 生成数据模型文件时报错: $ adm generate GoAdmin CLI v1.2.8 ? choose a driver mysql ? sql address 127.0.0.1 ? sql port 3306 ? sql username goadmin ? sql password ******** ? sql database name goadmin go-admin cli error: interface conversion: interface {} is nil, not string 解决方法 看了一下 GoAdmin adm 目录 ...
2023-05-22 · 阅读 32703 · 字数 658
想尝试一下用 golang 写管理后台,如果开发效率可以接受的话,就逐步替换掉目前的 laravel backpack 后台。 下面的内容已经过时,不需要再看了。目前,我已经改用了 Golang gin 作为后台接口服务,前端使用 Ant Design Pro 作为前端(Ant Design 的颜值有保证,做企业应用后台管理,不用担心太丑陋的问题),做了前后端分离,灵活度非常高。具体参考 搭建 Golang Gin + Ant Design Pro V5 管理系统后台。 Ant Design Pro 的在线预览地址: https://preview.pro.ant.design/dashboa ...
2020-04-19 · 阅读 11141 · 字数 131
运行 goadmin 时,报错 $ go run main.go main.go:4:2: cannot find module providing package github.com/GoAdminGroup/go-admin/adapter/gin: working directory is not part of a module ... 解决方法 $ go mod init sunzhongwei.com/goadmin go: creating new go.mod: module sunzhongwei.com/goadmin 此时,目录下会新建 go.mod 文件,定义了各 ...
2020-04-17 · 阅读 9793 · 字数 160
今天在下载一个 golang 三方包时,执行了很长时间,也没有执行完毕。 命令如下: go get github.com/GoAdminGroup/go-admin/adm 我不知道是网络断掉了,还是什么原因,因为默认 go get 是不显示进度的。 Reddit 上找了一个解决方法,非常有效,可以在不修改 golang 命令代码的情况下,直接查看下载进度: strace -f -e trace=network go get github.com/GoAdminGroup/go-admin/adm 2>&1 | pv -i 0.05 > /dev/null 进度显示: ...
2020-04-01 · 阅读 7994 · 字数 339
为了提升开发效率,很多时候我只想在终端下敲代码,并执行自动化测试验证。相比,每改一点代码,就打开浏览器手动测试,要节省很多时间,也不容易临时起意去论坛闲逛了。。。 依赖包 import "testing" 测试代码规范 文件名格式:file_test.go 功能测试函数名格式:TestFuction 性能测试函数名格式:BenchmarkFunction,执行命令 go test -bench 时会运行 assert 库 https://github.com/stretchr/testify 内置的 Errorf 写法太啰嗦了,找了一个支持 assert 语法的库。我 ...
生活 | 跑步 清单 足球 鲁班 探索 孤独的美食家 驾驶 电视剧 收纳 奶爸 健康 game 电影 周末 joke |
---|---|
Geek | 健身 Laravel Git Vim MySQL Linux UI Windows SVN 纪录片 管理 Shell 游记 工具 手机 BackboneJS 自建博客 Mac DNS Tornado CDN Django Python AngularJS 理财 前端 Nginx 爬虫 Redis Javascript Browser 浏览器 推广 OAuth CSS PHP Social Networks 安全 运维 创业 杂记 VueJS Android Image IDE Java ReactJS 数据分析 SQLite RESTful 读书笔记 家电 ecshop Vagrant wordpress docker SEO GTD magento mongodb nodejs weex 冷知识 ruby iOS 微信小程序 AI CMS 快应用 backpack 广告联盟 OA 短信 UWP Win CSharp Tampermonkey graphviz 钉钉 WPS 数据字典 微信公众号 Fuchsia Adobe XD SQL Server thinkphp 代码规范 商业模式 Flutter 头痛的问题 serverless 视频制作 国际化 golang 服务器 Kotlin 网站建设 5G 笔记本 图片 spark spring 物联网 InfluxDB 图像识别 postgre rust 提示词 |
成长的烦恼 | 闲言碎语 待产 不睡觉 写作 程序员 孙心然语录 原则 大鸿语录 |
地球 | 植物 时间 中文 赚钱 国家地理 烟台 一生伏首拜阳明 emoji 弟子规 英文 国际贸易 |