大象笔记

知者行之始,行者知之成

关于 docker alpine 镜像

alpine 这个单词真的很难记住,每次都记不住。 单独的“alpine”可以翻译为“高山的;阿尔卑斯山的;阿尔卑斯山区居民的”等,也可直接翻译为“阿尔卑斯山”或“高山”。其官网首页也确实是一张雪山的照片,是不是阿尔卑斯山就不知道了。发音是,阿尔派恩😊 docker alpine 镜像有多小 > docker.exe images REPOSITORY TAG IMAGE ID CREATED SIZE test la ...

阅读全文...

一条 SQL 搞定供应商的采购记录及合格率统计

需求 在一个 CRUD 的列表接口中,需要统计每个供应商的供货记录总数及合格率。 先上 MS SQL,当然这是豆包 AI 帮我写的: SELECT [Name], COUNT(*) AS Total, CASE WHEN COUNT(*) = 0 THEN 0 ELSE CAST(SUM(CASE WHEN QJudgment = '合格' THEN 1 ELSE 0 END) AS FLOAT) / COUNT(*) END AS QualifiedRate FROM [MyDB].[dbo].[SupplierReco ...

阅读全文...

React 在 for 循环中 setState 最后一次执行结果会覆盖前面的结果

使用场景 在实现一个批量查询的功能,前端使用 React 写了一个组件。 将多行输入分隔成多个搜索词,因为是模糊查询,搜索速度不快, 为了减少等待时间,于是每个搜索词逐一调用搜索接口。 然后,将搜索结果合并到一个数组,每返回一个结果,就立即显示。 有问题的代码 const [results, setResults] = useState<API.Item[]>([]); for (const keyword of keywords) { // 每个搜索词逐一调用搜索接口 let apiResult = await callSearchApi({keyword: keyword ...

阅读全文...

给家里年迈的 DELL 台式机新配了个腾达 USB WIFI 6 无线网卡

起因 家里的这个 DELL 台式机本身是内置了无线网卡的,但是放在小屋时,距离客厅的无线路由器太远,信号很不稳定。 还因此更换了一个更贵的小米路由器,但是偶尔还是信号不好。电脑桌面右下角的 WIFI 图标永远没有满格的时候,总是少一格。。。小网卡你也太不努力了吧 ╮(╯▽╰)╭ 可是,我的手机在小屋里,信号永远是满格。说明还是台式机内置的无线网卡不太行,或者是在机箱里影响信号? 也这样凑合了很久,但是昨晚我实在是受不了了。起因是,最近严重依赖 AI 编程插件来写代码,在网络不稳定的情况下,插件一直显示超时,导致我一行代码也写不出来。。。我终于成为了只会按 TAB 键的笨蛋程序员。 写了几段单元 ...

阅读全文...

通过了 Google Play 的个人开发者账号认证

昨天 Solos 大神说他刚通过了 Google Play 的企业开发者账号认证。我印象中好像没有做过这个认证,不过上个月确实做过一次 Google Payments 的账号认证。为了以防万一,我登录了 Google Play Console 后台,非常醒目的红色提醒: 如果您未在 Play 管理中心内完成账号验证,您的开发者资料和所有应用都将于 2024年10月11日(28天后)从 Google Play 移除。 由于手机上接收不到实时 GMail 邮件,所以一直不知道这事,而且我也很少登录 Google Play Console,差点导致应用被下架。 我先申请了延期认证,很快通过,自 ...

阅读全文...

SQL 统计过去 12 个月内,按月统计记录条数,基于 created_at 字段

例如,我想统计过去一年内,每个月发布的博客数量。 即,查询 MySQL 表中过去 12 个月内,按月统计记录条数,基于 created_at 字段。 MySQL SQL 语句 SELECT YEAR(created_at) AS year, MONTH(created_at) AS month, COUNT(*) AS count FROM article WHERE created_at >= DATE_SUB(CURDATE(), INTERVAL 12 MONTH) GROUP BY YEAR(created_at), MON ...

阅读全文...

Android Studio 上使用豆包 MarsCode AI 编程助手

昨天刚体验了 vscode 中使用豆包 marscode ai 编程助手,写了一下午 golang CRUD,心情愉悦很多。减少了大量的体力重复劳动。 而今天则接到了 Android 客户端的开发任务,我本来想用 vscode 打开 Android 项目以使用 marscode 来 tab 流生成代码。但是转念一想,为啥不能直接在 android studio 中直接使用这个插件呢?我印象中在豆包编程助手网站首页中看到说是支持 JB 的 IDE 的,而 Android studio 也是基于 JB 家的 Idea 改的,那么自然也是兼容的。 果然,在 AS 的插件管理 (File - Sett ...

阅读全文...

VS Code 上体验字节的豆包 MarsCode AI 编程助手

今天想找一个腾讯元宝的替代品,发现豆包 AI 不错,而且有翻译功能的快捷方式,比其他类 ChatGPT 客户端人性化太多了。 我觉得豆包这样的交互(包含了大量的特定场景的快捷方式,及特殊交互方式), 才是人机对话的合理方式。而不是只保留一个输入框,完全靠手动敲文字来交互。 在使用豆包时,无意发现右上角有个 🔗 豆包编程助手 的入口。大象 正在“豆包MarsCode AI 红人创造营”中借助 AI 工具创作精彩内容,请帮TA投上一票吧! 打开看了一下,这不就是 solos 大神推荐的 cursor IDE 的免费平替版本么? 哈哈,这下我等草根程序员也可以体验一下 TAB 写代码的爽快感啦。 安 ...

阅读全文...

七牛云私有空间存储机密文件,及使用 golang 生成带有凭证的下载链接

为何使用私有空间 主要是公司内部系统的业务(质量管理系统),需要上传一些内部资料。 我不是很确实是否是保密信息,但是感觉上是不应该能够公开访问。 这不像是网站静态资源,例如网站图片,或者 js,css 等,上传就是为了公开能访问。 所以决定尝试一下七牛云存储的私有空间。(当然,阿里云也有类似的 OSS 存储服务。) 增加一个 bucket 空间 旧有的空间是开放空间,需要新建一个私有空间。 但是新增一个域名就麻烦了。。。 配置 CDN 域名 配置 HTTPS 证书 现在 七牛云 HTTPS 证书 只能配置3个月的,3个月后还需要手动重新配置。(去年还是可以设置一年的,今年就变成了 3 个 ...

阅读全文...

企业微信开发公司内部应用的调研

问题 公司大老板觉得内部的 OA 不好用,体现在: 版本过老 流程图还是 flash 实现 (目前正经浏览器,如 Chrome, Edge,已不再支持 flash) 手机 APP 版本也很旧,不少功能在新的 Android / iOS 系统上有兼容性问题,无法使用。而升级又要被厂商收取一大笔费用。 关键问题,领导觉得数据存储在第三方,非常不放心 当然,我一直不理解,为何公司不直接使用企业微信,或者钉钉,来做内部的 OA 流程审批。这是咱决定不了的。 现有的 OA 版本 致远软件 V5.6 (A8-V5 企业版,并发数 80) https://open.seeyon.com/book/cha ...

阅读全文...

Linode Object Storage 惊魂,全部文件消失,险些提桶跑路

天塌了 ⚡️ 周末,发现网站存储图片文件用的 Linode Object Storage Bucket 空间中 (类似亚马逊云的 S3,及阿里云的 OSS),所有的图片文件都消失了。 对应的,网站上所有的图片都不显示了。 登录 Linode 后台,发现所有 Bucket 空间都不见了。连列表都不见了。 登录服务器,查看挂载的目录,目录消失。。。连个文件影子都没有。 茫然 😅 我第一反应是,如果连 bucket 都被删除了,要么黑客登录了 Linode 后台,直接操作手动删除。 要么,在服务器上拿到了配置文件中的 Linode access key 和 secret key,然后调用 API ...

阅读全文...

Golang Gorm 查询 SQL Server 数据库单条记录时报错: 在 FETCH 语句中选项 NEXT 的用法无效

用 Golang 的 Gorm ORM 库,总是有惊喜。这也是为何我一直想转投 ASP.NET EF Core 的原因。这个 Gorm 真的太山寨了。 今天在查询 SQL Server 数据库中的单条记录时,又出现了诡异的问题: mssql: 在 FETCH 语句中选项 NEXT 的用法无效。 这个错误对应的英文错误信息是: mssql: Invalid usage of the option NEXT in the FETCH statement. sql server 版本 版本号 sql server 11.0.2100,对应的版本是 SQL Server 2012 报错代码 ...

阅读全文...