MoreRSS

site iconoheng | 飞觞醉月修改

廿四节气和其他一些内容,怀疑节气主要是为了SEO,但其他内容还是有些启发的。
请复制 RSS 到你的阅读器,或快速订阅到 :

Inoreader Feedly Follow Feedbin Local Reader

oheng | 飞觞醉月的 RSS 预览

试一试,灵不灵(414080.com)

2025-03-09 18:06:30

大型企业网站部署中都会有一个“Staging Site”,它是开发和部署流程中的关键组成部分。这是一个测试环境,模拟了实时生产环境,为开发人员、设计师和利益相关者提供了一个在上线前审查更改和测试新功能的平台。

那Staging Site和我这个日活1人的网站有什么关系呢?

前几天我为我的网站启用HTTP/3不太成功。开启HTTP/3后网站卡顿,Dev tools报错,部分插件不能正常工作,这让我不得已又关闭了HTTP/3。
我这个杠精自然不甘心就此罢手,因此萌生了给我这个自娱自乐的网站也安排一个测试环境的打算。

我手头碰巧也有创建一个测试网站所需的基本资源。

  • 一个正好合适的闲置域名:414080.com,谐音:试一试,灵不灵
  • 一个闲置的1C2G2VM:网站迁移到腾讯云前使用的Azure VM
  • 一个方便迁移的备份环境:blogvault.com

说干就干,刷新VM,建LEMP环境,恢复数据。30分钟后我就有了下面这个测试网站。

下面是在测试网站上进行测试的项目

在oheng.com上实施后会在下面的列表里用删除线表示,已在414080.com上部署的有✅标记,高优先级马上就要实施的带⏰标记,仍在计划中的带⏳标记

  1. 将之前上传的图片文件格式由jpg/png等转换为webp⏰
    拥抱新的媒体格式,为博客瘦身
  2. 部署CDN加速⏳
    选择性价比较高的CDN服务
  3. 将图片视频等媒体文件从wordpress 服务器移至第三方图床 ⏳
    让图片,视频独立与博客
  4. 使用AI编写一个文章别名翻译插件,一键将文章的别名通过百度翻译api翻译成英文⏳
  • Cloudflare ✅
    点亮Cloudflare小云朵,测试网站暂时对国内访问性能要求不高,正好可以尝试下大善人Cloudflare的不少功能
    另建了一贴Cloudflare相关内容汇总在一起。
  • Memcached ✅
    oheng.com用的是Redis,测试网站上用Memcached试试。
  • Brotli压缩 ✅
    oheng.com上只使用了Gzip压缩,测试网站上试试Gzip+Brotli
  • HTTP/3 ✅
    启用HTTP/3,判断wordpress网站是否真的适合使用HTTP/3
  • PHP8.4 ✅
    我一直后悔没在建新网站是一步到位用最新版的PHP。现在正好在测试网站上先试试兼容性
    已应用到oheng.com上,具体步骤见链接

WordPress相关的几个技巧 – Part 2

2025-03-09 17:53:18

升级Wordpress所用的PHP

以升级php8.3到php8.4为例

  1. 查看目前php版本
    phv -v
  2. 添加最新PHP的存储库
    sudo add-apt-repository ppa:ondrej/php
    sudo apt update
  3. 安装PHP8.4
    sudo apt install php8.4 php8.4-fpm php8.4-{cli,curl,gd,mysql,mbstring,xml,zip,imagick,intl}
  4. 更新nginx配置文件中的php-fpm调用,以我的/etc/nginx/sites-available/wordpress 为例
    - fastcgi_pass unix:/run/php/php8.3-fpm.sock;
    + fastcgi_pass unix:/run/php/php8.4-fpm.sock;
  5. 重启nginx和php-fpm
    sudo systemctl restart php8.4-fpm nginx
  6. 按老版本更新www.conf运行器池配置
    diff /etc/php/8.3/fpm/pool.d/www.conf /etc/php/8.4/fpm/pool.d/www.conf
  7. 删除老版本PHP
    sudo systemctl stop php8.3-fpm
    sudo systemctl disable php8.3-fpm
    sudo apt-get purge php8.3*
    sudo rm -rf /etc/php/8.3
    sudo apt autoremove

