普通视图

发现新文章,点击刷新页面。
昨天 — 2025年7月1日首页

回归纯血 Ubuntu

作者 LMS
2025年6月30日 23:11

书接上回。

本地电脑升级到基于 Ubuntu 24.04 的 elementary OS 8.0 后,php-fpm 8.3 一直无法使用,不管是 AI 还是 bing 搜索一直无法解决。

后来测试了 apache2 使用 php-cli 没问题,使用 php-fpm 和 nginx 一样也是 access deny。

实在无解,退而求其次,就用虚拟机测试了原版 Ubuntu,居然没有一点问题。

所以基本可以肯定是 elementary OS 8.0 的问题了。

下载 Ubuntu 烧录 USB 盘,安装系统,apt install php8.3 php8.3-fpm 一路绿灯顺利搞定。

纯血 ubuntu
纯血 ubuntu

纯血 Ubuntu 这大红大紫的色调看着还有点不习惯,5.9G 的 iso 镜像文件,安装完连播放器都不带的,然后就是原来右上角的菜单栏居然改成了用于切换桌面工作台的,这修改有点出乎意料,这是怕用户用鼠标切换桌面太快了,放这么个角落,那我还不如 alt+tab 呢。

Ubuntu 自带的运用中心,snap 源安装的运用有的会因为缺乏依赖打不开,还是得通过 snap install 命令安装才能自动带上依赖,浪费了我一些时间。

最头疼的是 github,有时候莫名其妙就突然不能访问,设置 git 搞了我许多时间。

总体来说,纯血 Ubuntu 24.04 比我原来用的 Elementary OS 8.0 更省资源,电池都感觉用的久了,也不知道是不是因为装的东西少的原因。

回归纯血 Ubuntu

作者 LMS
2025年6月30日 23:11

书接上回。

本地电脑升级到基于 Ubuntu 24.04 的 elementary OS 8.0 后,php-fpm 8.3 一直无法使用,不管是 AI 还是 bing 搜索一直无法解决。

后来测试了 apache2 使用 php-cli 没问题,使用 php-fpm 和 nginx 一样也是 access deny。

实在无解,退而求其次,就用虚拟机测试了原版 Ubuntu,居然没有一点问题。

所以基本可以肯定是 elementary OS 8.0 的问题了。

下载 Ubuntu 烧录 USB 盘,安装系统,apt install php8.3 php8.3-fpm 一路绿灯顺利搞定。

纯血 ubuntu
纯血 ubuntu

纯血 Ubuntu 这大红大紫的色调看着还有点不习惯,5.9G 的 iso 镜像文件,安装完连播放器都不带的,然后就是原来右上角的菜单栏居然改成了用于切换桌面工作台的,这修改有点出乎意料,这是怕用户用鼠标切换桌面太快了,放这么个角落,那我还不如 alt+tab 呢。

Ubuntu 自带的运用中心,snap 源安装的运用有的会因为缺乏依赖打不开,还是得通过 snap install 命令安装才能自动带上依赖,浪费了我一些时间。

最头疼的是 github,有时候莫名其妙就突然不能访问,设置 git 搞了我许多时间。

总体来说,纯血 Ubuntu 24.04 比我原来用的 Elementary OS 8.0 更省资源,电池都感觉用的久了,也不知道是不是因为装的东西少的原因。

昨天以前首页

迁移之后升级

作者 大灰
2025年6月29日 15:15
天气热了,我就完全没有心情更新,烦躁的心情、湿透的衣服,都让我无法专心做某一件事…… 睡不着起来折腾网站环境,nginx、php、redis等等升级到了最新版,运行也没啥问题,但是对于老一点的程序来说还是不兼容。discuz、typecho就会报错懒得解决果断又安装了低版本的php,目前php有两个版本在使用,就这样了。 今天收到一张vps待付账单,果断不续费了。因为手里还有其他机器,目前的配置是2核2G 100GB硬盘价格贵,新的配置(买了好几个月)是2核3G 300GB硬盘。这彻底解决了我的硬盘恐惧症。 再说说SSL,目前免费证书是90天有效期,后面会越来越短,真是造孽!感觉在割韭菜,还好 […]

服务器迁移记录:最终还是退回到了阿里云...!

作者 Kevin
2025年6月27日 21:08

❌❌❌ 腾讯云!我也没想到我会干这么件事儿,毕竟我曾多次说过腾讯云不咋地(之前有过惨痛经历),再加上我的阿里云 ECS 都已经续费到了 2027 年,照理说完全没必要折腾。但腾讯云这价格实在太便宜了,让人难以拒绝。

昨天,博友群里有人分享了一则推广信息,我目测性价比很高,至少比我现在的阿里云便宜太多太多了!我纠结了好一会儿,从价格、性价比、安全性等方面仔细盘算了一下。

服务器迁移记录:从阿里云 ECS 切换至腾讯云[ 阅读全文 ]

原文链接: https://www.shephe.com/website/aliyun-to-tencent-cloud-migration/
版权声明: Kevin's Space 版权所有,转载请用明链标明本文地址
本站相关: 随机文章 | 站长微博 | 关于本站 | 联系站长 | 捐助作者

升级 Ubuntu 24.04 安装 PHP 8.3 失败

作者 LMS
2025年6月27日 01:04

事情是这样子的。

在 @督军 博客看到介绍网站“启用 Brotli 压缩”,想试试,后来发现默认的 Ubuntu 22.04 无法通过 apt 直接安装。本来已打算放弃,@督军 同学回复说 24 版本 ubuntu 可安装,于是就直接在服务器端 do-release-upgrade 一次搞定。

升级到 24.04 的 Ubuntu,upgrade 的 nginx 版本提升到了 1.24,php 也到了 8.3.6。

想着服务器都升级 24.04 版本了,本地要不也一起升级了吧,于是就决定给用了许久的本地 Elementary OS 7.1 升级到 8.0。Elementary OS 7.1 居于 Ubuntu 22.04,Elementary OS 8.0 居于 Ubuntu 24.04。

Elementary OS 有个坑的地方,跨版本升级无法用命令行直接升级,得重新安装系统,这就是为啥我这么久没升级的原因,重装实在太麻烦,得备份东西。

许久没折腾的我,在 Gparted 分区的地方给卡了许久,电脑有两块盘,其中一块盘上装的 Windows 10 和 这个 Elementary OS,Windows 10 已经好久没用了,这次准备直接删了。还好记得两块硬盘大小不一样,不然都不知道哪个是哪个。

简单的分了 boot swap/ 3 个分区,不到 5 分钟就安装完成。

本地系统我一直都是手动安装 web 环境,nginx 安装很顺利,php 卡主了。

Ubuntu 24.02 默认 apt 安装的 php 是 8.3 版本,安装的时候,小朋友爬过来要和我抢电脑,所以直接盖上盖子丢一边了。等给小朋友洗完澡喂完奶哄睡着,再打开电脑时,看到终端提示安装被打断,没当一回事,就重新继续安装。 安装代码:

sudo apt install php8.3 php8.3-common php8.3-fpm php8.3-{curl,mysql,bcmath,imagick,mbstring,gd,xml,zip}

然后卡在了 php-fpm 配置那里,看提示好像是超时:

