大象笔记

知者行之始,行者知之成

清理线上系统的测试数据,使用 truncate 还是 delete

有个开发了一个多月的大赛报名系统终于要上线了。上线前有一项重要的任务就是清理 MySQL 数据库中的测试数据。 简单粗暴的所有表都 truncate 一遍是不行的。因为还有一些是配置项表,和数据字典表,清空了就白忙活了。所以,需要记录哪些表是可以清理的,哪些是不行。 😅 使用 truncate 还是 delete 清理前,还有一个重要的概念。就是究竟是用 truncate 还是 delete 来清理数据表。 印象中,好多年前遇到过这个问题,还被 truncate 坑过一次。因为如果部分表用 truncate,而关联表不用的话,会导致数据错乱。原因是 truncate 会导致主键自增 ID 重置 ...

阅读全文...

微信小程序数字和字母的等宽字体

之前用微信小程序实现了一个汇率计算的功能,参见: 微信汇率计算器小程序,炒美股港股收益换算人民币小工具 但是这里有个界面的体验问题,就是数字的默认字体是非等宽字体,看起来非常别扭。 右侧的数字在垂直方向,没有对齐,看起来让人浑身难受。 查了一下微信小程序是支持设置字体的,所以,将右侧数字改成等宽字体即可。 font-family: "Courier New", Consolas, Menlo, "Roboto Mono", "Droid Sans Mono", monospace; 跨平台兼容性 一开始是从网上找了一段代码,但是实际 ...

阅读全文...

微信汇率计算器小程序,炒美股港股收益换算人民币小工具

最近有三个大象计算器小程序的热心用户,不约而同地反馈需要一个汇率换算的计算功能。但是使用场景各有不同: 有的是炒美股,例如 50 美金买了 100 股苹果的股票,80 美金💲卖出去,想知道赚了多少人民币。 有的是金融从业人员想关注国际主要货币的汇率 🤔 说干就干,在 Claude 3.7 的加持下,一部电影的时间完成了这个汇率计算微信小程序的开发。界面如下: 点击左侧的货币名称,可以切换为对应的货币为基准,查看对应的其他货币的金额。例如,由美元切换为人民币。 同时也可以点击右侧的金额,修改金额,已实现自定义金额的换算。 体验方式 长按识别,或者扫描下方小程序码,进入 微信中搜索大 ...

阅读全文...

股票做 T 补仓计算器小程序,大象又发布新功能啦

本周有位大象计算器的热心用户加我,让我增加一个炒股用的做 T 补仓计算器。其实这不是第一个用户让我加补仓计算功能了,由于我之前一直比较忙「懒」,就一直拖着😮‍💨。一开始非常非常疑惑,为什么会有这么个奇怪的需求,因为成本计算功能不是内置在所有的券商 app 里了么?这位老板解释了一下我才明白 原来还有这样的需求😲。即比如今天10元买了1000股,第二天跌倒8元买了500股,第三天跌倒6.5元,补仓1000股,现在持仓均价是多少啊?需要能计算出来。而用券商里的功能,那得买进去后才知道是多少,用户想提前确定下,然后决定买多少股,对于目前的走势会不会拉下来好解套。 关键这位老板还包了个红包🧧给我🤪,我 ...

阅读全文...

手机租金计算器小程序,输入价格自动计算首付金额及每月还款额

晚上有位手机租赁行业老板找我开发一款租金计算的微信小程序。大体功能就是,输入手机价格,根据设定好的参数,自动计算出首付金额,及每个月的租金金额,还有对应的还款日期。界面如下: 还能计算出每天的日租金,非常直观 👍 因为跟之前开发过的两款小程序非常相似: 📱 微信小程序版手机租赁月租计算器 🚗 微信小程序版车辆租赁月租金计算器 所以很快完成,周六提交审核,没想到周末小程序就已经审核通过,并发布了。 后面还有两件事情需要做: 小程序备案。这个就是走个流程,就是个人备案,走个流程,大概一个周就能过。按照提示来就行。 微信认证。这个是个人认证,30 块钱一年,按照提示来就行。 只有备案通过和 ...

阅读全文...

设置 MySQL binlog 保存天数,节省服务器硬盘空间

周五总是充满了意外,先是一个还没经过完全测试的大赛系统被甲方抢先上线,吓个半死; 然后发现一台服务器的上磁盘空间满了。。。😱 为了快速清理磁盘空间,顺序清理了: Nginx 日志 Web 框架日志 系统日志 但是也只能勉强清理出来不到 5G。 然后 使用 ncdu 命令分析 linux 磁盘空间占用 意外的发现 MySQL 目录下的 binlog 占用了近 100G。 之前一天大概 1~2G 的日志,但是这个周飙到了每天 7~8G 。。。 紧急清理 可以通过 MySQL console 中,使用 SQL 清理某个编号之前的 binlog 日志文件: 例如,清理 100 编号前的 binlo ...

阅读全文...

签名黑名单,阿里云通知短信发送失败

昨天使用了 📧 阿里云的短信服务,但测试通知短信发送失败,提示 “签名黑名单,运营商根据签名投诉情况进行拦截, 建议使用其他签名进行发送”。 而我的短信签名是通过了阿里云的短信签名审核的,使用的也是公司名称中的文字。 所以提交了工单,找客服帮忙反馈运营商通道侧报备。 阿里云客服反馈很快,几分钟后给了回复,跟我要了测试失败的手机号,然后就等处理结果了。 下面是工单的回复内容: 您好,经核实是因部分运营商网关签名未实名报备导致的短信发送失败。目前各级运营商将加强端口类短信业务经营行为和安全管理规范的执行,并对部分短信进行拦截。需要针对签名进行实名报备,我们已协助您推进报备工作,当前平均需3~ ...

阅读全文...

MySQL 对中文进行拼音排序

我想将 MySQL 返回的中文数据按照拼音进行排序并返回,例如,省份列表: Order("CONVERT(province USING gbk) COLLATE gbk_chinese_ci") 这是 golang gorm 的写法。 但是会有一个问题,就是对于多音字的处理。看一下返回: "安徽省", "北京市", "福建省", "甘肃省", "广东省", "广西壮族自治区", "贵州省& ...

阅读全文...