如何在 WordPress 中显示 ☐ , ☑ , ✓ , ✔。

下面是对应的 HTML 图标数位

☐ – &#9744
☑ – &#9745
☒ – &#9746

✓ – &#10003
✔ – &#10004

✗ – &#10007
✘ – &#10008

✅ ❎⏳🗴 🗶 ⮽ 🗵 🗹 🗷

页脚显示页面加载时间的方法

将下面的代码添加到当前主题的 functions.php 文件:

//显示页面查询次数、加载时间和内存占用
function performance( $visible = false ) {
    $stat = sprintf(  '本次加载耗时:%.3fs',
        timer_stop( 0, 3 )
    );
    echo $visible ? $stat : "<!-- {$stat} -->" ;
}

然后可以在需要显示的地方,使用下面的代码进行调用:

<?php if(function_exists('performance')) performance(true) ;?>

中国象棋

2025-03-06 19:46:07

著名国产回合制策略战棋游戏“中国象棋”上次大更新是在距今八百多年的宋朝,此次游戏更新,加入了“炮”棋,丰富了游戏玩法。

中国象棋的版本更新日志

[Version 1.0 – 起源 Beta 阶段]

时间节点:春秋战国(公元前5世纪)——两汉时期(公元3世纪)

  • 主要更新内容:
    • 添加早期概念性玩法:基于古代战争的棋类游戏,如“六博”与“塞戏”。这是象棋的雏形,但玩法更多依赖运气,规则松散,策略性较弱。
    • 游戏目标:模拟战争对垒,初步包含“将”“卒”之类的棋子概念。
  • Note:
    • 这个阶段象棋尚未具有规则完整的机制,逐渐吸取军事思想与哲学“buff”。

[Version 2.0 – Prototype Development 阶段]

时间节点:魏晋南北朝(公元3世纪-6世纪)

  • 主要更新内容:
    • 新增玩法:“象戏”开发上线,棋盘和棋子的正式设计逐渐成型。
    • 引入“攻守对抗”机制,棋子名称吸收“天象”概念(如日、月、星等);棋盘格局变为8×8,初具体系化。
  • Bug修复:
    • “随机性过强”问题开始被削弱,“策略性对抗”得以增强。
  • Note:
    • 这一版本是象棋的重要里程碑,“象戏”成了象棋的前身,逐渐融合战争模拟和文化内涵。

[Version 3.0 – Playable Alpha 阶段]

时间节点:唐朝(公元618-907年)

  • 主要更新内容:
    • **棋子规则优化:**棋子开始引入较为明确的走法,象棋雏形更加清晰。
    • **更新棋盘设计:**重新调整棋盘尺寸,尝试8×8棋盘格局,同时棋子的数量和种类更丰富。
    • **名字改进:**棋子更贴近现实军事名称(如“将”“车”),并新增部分战术规则。
    • **社交功能:**象棋成为文人官员之间互动交流和消遣的重要游戏。
  • Note:
    • 这一阶段的玩家(文人雅士)开始探索一些基础的战略套路,但大多是“沙盒玩法”。

[Version 4.0 – 定型 Stable Version]

时间节点:北宋至南宋(公元10世纪-13世纪)

  • 重大版本更新(核心玩法上线):
    • **棋盘设计定型:**棋盘扩展到“9×10线”,并加入“楚河汉界”机制!两军对战格局清晰,模拟更真实的战争场面。
    • **游戏机制更新:**新增棋子类型“炮”,并设定独特攻击机制(需隔子吃子),强化游戏中的策略深度。
    • **走法明确化:**所有棋子(如车、马、象、士、将、炮、卒)走法固定,变得统一且可计算。
    • **残局模式上线:**首次记录残局研究内容,标志着象棋棋理与理论初步成型。
  • **文化升级:**象棋成为市民文化的重要活动,文献记载表明象棋开始风靡城市,同时成为官场与庶民娱乐的共同选择。
  • Note:
    • 这次更新堪称中国象棋的“革命性更新”,现代象棋经典玩法基本已经形成!