正在设置 php8.3-fpm (8.3.6-0ubuntu0.24.04.4) ...
Job for php8.3-fpm.service failed because a timeout was exceeded.
See "systemctl status php8.3-fpm.service" and "journalctl -xeu php8.3-fpm.service" for details.
invoke-rc.d: initscript php8.3-fpm, action "start" failed.
× php8.3-fpm.service - The PHP 8.3 FastCGI Process Manager
     Loaded: loaded (/usr/lib/systemd/system/php8.3-fpm.service; enabled; preset: enabled)
     Active: failed (Result: timeout) since Fri 2025-06-27 08:27:22 CST; 9ms ago
       Docs: man:php-fpm8.3(8)
    Process: 15692 ExecStart=/usr/sbin/php-fpm8.3 --nodaemonize --fpm-config /etc/php/8.3/fpm/php-fpm.conf (code=exited, status=0/SUCCESS)
    Process: 15697 ExecStopPost=/usr/lib/php/php-fpm-socket-helper remove /run/php/php-fpm.sock /etc/php/8.3/fpm/pool.d/www.conf 83 (code=exited, status=0/SUCCESS)
   Main PID: 15692 (code=exited, status=0/SUCCESS)
        CPU: 68ms

6月 27 08:25:52 LMS-EOS systemd[1]: Starting php8.3-fpm.service - The PHP 8.3 FastCGI Process Manager...
6月 27 08:27:22 LMS-EOS systemd[1]: php8.3-fpm.service: start operation timed out. Terminating.
6月 27 08:27:22 LMS-EOS systemd[1]: php8.3-fpm.service: Failed with result 'timeout'.
6月 27 08:27:22 LMS-EOS systemd[1]: Failed to start php8.3-fpm.service - The PHP 8.3 FastCGI Process Manager.
dpkg: 处理软件包 php8.3-fpm (--configure)时出错:
 已安装 php8.3-fpm 软件包 post-installation 脚本 子进程返回错误状态 1
dpkg: 依赖关系问题使得 php-fpm 的配置工作不能继续:
 php-fpm 依赖于 php8.3-fpm;然而:
  软件包 php8.3-fpm 尚未配置。

和 php 有关的全部都删除了,重新再完整安装一次,还是上面的毛病。

以为系统被我折腾坏了,又重装了系统,重新再安装,还是上面的毛病。

搜索、AI 还是没解决。

今天上午在 Windows 下用虚拟机安装系统再测试,还是一样的问题,所以我这是翻车了。。。

而且最吐血的是,突然想起来,我原系统的 Obsidian 文件没备份。。。

升级 Ubuntu 24.04 安装 PHP 8.3 失败

作者 LMS
2025年6月27日 01:04

事情是这样子的。

在 @督军 博客看到介绍网站“启用 Brotli 压缩”,想试试,后来发现默认的 Ubuntu 22.04 无法通过 apt 直接安装。本来已打算放弃,@督军 同学回复说 24 版本 ubuntu 可安装,于是就直接在服务器端 do-release-upgrade 一次搞定。

升级到 24.04 的 Ubuntu,upgrade 的 nginx 版本提升到了 1.24,php 也到了 8.3.6。

想着服务器都升级 24.04 版本了,本地要不也一起升级了吧,于是就决定给用了许久的本地 Elementary OS 7.1 升级到 8.0。Elementary OS 7.1 居于 Ubuntu 22.04,Elementary OS 8.0 居于 Ubuntu 24.04。

Elementary OS 有个坑的地方,跨版本升级无法用命令行直接升级,得重新安装系统,这就是为啥我这么久没升级的原因,重装实在太麻烦,得备份东西。

许久没折腾的我,在 Gparted 分区的地方给卡了许久,电脑有两块盘,其中一块盘上装的 Windows 10 和 这个 Elementary OS,Windows 10 已经好久没用了,这次准备直接删了。还好记得两块硬盘大小不一样,不然都不知道哪个是哪个。

简单的分了 boot swap/ 3 个分区,不到 5 分钟就安装完成。

本地系统我一直都是手动安装 web 环境,nginx 安装很顺利,php 卡主了。

Ubuntu 24.02 默认 apt 安装的 php 是 8.3 版本,安装的时候,小朋友爬过来要和我抢电脑,所以直接盖上盖子丢一边了。等给小朋友洗完澡喂完奶哄睡着,再打开电脑时,看到终端提示安装被打断,没当一回事,就重新继续安装。 安装代码:

sudo apt install php8.3 php8.3-common php8.3-fpm php8.3-{curl,mysql,bcmath,imagick,mbstring,gd,xml,zip}

然后卡在了 php-fpm 配置那里,看提示好像是超时:

正在设置 php8.3-fpm (8.3.6-0ubuntu0.24.04.4) ...
Job for php8.3-fpm.service failed because a timeout was exceeded.
See "systemctl status php8.3-fpm.service" and "journalctl -xeu php8.3-fpm.service" for details.
invoke-rc.d: initscript php8.3-fpm, action "start" failed.
× php8.3-fpm.service - The PHP 8.3 FastCGI Process Manager
     Loaded: loaded (/usr/lib/systemd/system/php8.3-fpm.service; enabled; preset: enabled)
     Active: failed (Result: timeout) since Fri 2025-06-27 08:27:22 CST; 9ms ago
       Docs: man:php-fpm8.3(8)
    Process: 15692 ExecStart=/usr/sbin/php-fpm8.3 --nodaemonize --fpm-config /etc/php/8.3/fpm/php-fpm.conf (code=exited, status=0/SUCCESS)
    Process: 15697 ExecStopPost=/usr/lib/php/php-fpm-socket-helper remove /run/php/php-fpm.sock /etc/php/8.3/fpm/pool.d/www.conf 83 (code=exited, status=0/SUCCESS)
   Main PID: 15692 (code=exited, status=0/SUCCESS)
        CPU: 68ms

6月 27 08:25:52 LMS-EOS systemd[1]: Starting php8.3-fpm.service - The PHP 8.3 FastCGI Process Manager...
6月 27 08:27:22 LMS-EOS systemd[1]: php8.3-fpm.service: start operation timed out. Terminating.
6月 27 08:27:22 LMS-EOS systemd[1]: php8.3-fpm.service: Failed with result 'timeout'.
6月 27 08:27:22 LMS-EOS systemd[1]: Failed to start php8.3-fpm.service - The PHP 8.3 FastCGI Process Manager.
dpkg: 处理软件包 php8.3-fpm (--configure)时出错:
 已安装 php8.3-fpm 软件包 post-installation 脚本 子进程返回错误状态 1
dpkg: 依赖关系问题使得 php-fpm 的配置工作不能继续:
 php-fpm 依赖于 php8.3-fpm;然而:
  软件包 php8.3-fpm 尚未配置。

和 php 有关的全部都删除了,重新再完整安装一次,还是上面的毛病。

以为系统被我折腾坏了,又重装了系统,重新再安装,还是上面的毛病。

搜索、AI 还是没解决。

今天上午在 Windows 下用虚拟机安装系统再测试,还是一样的问题,所以我这是翻车了。。。

而且最吐血的是,突然想起来,我原系统的 Obsidian 文件没备份。。。

博客突遭江苏封禁?反诈中心黑名单的意外风波

作者 Kevin
2025年6月20日 20:49

