大象笔记

知者行之始,行者知之成

Staticfile CDN 域名变更,免费的 CDN 服务真是让人头疼

在 staticfile.org 上为新项目搜索 js 库时,看到醒目的提示: 受org域名备案影响主域名更新为 staticfile.net , org老域名不再维护请用户尽快更换为net。 无比震惊,我一堆老项目都是使用的 org 那个域名,这要是换一遍域名得多费劲。 我只能逐一把能想到的项目,先逐一处理了。 批量替换命令 linux 命令将目录 templates 下所有文件中的 staticfile.org 替换为 staticfile.net find templates -type f -exec sed -i 's/staticfile.org/staticfile.net/ ...

阅读全文...

Linode 服务器 IP 被墙,通过 ssh jump host 参数一键直连

问题现象 新购的 Linode 海外服务器,发现无法通过 ssh 登录。显示错误: ssh: connect to host x.x.x.x port 22: Resource temporarily unavailable 而通过另外一台可以登录的 DigitalOcean 的海外服务器,在那台服务器上是可以通过 ssh 登录上去的。 看来是这台 Linode 服务器的 IP 之前被人建站用过,IP 已经被国内的密码机构墙了。 这就很蛋疼了,总不能每次都通过另一台服务器上进行操作吧,主要是网络也不太好,在上面敲命令也很卡。 我想是否可以通过什么工具或者命令,可以直接在本地 ssh 上那台 ...

阅读全文...

老客户不再是狗,服务器续费 1.8 折,腾讯云 618 这波活动对得起良心云的称号

又到了一年一度的服务器续费时节,每次都不敢直面如此巨额的账单。今年年初刚新购了阿里云的羊毛服务器用于我的个人网站,马上又面临公司使用的服务器到期。 好在是公司的服务器续费,自己没那么心痛。但是一想到要走采购流程,超过 5000 块钱还得领导审批,流程还繁琐,就提前了解下具体价格。 首先是域名,这个月 25 号要续费了,.com 续费一年 85 。 再就是服务器下个月也要到期了,2024-07-05 到期,续费 1年 2900 (2.5折),续费 3 年 6200 (1.8折),续费两年 13000 (5.4折)。。。看起来还是续费 3 年比较合算。印象中上个月没有活动时,续费 3年要一万多。忘 ...

阅读全文...

起名纠结,随手写了个 APP,却为起名犯难

最近痴迷于社交网络,发现国外的程序员发图都喜欢加个边框,加个背景色。我也想变得跟城里人一样时尚。但是在应用商店里没有找到合适的 app,于是就自己顺手写了一个 Android app。 效果如下: 功能非常简单,半天开发完,却为起名犯愁。 纠结的原因是,不知道是以具体的功能来命名,还是起个宽泛的名字,以后能逐步增加功能,形成一个工具箱。类似我一直维护的小程序大象计算器,包含十几个小工具。 工具箱类型 app 的好处 这样开发维护的成本会小很多,毕竟现在发布一个 app 浪费大量时间。 省去国内应用商店上架前申请软著,备案号,icp 备案, 用户隐私协议的麻烦 省去多次上架应用商店的麻烦。G ...

阅读全文...

做程序员呢,开心最重要,用 .Net 8 开发了一个自用的 Windows 文件上传七牛云小工具

没有什么事情比给自己开发一个小工具更开心了。每天都在给别人写程序,通过代码实现自动化,解放客户的双手,提高他们的工作效率。但是对比之下,给自己写的工具却寥寥无几。 最近,由于要给客户频繁修改 Android 平板 App 上的 bug,每次修复完,都需要: 重新发布一个 apk 安装包 登录七牛云网页后台,把 apk 文件上传,并获得下载链接 url 将加载链接生成二维码,方便客户直接在平板上扫码下载 这个过程异常的繁琐,特别是那个网页后台操作很麻烦 (现在的云平台都是这个鬼样子,让人眼花缭乱,不知所措)。于是,我决定开发一个小工具,来解决自己的烦恼。 技术选型 用 Koltin 开发 A ...

阅读全文...

.NET 8 通过 dotnet add package 安装三方依赖包

例如我想给正在开发的 .NET 8 Console 程序添加上七牛云的官方 SDK 依赖。 可以直接使用 dotnet add package 命令: dotnet add package Qiniu.Shared --version 7.2.15 或者直接省略版本号,即安装最新的包版本 dotnet add package Qiniu.Shared 对应的配置修改 通过 git diff,可以看到项目根目录下的 xxx.csproj 文件发生了变更。增加了新添加的包的名称及版本号。这跟 python requirements.txt 和 golang 的 go.mod 文件的机制类似。 ...