[Version 4.5 – 文献辅助系统更新]

时间节点:元代-明代(公元13世纪-17世纪)

  • 主要更新内容:
    • **棋谱流行:**记录残局和整盘棋局的“棋谱”广泛传播,输出象棋教学内容。
    • **理论大师涌现:**出现了许多象棋理论家,“战术打法”更加系统化(如“当头炮”“屏风马”流派对局)。
    • **新增指南书:**明代《橘中秘》成为象棋理论的重要著作;残局理论进一步突破,残局博弈开始系统研究。
  • Bug修复:
    • 调整部分残局过于偏向一方获胜的现象。
  • Note:
    • 这一阶段象棋文化逐步从娱乐消遣向竞技文化过渡,玩家操作的“上限”逐渐突破。

[Version 5.0 – Competitive Turn-Based Game]

时间节点:清朝(公元17世纪-19世纪)

  • 新功能上线:
    • 新增的“残局挑战”模式大受欢迎,棋坛大师不断制作残局题目。
    • 象棋比赛开始普遍开展:街头巷尾的对局成为生活日常,棋艺高手声名鹊起。
    • **理论创新:**围绕“开局”“攻杀”“残局”体系的战术逐步成熟,出现王再越《梅花谱》等影响深远的棋谱。
  • **文化推广:**象棋成为清代平民文化中最重要的娱乐形式之一,广泛传播至东南亚等地。
  • Note:
    • 象棋正式成为极具中国文化特色的“国民游戏”之一!

精品象棋

我从小就喜欢中国象棋,可就是下不好。现在我知道原因了,主要是因为没有一副好的棋。工欲善其事,必先利其器。我要有这么好的象棋,一定也会好好学棋的。

附:推荐一个中国象棋网站

  • PlayOK 无需注册,秒开秒玩。

二十四节气 – 惊蛰

2025-03-05 16:07:00

春雷隆隆万物长,黄鹂鸣柳垒高仓。
一片园地桃色红,布谷声声茂绿浓。

惊蛰(Awakening from hibernation),于公历3月5-6日交节。动物昆虫自入冬以来即藏伏土中,不饮不食,称为“蛰”;时至惊蛰,阳气上升、气温回暖、春雷乍动、雨水增多,万物生机盎然。而“惊蛰”即上天以打雷方式惊醒蛰居动物的冬眠。这时中国大部分地区进入春耕季节。

  • 惊蛰最开始并不叫惊蛰,而是叫做“启蛰”。到了汉景帝时代,因为汉景帝名为刘启,所以需要避讳。而后来到了唐朝时期,已经没有必要避讳了,所以又重新开始使用“启蛰”这个名字,但是因为“惊蛰”的时间已经有好几百年,所以这个习惯已经改不过来了,惊蛰就沿用至今。
  • 惊蛰吃梨是各地都有流行的习俗。在春季乍暖还寒,气候比较干燥的情况下,吃梨去燥润肺。
  • 惊蛰打小人,这是香港和广东地区非常有名的习俗,人们用草鞋、棍棒在公共地方打出的一个人形布偶,象征赶走霉运,带来好运。打小人通常会在阴暗的地方进行,例如桥底。其中,位于铜锣湾及湾仔之间的鹅颈桥是最知名的地方。打小人的时间大致在每天的09:00至18:00之间。有专门介绍的网站,甚至可以网上下订单打小人
  • 38妇女节当天上海气温:2024年3~12°C

惊蛰 · 三候

节气分为三候,一候为五天,每一候都有相应的物候现象,称为候应。

一候:桃始华

桃花的花芽在严冬时蛰伏,于惊蛰之际开始开花。阳和发生,自此渐盛。

二候:仓庚鸣

仓庚,即黄鹂,黄鹂鸣叫,动物开始求偶。

三候:鹰化为鸠

鹰每年二三月飞返北方繁殖,只有斑鸠飞出来,古人以为春天的斑鸠是由秋天的老鹰变化出来的,意为春气温和,连鹰都变得像斑鸠一样温柔了。

惊蛰期间上海街景

和惊蛰相关的古代诗词

秦楼月/忆秦娥》【宋代】范成大