今晚下班回到家,照例打开博客(www.shephe.com)查看动态,结果一条网友评论让我瞬间炸了——这位热心朋友留言说,我的博客疑似被“江苏反诈”封禁,还贴心地附上了 HTTP 头文件信息。粗看之下,八九不离十!我一个本本分分的小网站,域名在工信部和公安机关备案多年,博客平稳运行十年,怎么就摊上这事儿了?

HTTP/1.1 301 Moved Permanently
Server: nginx
Date: Fri, 20 Jun 2025 10:27:17 GMT
Content-Type: text/html
Content-Length: 162
Connection: keep-alive
Location: http://www.js96110.com.cn/

HTTP/1.1 200
X-Frame-Options: SAMEORIGIN
Referer-Policy: origin
Content-Security-Policy: object-src 'self'
X-Permitted-Cross-Domain-Policies: master-only
X-XSS-Protection: 1; mode=block
X-Download-Options: noopen
Set-Cookie: name=53upiQDvoAUes8IsHFTncUFTVw**; HttpOnly
Cache-Control: no-cache, no-store, must-revalidate
Pragma: no-cache
Expires: Thu, 01 Jan 1970 00:00:00 GMT
Accept-Ranges: bytes
ETag: W/"28989-1747343718000"
Last-Modified: Thu, 15 May 2025 21:15:18 GMT
Content-Type: text/html;charset=utf-8
Content-Length: 28989
Date: Fri, 20 Jun 2025 10:17:10 GMT

冷静下来后,我决定先验证情况。使用站长工具和 ITDog 等国内测速平台一查,果然发现江苏地区访问全..... [ 阅读全文 ]


原文链接: https://www.shephe.com/life/%e5%8d%9a%e5%ae%a2%e8%a2%ab%e6%b1%9f%e8%8b%8f%e5%b0%81%e7%a6%81/
版权声明: Kevin's Space 版权所有,转载请用明链标明本文地址
本站相关: 随机文章 | 站长微博 | 关于本站 | 联系站长 | 捐助作者

用PHP写了个轻量级的Rss源阅读器——RssX

作者 夜枫's
2025年6月12日 22:11


百忙之中,突然有个一个想法,既然用AI写代码很强,那就上个有难度的,于是就有了这一款阅读器“RssX”,至于为什么叫RssX,那就是随便起的,没有特殊意义。

首先,看上面那张图,就很科幻,当然上面的那张图也是用AI生成的,简简单单。

当然我也博客上部署了,点击这里RssX

简单介绍下这款阅读器:

功能

  1. 包含基本的功能,登录,添加订阅、编辑订阅、订阅采集、订阅浏览,以及可能最需要的api接口;
  2. 程序采用了php语言(博客是php的,当然这个也是用php),程序在php 8.4的环境下写的,低于8.4版本php环境没有测试,应该没问题吧?
  3. 采用了mysql数据库形式存储订阅内容,因为博客也才用的Mysql,效率高;当前博客Mysql数据库版本为MariaDB版10.1.47,导入数据的时候提示报错,主要是KEY值超了,问题不大,已修复,本地数据库版本为9.3.0,没啥问题
  4. 超级轻量级,代码通俗易懂有注释;
  5. 可以配合linux的crontab定时任务刷新,或者用宝塔或者青龙面板,当然我我推荐自己点刷新,更新订阅不需要登录,游客也可点击更新;

安装方式

  1. 解压文件,程序想放哪里放哪里,注意:里面有个文件create_tables0.sql为数据库建表脚本,用数据库管理软件找到SQL命令的地方,粘贴create_tables0.sql内的代码执行。(Ps:如果执行命令时出错,那就试试create_tables1.sql中的命令,最后安装完成后建议删除这两个SQL文件)
  2. 基础配置,用代码编辑器打开config.php,找到数据库配置信息(有完整注释),配置数据库信息,同时有配置管理员账号密码的地方,一定要改用户名和密码哦。
  3. 接下来就是浏览器访问安装的网址和路径,添加订阅源,一些列操作,非简简单。

其他说明

  1. 软件开源,随便改,随便使用,当然也可以一起参与维护,让程序变得更美好
  2. 几个功能模块是是独立运行,功能访问也是访问php文件实现,不过自己可以按需写伪静态,这样看路径就觉得很高级;
  3. 页面的设计和样式非常简单,当然自己有动手能力,可以美化美化;

其他说明
下载地址:RssX_V1.0.0.zip(32KB)
项目地址:https://github.com/yefengs/RssX

给 Hugo 换个主题

作者 LMS
2025年6月7日 21:44

大发的主题用了有一段时间了,总感觉不大适合我,不是八字不和,是形象不符的那种不适合,所以老早就有打算换一个了。

我看大部分 Hugo 主题似乎都做的很华丽,怎么形容不好说,就是感觉大部分静态博客主题都有同样的那种“气质”,一想到自己做的主题那么简单,都不想用 javascript,生存后只有 html 和 css 就好像有点格格不入,破坏了静态博客的“队形”,就一直没有动手。

最后还是动手了,我想起来,我的评论要通过 twikoo,而哔叨页面完全是木木老师的 js 实现的,这两个已经打破了我新主题不用任何 js 的想法了,所以就无所谓了。

动手起来就比较快,单栏就是简单。没用 js 就没做暗色亮色模式切换,直接跟着系统颜色变,这个至少我自己用起来方便,因为我晚上用手机,都是直接用暗色模式。

我的主题简单还有一点是我文章排版简单,大部分时间连图片都没有,所以可以少写一大堆的文章预制 CSS,ul ol h2 blockquote a img 除了这些好像就没有了。这么一说我想起来了,新主题的 blockquote 样式还没定义。

就这样除草一篇。

写了个网页版的提词器软件,就叫“CoCo提词器”

作者 夜枫's
2025年6月3日 23:06

演播室配了俩提词器,题词软件不太好用,于是去年在网上魔改的一个提词器用了一年多,我们的主持人说用着还可以,但是看着臃肿和逻辑混乱的代码,心痒痒,要不我重新写个,顺便挑战下自己。

最近一直在使用 Trae 来淘汰 vscode,要不挑战下,看看 AI 能不能帮我写一个比较实用的工具软件。

经过好几天的研究和迭代,共改进了 40 多个版本,一步一步的实现出来了,当然中间还需要在 Ai 写代码的基础上帮 Ai 改代码,尤其是优化和逻辑的控制。比起之前用的那个上几千行代码的提词器,这个提词器仅仅就不到 600 多行的代码。

目前,基础功能已经完善,后续的话,打算做个快捷键配置界面,用于配置快捷键,比如有些题词的无线遥控器,需要映射对应的按键,才能正常工作。

主打的就是离线使用,当然也可以上传到自己的网站上。

目前版本是 0.1,后续随着功能的叠加,逐步升级吧,当然这个小工具是免费开源的。

下载地址:CoCo提词器_CoCoTeleprompter_v0.1.html

以后的更新全部放在这里,同时也同步到 Github 上,项目地址不出意外的话是 https://github.com/yefengs/CoCoTeleprompter/

使用说明:键盘空格为播放/暂停,方向键⬆⬇翻页⬅➡速度。

版本更新记录

Lucky-canvas 抽奖插件折腾记

作者 林木木
2025年5月31日 20:02