阅读全文...

.Net 8 Console 程序中使用 Windows 弹窗

例如,咱把 .Net Console 默认的 hello world 程序修改一下,增加一个弹窗。 using System.Windows.Forms; Console.WriteLine("Hello, World!"); DialogResult res = MessageBox.Show("Are you sure you want to Delete", "Confirmation", MessageBoxButtons.OKCancel, MessageBoxIcon.Information); if (res == ...

阅读全文...

Windows PowerShell 中通过 winget 命令行下载安装 .Net 8

Windows 上打开 PowerShell 输入下面的命令: winget install Microsoft.DotNet.SDK.8 即可从命令行直接下载并安装 .Net 8 。省去了通过浏览器搜索官网并下载的繁琐过程。 安装过程输出 已找到 Microsoft .NET SDK 8.0 [Microsoft.DotNet.SDK.8] 版本 8.0.301 此应用程序由其所有者授权给你。 Microsoft 对第三方程序包概不负责,也不向第三方程序包授予任何许可证。 正在下载 https://dotnetcli.azureedge.net/dotnet/Sdk/8.0.301/dot ...

阅读全文...

通过了微信公众号个人认证,我才明白原来我没有资格做一名职业程序员

之前一直没有申请微信公众号的认证,原因是,我看认证的前提是 30 天内必须群发过至少一篇文章。而我为了不掉粉,就一直憋着。。。群发即掉粉,一直是我的心魔。 于是我就这样在等待一篇不那么令人厌恶的文章的诞生。这一天一直没有到来。 偶然的机会,我发现原来非群发的文章是无法被微信搜索收录的,我整个人都傻了。那岂不是,之前发的一百多篇都废了。。。所以,毁灭吧。直接群发了一篇。 终于获得了申请微信公众号认证的资格。 个人认证的前提是大于 500 粉丝,这个是满足的。至于是兴趣认证,还是职业认证,只要不是业界知名人物,就没法申请职业认证,并不是说你是程序员,就能申请软件工程师的认证。所以,我选择了科技爱好 ...

阅读全文...

用小程序实现了一个场内ETF基金收益计算器

再次收到微信小程序大象计算器热心用户“会飞的鱼”老板的反馈,希望增加一个场内ETF基金收益计算的功能。 这个计算逻辑跟之前开发的股票收益计算器基本一致,一些小区别是: 没有印花税 没有买入卖出最低5元佣金的限制 虽然这段时间比较忙,但是被热心用户打动了,截图说明的非常详细,我都不需要动脑就能实现,而且感觉实现起来应该用不了 10 分钟。于是,就把之前的股票收益计算功能复制了一份,稍微修改了一下,就完成了。提交审核,很快就通过了微信审核。 效果图 截图用了推特上非常流行的给图片加边框的小工具,确实效果清晰多了。果然小网红们才是需求的源泉。 如何体验 微信搜索“大象计算器”,打开小程序之后, ...

阅读全文...

[govet] misuse of unbuffered os.Signal channel as argument to signal.Notify

一段用于 gin gracefully shutdown 的代码在使用 govet 检查时,报 error 错误。 但是,这个错误在编译时,并不会报错,不影响编译,我就一直没管。 然而这个炎热的夏天,我实在忍不住了,今天在 VIM 中看到底部这个一直显示的,无法消除的 govet 错误,心情暴躁的我决定毁灭它。 报错信息 [govet] misuse of unbuffered os.Signal channel as argument to signal.Notify [Error] 报错代码 // Wait for interrupt signal to gracefully shut ...

阅读全文...

GORM 同时连接 MySQL 和 SQL Server 两种数据库

在实现一个公司内部的质量管理平台 (使用 MySQL 数据库),需要从原有的集采平台 (基于 SQL Server) 中拉取待检验的数据。 为了快速上线,我继续沿用了最顺手的 golang gin & gorm 组合。 但是之前没有试过同时连接两个数据库的用法,而且是两种不同类型的数据库。于是测试了一下。 同时建立两个连接倒是没啥好说的,在原有的 MySQL 配置平级增加一个 MS SQL 的就可以。但是小问题不少。 TLS Handshake failed 建立 SQL Server 连接失败,报错: TLS Handshake failed: tls: server select ...

阅读全文...