浮云集。轻雷隐隐初惊蛰。
初惊蛰。
鹁鸠鸣怒,绿杨风急。
玉炉烟重香罗浥。
拂墙浓杏燕支湿。燕支湿。
花梢缺处,画楼人立。

《菩萨蛮·春雨》【宋代】萧汉杰

春愁一段来无影。著人似醉昏难醒。
烟雨湿阑干。杏花惊蛰寒。
唾壶敲欲破。绝叫凭谁和。
今夜欠添衣。那人知不知。

《春日杂兴五首》 宋 陈棣
料峭寒犹薄,阴云带晚烟。雨催惊蛰候,风作勒花开。
日永消香篆,愁浓逼酒船。为君借余景,收拾赋新篇。

近几年惊蛰的具体时刻

  • 2023年惊蛰时间:3月6日 04:36:02,农历 2023年二月(大)十六
  • 2024年惊蛰时间:3月5日 10:22:31,农历 2024年正月(小)廿五
  • 2025年惊蛰时间:3月5日 16:07:02,农历 2025年二月(小)初六
  • 2026年惊蛰时间:3月5日 21:58:43,农历 2026年正月(大)十七
  • 2027年惊蛰时间:3月6日 03:39:14,农历 2027年正月(大)廿九
  • 2028年惊蛰时间:3月5日 09:24:27,农历 2028年二月(大)初十
  • 2029年惊蛰时间:3月5日 15:17:15,农历 2029年正月(大)廿一
  • 2030年惊蛰时间:3月5日 21:02:55,农历 2030年二月(大)初二
  • 2031年惊蛰时间:3月6日 02:50:38,农历 2031年二月(大)十四
  • 2032年惊蛰时间:3月5日 08:39:48,农历 2032年正月(大)廿四
  • 2033年惊蛰时间:3月5日 14:31:54,农历 2033年二月(大)初五
  • 2034年惊蛰时间:3月5日 20:31:54,农历 2034年正月(小)十五
  • 2035年惊蛰时间:3月6日 02:21:08,农历 2035年正月(大)廿七

启用Nginx下的HTTP/3

2025-03-04 15:16:29

在我的网站的Nginx中启用HTTP/2已经是5年前的事了,是时候启用HTTP/3了。

1. 检查并升级Nginx

要运行HTTP/3,Nginx 版本必须是1.25或更高。运行nginx-v检查现有Nginx的版本。如果和我一样是Ubuntu24.04默认安装的1.24.0版本Nginx,需要手动升级。

升级过程并不复杂,按官方文档https://nginx.org/en/linux_packages.html#Ubuntu 来就好了。

升级结束后再运行一下 nginx -V,注意这里是大写的V。确保–with-http_v3_module在输出里就行。

nginx version: nginx/1.26.3
built by gcc 13.2.0 (Ubuntu 13.2.0-23ubuntu4) 
built with OpenSSL 3.0.13 30 Jan 2024
TLS SNI support enabled
configure arguments: --prefix=/etc/nginx --sbin-path=/usr/sbin/nginx --modules-path=/usr/lib/nginx/modules --conf-path=/etc/nginx/nginx.conf --error-log-path=/var/log/nginx/error.log --http-log-path=/var/log/nginx/access.log --pid-path=/var/run/nginx.pid --lock-path=/var/run/nginx.lock --http-client-body-temp-path=/var/cache/nginx/client_temp --http-proxy-temp-path=/var/cache/nginx/proxy_temp --http-fastcgi-temp-path=/var/cache/nginx/fastcgi_temp --http-uwsgi-temp-path=/var/cache/nginx/uwsgi_temp --http-scgi-temp-path=/var/cache/nginx/scgi_temp --user=nginx --group=nginx --with-compat --with-file-aio --with-threads --with-http_addition_module --with-http_auth_request_module --with-http_dav_module --with-http_flv_module --with-http_gunzip_module --with-http_gzip_static_module --with-http_mp4_module --with-http_random_index_module --with-http_realip_module --with-http_secure_link_module --with-http_slice_module --with-http_ssl_module --with-http_stub_status_module --with-http_sub_module --with-http_v2_module --with-http_v3_module --with-mail --with-mail_ssl_module --with-stream --with-stream_realip_module --with-stream_ssl_module --with-stream_ssl_preread_module --with-cc-opt='-g -O2 -fno-omit-frame-pointer -mno-omit-leaf-frame-pointer -ffile-prefix-map=/data/builder/debuild/nginx-1.26.3/debian/debuild-base/nginx-1.26.3=. -flto=auto -ffat-lto-objects -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fcf-protection -fdebug-prefix-map=/data/builder/debuild/nginx-1.26.3/debian/debuild-base/nginx-1.26.3=/usr/src/nginx-1.26.3-1~noble -fPIC' --with-ld-opt='-Wl,-Bsymbolic-functions -flto=auto -ffat-lto-objects -Wl,-z,relro -Wl,-z,now -Wl,--as-needed -pie'