基于 「Lucky-canvas」 抽奖插件,借助 字节跳动 trae 做了个大转盘,全屏显示、替换背景、概率设置、一键导入、边框修改等能想到的和需要的功能都已实现,效果远超预期。

体验地址:https://immmmm.com/dzp/

使用手册 📚

1.打开网址, 右下角“全屏按钮”,右上角是“设置入口”。点击中间开始转动,结束时会弹出中奖内容,并伴有撒花。

2.右上角点击进入“设置”。首次打开,点击安装字体“Aa 年度最可爱”。

3.设置分层两列,左侧显示的奖项名称、中奖概率,可以直接修改或删除。说明:某一奖项的数值是这一项中奖率的“分子”,所有数值总和是“分母”。如“棒棒糖”的中奖率设置的 15,则中奖率是

15/(10+10+……+15+10+10+5)

4.左侧奖项列表下方是 4 个按钮。顾名思义,第 1、2、4 项试试就知。说明一下第 3 项“上传配置”,采用了“上传 txt 文件,一行一条内容”的形式,一键导入。如:本地新建了以下内容「姓氏+空格+中奖数值」

 1
 1
 1
 1
 1
 1

点击“上传配置”,选择 txt 文件,导入即可。所以,如果要换电脑快速导入,只要编辑保存好自己的“奖项.txt”到别的电脑,导入即可。

5.配置右侧,点击可更改转盘配色、指针、内外层转盘背景。

随心搭配,换着玩儿~

致谢

抽奖组件 lucky-canvas 素材大全

🎉

C++的左值/lvalue, 右值/rvalue和右值引用/rvalue references


C++ 左值(lvalue)、右值(rvalue)与右值引用(rvalue reference)

理解 C++ 中的左值、右值及其引用形式,是掌握现代 C++(尤其是 C++11 以后的移动语义/move和完美转发/perfect forwarding)必不可少的基础

📌 什么是左值(lvalue)

左值指的是有名字、可寻址的对象,通常可以出现在赋值语句的左侧。

int x = 10;
x = 20;        // x 是左值
int* p = &x;   // 可以取地址

📌 什么是右值(rvalue)

右值是临时对象,不能被取地址,通常是表达式的结果或字面值常量。

int x = 10;
int y = x + 5;  // x + 5 是右值
y = 100;        // 100 是右值

右值不能出现在赋值语句左侧,且生命周期通常较短。

📌 右值引用(rvalue reference)

C++ 11 引入了右值引用(通过 && 语法),允许我们“捕获”右值。这为移动语义提供了基础。

void process(int& x);   // 左值引用
void process(int&& x);  // 右值引用

int main() {
    int a = 42;
    process(a);        // 调用 int&
    process(10);       // 调用 int&&
}

右值引用通常与移动构造函数、移动赋值运算符std::move 和完美转发/forwarding一起使用。

📊 左值 vs 右值 比较

特性 左值(lvalue) 右值(rvalue)
是否有名称 通常没有
是否可取地址 可以 不可以
是否可出现在赋值语句左侧 可以 不可以
生命周期 受作用域控制 通常是临时的
是否可绑定到 &&

🧪 std::move 与移动语义

std::string a = "hello";
std::string b = std::move(a);  // a 被“移”给了 b

std::move 并不移动对象,它只是把左值强制转换为右值,从而触发移动构造函数或移动赋值运算符。

