大象笔记

知者行之始,行者知之成

荣获 Google 广告变现知识专八考试学霸认证

在谷歌广告联盟微信公众号中经过四轮答题,终于荣获 Google 广告变现知识专八考试学霸认证。 奖品是一个。。。 小饭缸,也许是一个水杯,也许是个奖杯吧。。。 ...

阅读全文...

减小 golang build 编译后程序包的文件大小

在 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 调试信息。结果就是 ...

阅读全文...

生产环境 GoAdmin 后台加载慢的问题

从 Chrome Network 里看,GoAdmin 加载了很多大的静态资源文件,例如 all_2.min.js 有 1.2M 之大。 更严重的是,GoAdmin 没有对静态资源文件做缓存设置,导致每次用浏览器打开,都需要重新拉取一遍全量的静态资源文件。而我的服务器带宽只有 1M,下载速度非常缓慢。 可以对比参考 Google 首页的处理方式: 解决方法一: GoAdmin 后台设置 CDN,参考 http://doc.go-admin.cn/zh/admin/cdn/ 但是这种方法,我并不打算使用。原因是: 更新 CDN 文件麻烦。每次版本升级,都需要对应的更新 CDN 文件。 由 ...

阅读全文...

MySQL created_at 日期时间字段在数据变更时,自动更新

今天在使用 GoAdmin 开发后台功能时,发现 GoAdmin 没有像 Laravel 那样自带 created_at 字段更新功能。即数据发送变化时,无法自动更新 created_at 字段。 而 formList.SetUpdateFn 这个功能,需要将所有字段都处理,也不方便更新 created_at. 最终在 GoAdmin QQ 群里请教了一下大佬,得到了一个不错的解决方法,即直接使用 MySQL 的 on update 功能。 MySQL Workbench 中右键点击字段名,在右键菜单中选择最后一项 DEFAULT CURRENT_TIMESTAMP ON UPDATE CU ...

阅读全文...

粥左罗《学会写作:自我进阶的高效方法》

第一次读完一本关于写作的书《学会写作:自我进阶的高效方法》,没想到是公众号运营者写的。。。粥左罗这个名字,我之前从没有听过,大概我不怎么看公众号热门文章的原因。这本书确实有干货,但是可能作者平时写废话凑字数习惯了,废话也很多,可以很快翻完。 不得不承认,目前公众号运营公司或者个人运营者,确实看透了公众号的盈利模式。所以能够快速而精确地产出各种爆款文章,人群针对性很强。充分证明了写作可以有效建立个人品牌,并带来收入。这一点通过这几年运营这个网站,我也得出了同样的结论。这不过不同的是,粥左罗是以微信公众号为流量来源,而我是以网站为流量来源。 摘录了一些对我有启发的点: 写作是倒逼成长的绝佳方法 ...

阅读全文...

go-admin cli error: interface conversion: interface {} is nil, not string

在使用 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 目录 ...

阅读全文...

golang 管理后台框架 gin-vue-admin 与 GOADMIN 对比

想尝试一下用 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 ...

阅读全文...

go get 显示 golang 三方包下载进度

今天在下载一个 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 进度显示: ...

阅读全文...

deepl 翻译质量与有道,百度翻译,google 翻译对比

最近很火的一个德国公司做的翻译软件 deepl, 在一些场景下确实翻译很有特色。于是想对比测试一下翻译效果。 以一个句子为例: 为什么给别人写程序时,我永远提不起兴趣 deepl 翻译:Why I never get interested in writing programs for people 有道翻译:Why am I never interested in programming someone else 百度翻译:Why I never get interested in writing programs for others Google 翻译:Why do I never ...

阅读全文...

为什么给别人写程序时,我永远提不起兴趣

最近在给别人写一个微信小程序的前端界面,每天晚上我都极不情愿地坐下,磨蹭两个小时,产出也没多少。睡觉之前,回顾晚上干了什么,感觉啥也没干,即使写了不少代码,也感觉索然无味。 原本以为是椅子,桌子不舒服。考虑跑到沙发上用笔记本写程序,也许能心情舒畅一点。但是我分析了一下,根本原因是写的东西自己也不用,感觉没有价值,体会不到成就感。而我给自己写东西,就算到凌晨也兴致勃勃。 转念一想,如果在给别人写程序的过程中,可以创造出一些自己可以复用的工具,那么这个过程就有乐趣了。那也就不会感觉枯燥,坐不住了。 今晚看看能否发现一些可以做成工具的点,来自动化掉那些枯燥乏味的前端开发工作量。 ...

阅读全文...

各类云笔记软件对比

由于昨晚换了手机,纠结了一下该使用哪款笔记软件,最终选择了微信自带的笔记功能。即,收藏里的新建笔记功能。 我对笔记软件的功能需求 简洁。最好是纯 markdown 格式。不附加各种诡异的格式。 能多平台同步。PC Windows 系统 + Android 系统能快速稳定的同步,不能丢数据。 支持图片上传。 安装包要小。 不需要复杂的目录分类功能,因为最终我都会同步到网站上。 免费。 我考察了一些软件。 SimpleNote SimpleNote 用了几年了,一直是我的主力记笔记工具。 优点: 简洁。支持 Markdown。 多平台支持。 同步速度还可以。 缺点: 不支持图片上传。 J ...

阅读全文...

今天跟孙心然去超市,突然感觉自己老了

在门口直通家超市的水果区,想给孙心然买点皇冠梨,于是取了一个食品袋,可我怎么也打不开这个袋子。 加上超市温度比较高,我又穿得多,不自觉烦躁起来,越烦躁越打不开食品袋。 这时,身旁全副武装、穿得跟个熊似的,只露出一对小眼睛的孙心然说: “爸爸,这个要搓一搓,我来!” 她接过去,5秒钟就搓开了食品袋。。。 那一刻,我觉得自己老了。连个3岁半的小孩都比我厉害! 回去的路上,顺便在小区门口的快递柜取了京东的快递。孙心然右手抱着饼干盒,左手拉着奶奶买菜专用小推车,夕阳下跟个小大人一样。得抓紧联系个工地让她大展身手了。 ...

阅读全文...