2. 编辑Nginx配置文件

a.编辑nginx.conf文件

sudo vi /etc/nginx/nginx.conf

首先确保TLSv1.3已经被包括在文件里

 # 添加 QUIC 支持的协议版本
ssl_protocols TLSv1.2 TLSv1.3;

再添加Alt-Svc头

        # 添加 Alt-Svc 头,告诉浏览器使用 HTTP/3
add_header alt-svc 'h3=":443"; ma=2592000, h3-29=":443"; ma=2592000, h3-Q050=":443"; ma=2592000, h3-Q046=":443"; ma=2592000, h3-Q043=":443"; ma=2592000, quic=":443"; ma=2592000; v="43,46"';

b.编辑site config文件

sudo vi /etc/nginx/sites-available/xxx.com

在server { }块中添加以下行。

    # 启用HTTP/3
    listen 443 quic reuseport;   # QUIC over UDP
    listen [::]:443 quic reuseport;  # IPv6

c. 保存,退出,测试Nginx配置并重新加载Nginx

nginx -t
sudo systemctl reload nginx

3. 更新防火墙规则

HTTP/3使用 UDP 443端口,记得要在防火墙上打开,一般默认的都只开了TCP 443端口

4. 测试网站的HTTP/3是否已成功启用

可以使用下面两个网站测试网站的HTTP/3是否已处于激活状态。

成功启用后大致是下面的样子。

5. 受挫

我在网站Oheng.com上启用HTTP/3后,感觉没能给我的网点带来什么性能改进,反倒是让我的网站变慢了许多。

2月11日晚

不提了,启用HTTP/3后:

  • 打开网站有时需要1分钟以上
  • Dev tools里满屏的 ERR_QUIC_PROTOCOL_ERROR
  • php log里都是 [pool www] server reached pm.max_children setting
  • 包括WP Super Cache在内的几个插件也不能正常工作了

6. 再战HTTP/3

为了研究HTTP/3受挫到底是国内网络环境的问题,还是我自己的配置问题。我又在我新建的测试网站414080.com上启用了HTTP/3。

重复上面记录的步骤,在五分钟内就搞定了所需的设置。关闭cloudflare代理,打开网站,观察Dev tools里的console记录。发现有两个插件好像和HTTP3有冲突,一直在报错,分别是Optimization DetectiveSimple Cloudflare Turnstile。 Optimization Detective 是Performance Lab插件的一部分,可有可无, Simple cloudflare Turnsitle 对我的意义也不大。直接把这两个禁用了,console里基本就没啥错了。

又测一下网站性能,完全看不出区别,没开HTTP/3的oheng.com还高一分。

好吧,我也没动力在oheng.com再启用HTTP/3了。

7. 后记

可这是我自娱自乐的网站,又有谁关心这性能呢。该有的都要有,该支持的都要支持,能浪就浪。

说话说得好:不在乎天长地久,只在乎曾经拥有。支持过就行了,我网站的HTTP/3配置已被注释掉了。

HTTP/3我们后会有期。。。

斋月 – 不放假

2025-03-01 00:00:00

Eid Mubarak

全球会议间隙,一位国外穆斯林同事给我们科普了穆斯利的斋月。下面是我记住的部分。

什么是斋月?