💡 使用建议

  • 使用左值引用(&
    • 当你需要访问和修改已有变量
    • 不涉及资源转移
  • 使用右值引用(&&
    • 希望接管临时对象的资源
    • 编写移动构造函数或移动赋值
    • 优化性能,避免深拷贝

总结

左值和右值是 C++ 表达式语义的核心。右值引用是现代 C++ 的重要特性,能显著提高资源管理和性能表现。理解它们的区别和用法,是成为高阶 C++ 程序员的基础。

C/C++编程

英文:C++ Lvalue, Rvalue and Rvalue References

本文一共 541 个汉字, 你数一下对不对.
C++的左值/lvalue, 右值/rvalue和右值引用/rvalue references. (AMP 移动加速版本)

扫描二维码,分享本文到微信朋友圈
75a5a60b9cac61e5c8c71a96e17f2d9c C++的左值/lvalue, 右值/rvalue和右值引用/rvalue references C++ C++ 学习笔记 折腾 程序设计 编程 计算机
The post C++的左值/lvalue, 右值/rvalue和右值引用/rvalue references first appeared on 小赖子的英国生活和资讯.

相关文章:

  1. C++中的 const和constexpr 比较 C++ const 与 constexpr:真正的区别是什么? 一眼看都是定义常量。 为什么这很重要 现代 C++ 鼓励编写不可变、高效且表达力强的代码。两个关键字—const 和 constexpr—是这一理念的核心。它们看起来很相似,但理解它们的不同语义,对于正确利用编译期与运行期行为至关重要。 高层次对比 特性 const constexpr...
  2. 简易教程: C++的智能指针 C++ 智能指针教程 C++ 中的智能指针提供了自动且安全的内存管理。它们通过 RAII(资源获取即初始化)机制,帮助开发者避免内存泄漏和悬空指针的问题,确保对象在生命周期结束时被正确释放。 本教程将介绍 C++ 中三种主要的智能指针: std::unique_ptr:独占式所有权 std::shared_ptr:共享式所有权 std::weak_ptr:非拥有式弱引用 1. std::unique_ptr unique_ptr 拥有独占所有权。一个资源只能被一个...
  3. 被动收入之: 微博红包 今年开始重新经营我的微博帐号 drlai 收到两笔微信红包,应该是来自于官方的支持,150元(成功提现到支付宝)。虽然这不能持久,也没多少,但毕竟实现了零的突破,意义重大。 如果流量上来,内容创作者可能会接受到比较多的赞赏,这也是一个比较简单的变现方法。这也能作为一种被动收入,不过如果不是头部网红,可能杯水车薪,但如果你有好几个类似这样的,也能积少成多! 在用户中心,微博用户可以每天登陆手机微博APP打卡,获取点数和少量的红包钱(几分钱),积少成多! 微博做些小任务可获得积分和几分钱。聊胜于无。 微博的主要盈利模式 微博的主要盈利模式主要包括以下几个方面: 广告收入:微博的大部分收入来源于广告,尤其是品牌广告和效果广告。广告形式包括信息流广告(类似于推文广告)、热门话题广告、开屏广告和视频广告。品牌和企业可以利用微博庞大的用户群和社交互动来提升曝光率、推广品牌和产品。 会员服务:微博提供的VIP会员服务,用户可以支付订阅费用来享受更多的特权,比如个性化的主题、特有的表情包、私密权限设置等。这些会员服务主要面向个人用户,提升其社交体验。 直播和打赏:微博提供直播平台,用户可以通过购买虚拟礼物来支持主播,微博会从这些打赏中抽取一定比例的分成。此外,微博与内容创作者分成,通过内容付费、知识付费等形式变现。 增值服务:针对企业和大V(拥有大量粉丝的用户),微博还提供增值服务,如账号认证、粉丝数据分析、精准推送、推广和营销工具等。这些服务帮助企业提升营销效果,同时也增加了微博的收入来源。 电商和导流:微博上有大量的电商导流业务,尤其是和明星、网红的合作推广。微博用户在浏览社交内容时,可以直接跳转到商品购买链接,微博通过这种方式赚取导流佣金。 游戏联运:微博也会与一些游戏公司合作推出联合运营的游戏,微博负责推广和流量引入,用户充值或付费时,微博可以获得一部分的分成。 这些模式相结合,使得微博能够在广告市场、内容创作和电商等多个领域获利。...
  4. 借助AI快速开源了三个小工具: 写代码越来越像做产品了, AI 真把我宠坏了(Vibe Coding) 程序员的未来?Vibe Coding + AI 一起上! 借助 AI 快速开源了三个小工具 最近,我利用 ChatGPT-4o 和 o4-mini 快速开发并开源了三个小工具。起因其实很简单——每次想转换 YAML/JSON 或进行...
  5. 换了个奥迪Q5大灯花了我1000英镑 我那辆奥迪Q5 SUV今年年检没通过,原因是左前车灯坏了,需要更换。车厂告诉我,光是订购零件就要700多英镑,加上人工费,总费用得1000英镑。但没办法,如果不修,车辆年检(MOT)就过不了,车也不能上路。 MOT是英国的机动车强制性安全检测(Ministry of Transport Test)的简称。 近侧前位置灯不工作 drl/位置灯集成(4.2.1(a)(ii)) Nearside Front Position lamp not working drl/position...
  6. 按揭贷款(房贷,车贷) 每月还贷计算器 去年给银行借了17万英镑 买了20万7500英镑的房子, 25年还清. 前2年是定率 Fix Rate 的合同 (年利率2.49%). 每个月大概是还 700多英镑. 有很多种还贷的计算方式, 定率/每月固定 是比较常用的. 简单来说就是 每个月交的钱是...
  7. 你给SteemIt中文微信群拖后腿了么? 这年头不缺算法, 就缺数据. 这两天花了很多时间在整API上, 整完之后自己用了一下还觉得真是挺方便的. 今天就突然想看一看自己是否给大家拖后腿了, 于是调用每日中文区微信群排行榜单的API, 刷刷拿着 NodeJs 练手: 1 2 3 4 5 6...
  8. 通过脚本让电脑实现模拟按键(一直在线功能): VBScript/JScript/PowerShell 本文详细讲诉了用脚本实现定时模拟计算机按键,用于保持系统一直在线的状态。脚本可以使用VBScript、JScript和Powershell。这三种脚本语言都是微软/Microsoft的,不过前两种已经要被淘汰了。 在 Windows 环境下,这三种脚本(PowerShell、VBScript 和 JScript)都通过 CreateObject 来调用 COM 对象 WScript.Shell,以实现模拟按键的功能。例如,可以每隔一分钟模拟按下 Scroll Lock 键一次,从而保持“在线”状态(Keep Alive)。Scroll...

C++中的assert和static_assert的区别


C++ assertstatic_assert 的区别

C++ 提供了两种机制来验证程序中的假设(断言):assertstatic_assert。虽然它们看起来类似,但它们在不同的阶段工作,并且用途也不同。

🔍 assert — 运行时检查/断言

assert 用于在程序运行时验证条件是否成立。如果条件为假,程序会打印错误信息并中止运行。

#include <cassert>

int divide(int x, int y) {
    assert(y != 0);  // 如果 y 为 0,程序会中止
    return x / y;
}

assert 通常只在调试模式下启用,如果定义了 NDEBUG,这些断言会被禁用。

🧱 static_assert — 编译时检查/静态断言

static_assert 在编译期间检查条件是否成立。如果条件不满足,编译器会直接报错,阻止程序编译。

static_assert(sizeof(int) == 4, "此代码假设 int 是 4 字节");

它要求条件是一个常量表达式,特别适合在模板、类型检查或平台限制中使用。

📊 对比表

特性 assert static_assert
检查时机 运行时 编译
是否可被禁用 可以(通过 NDEBUG 不可以
是否需要常量表达式 不需要 需要
失败时表现 程序中止 编译失败
主要用途 调试时的逻辑检查 编译时的类型或平台验证

💡 使用建议

  • 适合使用 assert 的场景:
    • 检查运行时数据或逻辑
    • 验证函数参数或程序状态
    • 只在调试模式下需要检查
  • 适合使用 static_assert 的场景:
    • 验证类型或大小是否符合要求
    • 确保模板参数使用正确
    • 编译时需要强制保证某些条件

总结

assertstatic_assert 都能帮助你更早地发现程序中的问题,但它们发生的时间点不同。static_assert 更适合在编译阶段做静态验证,而 assert 更适合在调试阶段检查运行时逻辑。

C/C++编程

英文:C++ assert vs static_assert

本文一共 479 个汉字, 你数一下对不对.
C++中的assert和static_assert的区别. (AMP 移动加速版本)

扫描二维码,分享本文到微信朋友圈
75a5a60b9cac61e5c8c71a96e17f2d9c C++中的assert和static_assert的区别 C++ C++ 学习笔记 折腾 程序设计 计算机
The post C++中的assert和static_assert的区别 first appeared on 小赖子的英国生活和资讯.

相关文章:

  1. 简易教程: C++的智能指针 C++ 智能指针教程 C++ 中的智能指针提供了自动且安全的内存管理。它们通过 RAII(资源获取即初始化)机制,帮助开发者避免内存泄漏和悬空指针的问题,确保对象在生命周期结束时被正确释放。 本教程将介绍 C++ 中三种主要的智能指针: std::unique_ptr:独占式所有权 std::shared_ptr:共享式所有权 std::weak_ptr:非拥有式弱引用 1. std::unique_ptr unique_ptr 拥有独占所有权。一个资源只能被一个...
  2. C++中的 const和constexpr 比较 C++ const 与 constexpr:真正的区别是什么? 一眼看都是定义常量。 为什么这很重要 现代 C++ 鼓励编写不可变、高效且表达力强的代码。两个关键字—const 和 constexpr—是这一理念的核心。它们看起来很相似,但理解它们的不同语义,对于正确利用编译期与运行期行为至关重要。 高层次对比 特性 const constexpr...
  3. 被动收入之: 微博红包 今年开始重新经营我的微博帐号 drlai 收到两笔微信红包,应该是来自于官方的支持,150元(成功提现到支付宝)。虽然这不能持久,也没多少,但毕竟实现了零的突破,意义重大。 如果流量上来,内容创作者可能会接受到比较多的赞赏,这也是一个比较简单的变现方法。这也能作为一种被动收入,不过如果不是头部网红,可能杯水车薪,但如果你有好几个类似这样的,也能积少成多! 在用户中心,微博用户可以每天登陆手机微博APP打卡,获取点数和少量的红包钱(几分钱),积少成多! 微博做些小任务可获得积分和几分钱。聊胜于无。 微博的主要盈利模式 微博的主要盈利模式主要包括以下几个方面: 广告收入:微博的大部分收入来源于广告,尤其是品牌广告和效果广告。广告形式包括信息流广告(类似于推文广告)、热门话题广告、开屏广告和视频广告。品牌和企业可以利用微博庞大的用户群和社交互动来提升曝光率、推广品牌和产品。 会员服务:微博提供的VIP会员服务,用户可以支付订阅费用来享受更多的特权,比如个性化的主题、特有的表情包、私密权限设置等。这些会员服务主要面向个人用户,提升其社交体验。 直播和打赏:微博提供直播平台,用户可以通过购买虚拟礼物来支持主播,微博会从这些打赏中抽取一定比例的分成。此外,微博与内容创作者分成,通过内容付费、知识付费等形式变现。 增值服务:针对企业和大V(拥有大量粉丝的用户),微博还提供增值服务,如账号认证、粉丝数据分析、精准推送、推广和营销工具等。这些服务帮助企业提升营销效果,同时也增加了微博的收入来源。 电商和导流:微博上有大量的电商导流业务,尤其是和明星、网红的合作推广。微博用户在浏览社交内容时,可以直接跳转到商品购买链接,微博通过这种方式赚取导流佣金。 游戏联运:微博也会与一些游戏公司合作推出联合运营的游戏,微博负责推广和流量引入,用户充值或付费时,微博可以获得一部分的分成。 这些模式相结合,使得微博能够在广告市场、内容创作和电商等多个领域获利。...
  4. 借助AI快速开源了三个小工具: 写代码越来越像做产品了, AI 真把我宠坏了(Vibe Coding) 程序员的未来?Vibe Coding + AI 一起上! 借助 AI 快速开源了三个小工具 最近,我利用 ChatGPT-4o 和 o4-mini 快速开发并开源了三个小工具。起因其实很简单——每次想转换 YAML/JSON 或进行...
  5. 智能手机 HTC One M9 使用测评 虽然我对手机要求不高, 远远没有像追求VPS服务器一样, 但是怎么算来两年内换了四个手机, 先是三星 S4 用了一年多, 然后 Nokia Lumia 635 Windows Phone, 后来又是 BLU, 半年多前换了...
  6. 你给SteemIt中文微信群拖后腿了么? 这年头不缺算法, 就缺数据. 这两天花了很多时间在整API上, 整完之后自己用了一下还觉得真是挺方便的. 今天就突然想看一看自己是否给大家拖后腿了, 于是调用每日中文区微信群排行榜单的API, 刷刷拿着 NodeJs 练手: 1 2 3 4 5 6...
  7. 换了个奥迪Q5大灯花了我1000英镑 我那辆奥迪Q5 SUV今年年检没通过,原因是左前车灯坏了,需要更换。车厂告诉我,光是订购零件就要700多英镑,加上人工费,总费用得1000英镑。但没办法,如果不修,车辆年检(MOT)就过不了,车也不能上路。 MOT是英国的机动车强制性安全检测(Ministry of Transport Test)的简称。 近侧前位置灯不工作 drl/位置灯集成(4.2.1(a)(ii)) Nearside Front Position lamp not working drl/position...
  8. 按揭贷款(房贷,车贷) 每月还贷计算器 去年给银行借了17万英镑 买了20万7500英镑的房子, 25年还清. 前2年是定率 Fix Rate 的合同 (年利率2.49%). 每个月大概是还 700多英镑. 有很多种还贷的计算方式, 定率/每月固定 是比较常用的. 简单来说就是 每个月交的钱是...

通过脚本让电脑实现模拟按键(一直在线功能): VBScript/JScript/PowerShell


本文详细讲诉了用脚本实现定时模拟计算机按键,用于保持系统一直在线的状态。脚本可以使用VBScript、JScript和Powershell。这三种脚本语言都是微软/Microsoft的,不过前两种已经要被淘汰了。

在 Windows 环境下,这三种脚本(PowerShell、VBScript 和 JScript)都通过 CreateObject 来调用 COM 对象 WScript.Shell,以实现模拟按键的功能。例如,可以每隔一分钟模拟按下 Scroll Lock 键一次,从而保持“在线”状态(Keep Alive)。Scroll Lock 键在某些键盘上可能不存在,其作用是切换滚动锁定状态,连续按两次不会对系统造成实际影响。

模拟按键:自动化任务脚本

有时候,你可能想模拟按键(键盘输入),例如为了自动化一些任务,相比查找 API 并写脚本,通过重复按键可能更简单。例如,你想打开任何聊天窗口并输入 “Hello!” 100 次,可以使用 PowerShell 编写一个脚本,它先暂停几秒钟,然后模拟按键。

你可以通过在 Windows 中使用 PowerShell 脚本创建 Wscript.Shell COM 对象来实现。

$WShell = New-Object -com "Wscript.Shell"
$WShell.sendkeys("Hello!")

要重复 100 次,可以在 PowerShell 中使用 FOR 循环:

$WShell = New-Object -com "Wscript.Shell"
for (($i = 0), ($j = 0); $i -lt 10; $i++)
{
    $WShell.sendkeys("Hello!")
    $WShell.sendkeys("{ENTER}")
}

要运行一个 PowerShell 脚本,例如 .ps1 文件,你可以在 PowerShell 提示符中输入该脚本的完整路径。PowerShell 提示符也支持逐行输入 PowerShell 语句。

Powershell 脚本通过按键保持在线

powershell-sendkeys-keep-alive 通过脚本让电脑实现模拟按键(一直在线功能): VBScript/JScript/PowerShell Powershell Powershell 学习笔记 小技巧 折腾 程序设计 计算机 计算机

Powershell每分钟按Scroll Lock键用于保持Keep Alive在线

基于这个方法,我们可以每隔一段时间发送 Scroll-Lock 按键,直到脚本被终止。一些键盘甚至没有 Scroll-Lock 键。这个思路是模拟按键,使你的聊天程序(如 Microsoft Teams、Slack、Discord、Google Chat、Telegram 等)认为你仍然在线,从而不会将你的状态设置为 “离开”(AFK)。

$WShell = New-Object -com "Wscript.Shell"
while ($true)
{
  $WShell.sendkeys("{SCROLLLOCK}")
  Start-Sleep -Milliseconds 100
  $WShell.sendkeys("{SCROLLLOCK}")
  Start-Sleep -Seconds 120
}

VBScript脚本自动按键

Microsoft VBScript 简单又方便。以下是 VBScript 版本。你可以将脚本保存为 .vbs 文件并双击运行。或者在命令行中通过 “start.exe send-keys.vbs” 或 “cscript.exe send-keys.vbs” 运行它(假设脚本名为 send-keys.vbs)。

Dim WShell
Set WShell = CreateObject("Wscript.Shell")
Const ASecond = 1000
Const AMinute = 60000
While True
  WShell.SendKeys "{SCROLLLOCK}"
  WScript.Sleep ASecond
  WShell.SendKeys "{SCROLLLOCK}"
  WScript.Sleep AMinute
Wend

JScript脚本自动按键

Microsoft JScript 类似于 Javascript,也可以在 Windows 上运行。以下是 JScript 版本,你可以用和 VBS 相同的方法来运行。

// alternatively
// var WShell = WScript.CreateObject("Wscript.Shell");
var WShell = new ActiveXObject("Wscript.Shell");
var ASecond = 1000;
var AMinute = ASecond * 60;
for (;;) {
  WShell.SendKeys("{SCROLLLOCK}");
  WScript.Sleep(ASecond);
  WShell.SendKeys("{SCROLLLOCK}");
  WScript.Sleep(AMinute);
}

顺便提一下,JScript 不支持 const 关键字和现代 Javascript 的其他语法特性。

总结

本文展示了如何使用 PowerShell、VBScript 或 JScript 来模拟按键。一种用途就是通过模拟 SCROLLLOCK 按键来让你的聊天软件(如 Slack、Discord、Microsoft Teams、Telegram 等)显示为 “一直在线”。此外,如果你不希望电脑在你离开键盘时进入睡眠状态(尽管可以通过设置来控制),这类脚本也会派上用场。

需要注意的是,由于安全原因,这类脚本(创建 WScript.Shell COM 对象)可能会被公司的安全策略所屏蔽。不过,你仍然可以在 PowerShell 终端中逐行输入命令来绕过限制。

英文:How to Send Keys using PowerShell or VBScript or JScript via WScript.Shell COM Object (Simulate Keystrokes)?

本文一共 723 个汉字, 你数一下对不对.
通过脚本让电脑实现模拟按键(一直在线功能): VBScript/JScript/PowerShell. (AMP 移动加速版本)

扫描二维码,分享本文到微信朋友圈
75a5a60b9cac61e5c8c71a96e17f2d9c 通过脚本让电脑实现模拟按键(一直在线功能): VBScript/JScript/PowerShell Powershell Powershell 学习笔记 小技巧 折腾 程序设计 计算机 计算机
The post 通过脚本让电脑实现模拟按键(一直在线功能): VBScript/JScript/PowerShell first appeared on 小赖子的英国生活和资讯.

相关文章:

  1. Chrome 浏览器上的快速标签链接 我很久之前练手PHP和MYSQL做了一个长网址变短的小工具(免费) https://rot47.net/_url/. 添加记录的表单在: https://rot47.net/_url/add.php 这样还是太麻烦, 因为用户还得拷贝和粘贴网址, 为了方便, 在PHP程序里支持从URL参数里获取想添加的长网址, 比如可以这样使用: https://rot47.net/_url/add.php?p=https://helloacm.com 然后, 我们就可以把下面HTML+JAVASCRIPT的代码放到页面上, 让用户添加成标签(可以直接把这个链接拖到上面的快速标签栏) <a rel="nofollow"...
  2. 新的旅途 – 离别总是伤感的, 离开了一起创业的公司 2周前, 正式离开了一起创业的公司, 这公司是我博士毕业后的第一份正式工作, 待了8年多了, 离别总是伤感的. 我是9月初提的离职, 三个月 Notice Period, 最后的几周交接完工作确实没有什么压力了. 11月30号, 在公司最后一天, 公司有个习惯, 对于 Good...
  3. 租车被收了两份保险钱 前不久去北爱游玩的时候在 booking.com/rentalcars.com 上租了车, 当时一共付了92英镑, 其中36英镑多是保险钱. 然而, 当飞机落地后我去 Budget 取车的时候又交了92英镑钱. 当时我在柜台的时候就有点犹豫, 但是没办法, 必须交, 不交就不给钥匙. 当然92英镑还包括路税. 后来回来就想想不对劲,...
  4. 测测你的幸运 – Linux Fortune-Teller LINUX 下有很好很好玩的命令,之前已经介绍过: figlet, rig, curl. 现在推荐另一个 命令 fortune 是用来随机显示一段(句)话的.fortune 在英文里就是幸运的意思. 这个命令可以不需要 参数 如果没有 可以通过 apt-get...
  5. Minuet in C – 小步舞曲C Posted Youtube – 油管地址 孩子弹琴的时候最帅了. 我现在成了我儿子的粉丝了. Eric (Aged 6) is playing “Minuet in C” when...
  6. 上了年纪痛风脚崴了的惨痛经历(尿酸过高) 痛风是一种疼痛性关节炎, 当血液中的尿酸水平高, 导致晶体形成并积聚在关节内或关节周围, 就会发生痛风. 当人体分解一种叫做嘌呤的化学物质时, 就会产生尿酸. 嘌呤自然存在于您的身体中, 也存在于某些食物中. 尿酸通过尿液从体内排出. 上两周, 和媳妇吵架, 然后就自己一人睡, 有一天起床后脚踝就开始疼了, 然后明显比左脚肿了. 我刚开始就以为是睡觉的时候不小心姿势不对,...
  7. 优衣库 感觉像炒作 这几天 这个在北京三里屯 ‘优衣库’ 试衣间自拍的视频真的很火, 男女主角均被人肉. 不可否认 这个效果还真的不错 因为我之前根本不知道 “优衣库” 是干嘛的 很刺激 在试衣间XXOO是多么爽的事情 女主角 95后妹子 长相甜美....
  8. 今晚可能是英国倒数第三次冬令时时间调整 来英国生活过的人都知道 英国有一个很有意思的夏令时和冬令时时间调整. 夏令时是每年3月份的最后一个星期天凌晨会暴力的把时间往后调整1个小时, 也就是1点的时候很神奇的时间会自动变成2点. 冬令时是相反, 在每年的十月份最后一个周日凌晨暴力的把时间往前调整一个小时, 也就是2点神奇的变成1点. 现在大多数电子设备都能自动调整时间了, 比如你的智能手机和电脑. 但是传统的一些钟表, 还需要人为的调整时间. 夏令时 (Daylight Saving Time)调整的那一天,...

制作了款 wordpress 主题 Cooooo

作者 夜枫's
2025年5月24日 23:42

上一个博客主题《Memorable-lit》,缝缝补补也将就用了六七年,况且,博客也是将近一年多没有更新,好多篇博文静静地躺在了草稿箱里……

这次呢,想着借机写一款主题,形式依然是我喜欢单栏。由于很久不写代码,看到代码很生疏了,外加当前前端技术迭代太快了,好多HTML、css3的新特性和js的ES5、ES6,我处于完全看不懂的状态,这个主题的由来是我平时浏览网站的时候,看到别人好看的风格样式,就扒拉扒拉下来了,有的懒得动脑子,就直接参考和借鉴过来。整个主题是使用字节推出的 Trae CN 编辑器,本地电脑搭建环境,外加用上Trae 的 Ai 来写代码,效率是离谱的高,在这个主题绝大部分代码是使用 Ai 的写的。开发效率是有点高,尤其是在解决一些很复杂的逻辑时,你只需告诉 Ai 程序的基本逻辑,它便生成可用的代码,在前端库的选择, 当然我选择的是 jQuery,其实前端JS可以用原生来实现,但是用着jQuery很顺手,代码简单,一行代码就能搞定的,没必要绕弯。别人都在用高级的Hexo、Hugo 等高级,而我依然选择的是 wordpress,可能懒得折腾、懒得写作时用Markdown,也可能是保持了习惯和旧状态,新特性对我没有吸引力吧。

年初一段时间博客感觉被黑了,博客的插件里出现了一些奇奇怪怪的代码,感觉是木马后门之类的代码,之前博客的版本为4.8,也是年久失修的状态,可能存在能利用的漏洞,导致的博客沦陷,当前,wordpress 最新的版本为 6.8.1,借机新主题就在最新的版本上测试开发,前前后后感觉写了近两个月,部分代码也是参考了大佬们的代码,修修补补,也算是正常跑了起来。

当前博客跑在Nginx + Mysql + php 8.1 下,对于 2 核2G 的云主机来说够用,甚至剩余的算力可以跑跑 docker 里的小应用,整体相对比较顺畅。

这次换主题也顺便修修花、剪剪草和施施肥,对于改造博客我也是下了很大的决心,好在一点点雏形出现到基本能用的状态,也是可喜可贺。当然主题若有问题,欢迎评论区提出,当然这个主题足够完善并且很有必要的话,可能也会开源哦。

博客我加个视频播放器、音乐播放器和全景播放器,想着给博友们分享一些我外出拍摄的一些照片和内容吧。

Hugo 博客换上了 twikoo 评论系统

作者 LMS
2025年4月23日 19:55

用了一段时间大发这个Hugo主题,虽然自带的这个通过cloudflare worker实现的评论系统颜值还行,但没有评论回复通知一直是个痛点。

可能是 wordpress 时期评论回复用习惯了,没了这功能总觉得博客不完整,像是没有归处的浪子,随时都要消失和被遗忘在网络里似的。

刚用大发主题这个评论功能时就有想过能不能自己给它补上这个邮件通知功能,按我想的应该比较简单,无非就是插入评论时触发邮件发送这个特定功能,邮件发送又是通过SMTP,只要找到这个方法就好了。

奈何想的简单做起来难,这个 cloudflare worker 本地测试我都搞不定,通过 AI 试了几次后没反应,一气之下我给换成 twikoo 系统了。

twikoo 是通过 netilfy + mongoDB 部署的,netilfy 默认居然是拒绝大陆注册的,挂了梯子后设置密码又被卡了一道,要求10位数,还得复杂密码,这么复杂密码估计只能用一次了。

部署倒是很顺利,按照 twikoo 官方说明,两下搞定了。然后下载了木木老师的 Hugo 博客代码仓库,翻看了一下评论部分的设置,博客这边也添加成功,只是原来的评论没了,本来想着评论不多看能不能手动迁移,看了twikoo的结构,要的项目还挺多,就放弃了,实在对不住了。

现在的问题是:可能数据库选的是香港地区,离部署twikoo的netilfy比较远,评论打开和加载的速度不是很快。

突然就想着,不知道什么时候突然一个博客就搞得这么复杂了。Hugo 博客代码在 github 仓库,部署在 cloudflare pages,评论系统是 twikoo 但部署在 netilfy,评论数据又在 mongoDB,添加博客内容又在腾讯云自己写的 markdown 编辑器这里……

我想想还有没有漏了啥的。哦,对了,还有博客图片放又拍云。

整体上,现在一个博客就是这么搞得零零散散碎尸万段的感觉。不像以前,一个虚拟机装下所有,哪有什么 前端 后台 数据 分离的,也没人说速度啊安全啊的。现在cpu核数多了,内存大了,硬盘固态了,网络也提速了,带宽也多了,倒是搞得好像更脆弱了。

我觉得吧这些都是 IDC 厂商的套路,就和那吃人的保险公司一样,通过不断的细分来制造焦虑,来 PUA 用户,来攫取最大的利润。

还好只是个博客。

Hugo 博客换上了 twikoo 评论系统

作者 LMS
2025年4月23日 19:55

用了一段时间大发这个Hugo主题,虽然自带的这个通过cloudflare worker实现的评论系统颜值还行,但没有评论回复通知一直是个痛点。

可能是 wordpress 时期评论回复用习惯了,没了这功能总觉得博客不完整,像是没有归处的浪子,随时都要消失和被遗忘在网络里似的。

刚用大发主题这个评论功能时就有想过能不能自己给它补上这个邮件通知功能,按我想的应该比较简单,无非就是插入评论时触发邮件发送这个特定功能,邮件发送又是通过SMTP,只要找到这个方法就好了。

奈何想的简单做起来难,这个 cloudflare worker 本地测试我都搞不定,通过 AI 试了几次后没反应,一气之下我给换成 twikoo 系统了。

twikoo 是通过 netilfy + mongoDB 部署的,netilfy 默认居然是拒绝大陆注册的,挂了梯子后设置密码又被卡了一道,要求10位数,还得复杂密码,这么复杂密码估计只能用一次了。

部署倒是很顺利,按照 twikoo 官方说明,两下搞定了。然后下载了木木老师的 Hugo 博客代码仓库,翻看了一下评论部分的设置,博客这边也添加成功,只是原来的评论没了,本来想着评论不多看能不能手动迁移,看了twikoo的结构,要的项目还挺多,就放弃了,实在对不住了。

现在的问题是:可能数据库选的是香港地区,离部署twikoo的netilfy比较远,评论打开和加载的速度不是很快。

突然就想着,不知道什么时候突然一个博客就搞得这么复杂了。Hugo 博客代码在 github 仓库,部署在 cloudflare pages,评论系统是 twikoo 但部署在 netilfy,评论数据又在 mongoDB,添加博客内容又在腾讯云自己写的 markdown 编辑器这里……

我想想还有没有漏了啥的。哦,对了,还有博客图片放又拍云。

整体上,现在一个博客就是这么搞得零零散散碎尸万段的感觉。不像以前,一个虚拟机装下所有,哪有什么 前端 后台 数据 分离的,也没人说速度啊安全啊的。现在cpu核数多了,内存大了,硬盘固态了,网络也提速了,带宽也多了,倒是搞得好像更脆弱了。

我觉得吧这些都是 IDC 厂商的套路,就和那吃人的保险公司一样,通过不断的细分来制造焦虑,来 PUA 用户,来攫取最大的利润。

还好只是个博客。

为了两叠醋包了两盘饺子

作者 LMS
2025年4月20日 21:50

记账

想记录一下装修房子一共要花多少钱,一开始是用手机记事本记录的,后来看着似乎要越来越乱,于是逮着 Cursor、 Github Copilot 免费额度一顿薅,造了一个重复的轮子,在线记账程序。

自用的,地址就不放了。

既然做了,肯定不是只记装修了,顺手把吃穿住行玩等类别加上。然后想着付款微信、支付宝、银行卡的也给整上去。统计报表也得整,修改密码设置也要有,于是就乱七八糟整了一大堆,不过最后筛选功能没加上,暂时没用就放着后面再加吧。

记账程序
记账程序

Mardown 文件管理

博客换成 Hugo 搬到 github 和 cloudflare 后,更新明显少了许多。主要原因当然是有了二胎,实在是没时间。还有个不可忽略的原因是发布文章太不方便了。

曾试过 Obsidian,也直接在 vscode 上写过,甚至下载了 github 手机 app,但写文章还是麻烦。对比上面的三个,Obsidian 设置同步比较麻烦,github app 写起来比较痛苦,vscode 是最好用的,但是得电脑操作。

于是,我又逮着 deepseek 和 Github Copilot 一顿薅,整了一个 md 在线编辑和管理的程序。

界面参考的是 typecho 后台,只有文章添加、文章管理、分类和标签管理。然后通过浏览器和 api 翻译标题,自动插入一些简单的 md 标签,最后是保存和下载以及一键同步 md 文件到 github 仓库。下载的 md 文件也可以用于复制或上传到 github 使用。

除了一键插入图片到又拍云外,其他都弄完了,趁热发一篇。

AI 还是牛鼻,又拍云问题怎么改都不行,最后我把又拍云官方文档链接丢进去,一下搞定,现在感觉像是给 hugo 弄了后台,解决了发图和发布的问题,爽!

markdown
markdown

❌
❌