在全球所有的穆斯林眼中,斋月无疑是一年中最神圣的月份之一。在这个月里,穆斯林们纪念《古兰经》的启示,他们会在昼间禁食饮食,以此方式接近上帝,培养自我控制,感恩和对较不幸者的同情。斋月是一个强烈的精神复兴的月份,穆斯林会用更多的时间阅读《古兰经》并进行特殊的祷告。那些无法斋戒的人,如怀孕或哺乳的女性,病人,老人和儿童,可以被免除斋戒。

斋月是何时进行的?

斋月是伊斯兰日历的第九个月,该日历基于一个约354天的12个月的阴历年。由于阴历年比阳历年短11天,所以每个阴历月每年都会提前11天。阴历月需要33个阳历年才能完成一个完整的周期并返回到相同的季节。传统上,这个月的开始和结束是基于新月的观察确定的。然而,近年来,许多穆斯林根据天文计算选择预定的日期。

斋戒的时间和目的

穆斯林从黎明前到日落斋戒,根据一年中的时间斋戒时长在11-16小时之间,为期29-30天。斋月意味着放弃食物和饮料,如果已婚,还要在日间禁止性行为。对于穆斯林来说,斋月是一个通过避免任何负面行为如八卦,诽谤,撒谎或争吵来锻炼身心的时间。穆斯林将斋月视为自我反思和精神提升的机会,以及成长为道德卓越者的手段。斋月也是一个非常社交的时期,因为穆斯林会邀请彼此一起断斋,并在清真寺集合进行祷告。

斋戒的最终目标是获得对神更深的认知,这在阿拉伯语中被称为敬畏(taqwa),意指对神的持续意识。从这种意识中,人们应该获得纪律,自我约束和做好事避免做坏事的更大动力。为了纪念《古兰经》的启示,这在斋月开始,穆斯林会尝试在斋月期间读完整本书。在特殊的夜间祷告中也会朗诵整本《古兰经》。

穆斯林家庭的日常生活

穆斯林家庭通常在黎明前起床,吃一顿简单的早餐,称为素哈(suhur)。餐后,全家进行早晨的祷告,然后根据情况,回床睡觉或开始新的一天的生活。尤其在漫长的夏季,人们经常在下午工作或上学后的晚些时候小睡一会儿。日落时,家庭成员用一些枣和水,以及根据文化,其他轻食如汤,开胃菜或水果,来破斋。这被称为伊斯塔(iftar),意为“破斋”。完成日落祷告后,全家吃晚饭。在斋月期间,邀请客人破斋或者去别人家破斋是非常常见的。许多家庭之后会去清真寺进行晚祷和特殊的斋月祷告,称为塔拉威祷告(Tarawee)。

特别活动

许多清真寺每天都会举办社区晚宴,穆斯林可以在这里一起开斋。 对于学生、穷人和任何想从烹饪中休息一下的人来说,这是一项很棒的服务。 许多清真寺还在周末举办社区晚宴。大多数清真寺在夜间祈祷后都会举行称为 Taraweeh 的特殊斋月祈祷。 在塔拉维期间,祈祷者至少背诵《古兰经》的三十分之一,这样到月底,整部《古兰经》就会被背诵完毕。由于斋月是穆斯林特别慈善的时期,而禁食可以帮助穆斯林对饥饿和不幸的人产生同情心,因此许多清真寺都会举办食物募捐活动或筹款活动。

附:近几年斋月的具体时间

年份 开始于 结束于
2030 2030年1月5日,星期六 2030年2月4日,星期一
2029 2029年1月16日,星期二 2029年2月14日,星期三
2028 2028年1月28日,星期五 2028年2月26日,星期六
2027 2027年2月8日,星期一 2027年3月9日,星期二
2026 2026年2月18日,星期三 2026年3月20日,星期五
2025 2025年3月1日,星期六 2025年3月30日,星期日
2024 2024年3月11日,星期一 2024年4月10日,星期三
2023 2023年3月23日,星期四 2023年4月21日,星期五
2022 2022年4月2日,星期六 2022年5月2日,星期一
2021 2021年4月13日,星期二 2021年5月13日,星期四