普通视图

Received today — 2026年2月9日

inBox 笔记春节特惠来了,顺便聊聊最近的开发进展

2026年2月8日 08:00
下周就是春节了,先提前祝大家新年快乐。这段时间,后台偶尔会收到用户的私信,问春节期间inBox笔记有没有折扣活动。我想了想,既然大家有这个需求,那就还是照例做一个小小的回馈活动吧。1.春节限时特惠这次活动的力度和往常一样,主打“微利回...
Received yesterday — 2026年2月8日

卡巴斯基引发的网络异常

作者obaby
2026年1月22日 09:27

忘了从什么时候开始,win11的小组件有一直打不开,提示网络异常。当时一度以为各种代理工具修改了系统设置导致的,所以解决方法也简单粗暴,眼不见心不烦,直接关掉了任务链小组件。

然鹅,事情貌似没那么简单,最近系统更新,可能跟系统更新有关,也可能跟卡巴斯基的病毒库有关。昨天晚上想从wps的云文档找点东西,结果发现wps云文档也打不开了。

点击诊断修复提示ssl连接异常。一不做二不休,直接删除所有的代理工具,当然,也尝试了windows的各种网络修复命令。

# 重置网络协议与DNS缓存
netsh winsock reset
ipconfig /release
netsh int ip reset
ipconfig /renew
ipconfig /flushdns

重启之后依然是同样的问题,后来在想是不是杀软的问题。直接退出卡巴基斯,竟然能访问了。开启之后,逐步禁用相关的功能。发现出问题的时候并不是单独防火墙或者安全控制的问题。

单独禁用防火墙没有什么效果,禁用流量扫描也没效果。所以不知道是不是卡巴的兼容问题。

然而,比较坑爹的就是当时买的三年的授权许可,现在还剩300天,尝试去更新卡巴版本的时候,也没看到所谓的新版,而新版是完全不同的一个版本。

并且这个价格感觉比自己买的时候也贵了不少。继续溜达看了下国产的杀软,瑞星;

江民:

金山杀毒:

这么看来还是喜欢青春版,嘻嘻。看着就好看。

目前用的eset,也装了金山青春版,看看后面要不要购买授权许可吧。现在这些国产的杀软价格和国外的区别不大。不过换了之后,网络问题算是解决了。目前就先酱紫吧。

彻底解决WordPress站点健康问题

作者obaby
2026年1月21日 09:29

再次建站的时候,虽然没有重装系统,但是却把系统的php版本升级到了8.4。也放弃了之前编译的php7.4版本的结巴分词,而是直接启了个python的服务

不过,有的东西确一直没解决,那就是从之前的7.4,到现在的8.4版本,站点健康在响应速度慢的时候就会显示:

页面缓存通过保存和提供静态页面使得用户访问时不需要每次都调用页面,进而改善了您站点的速度和性能。

页面缓存会通过查找已启用的页面缓存插件的同时向主页发起三次请求并查找一个或多个下列的 HTTP 客户端响应标头,来确定页面缓存的存在。

cache-control, expires, age, last-modified, etag, x-cache-enabled, x-cache-disabled, x-srcache-store-status, x-srcache-fetch-status.
 服务器响应时间的中位数是 718 毫秒,其应当小于推荐的 600 毫秒临界值。
 未检测到客户端缓存响应标头。
 未检测到页面缓存插件。

虽然,已经开启了redis object cache,但是这个东西时常出现,看着总是不爽。于是下定决心要解决这个问题,其实主要就是nginx的配置问题。通过下面的方法配置就ok了。

1.在 nginx.conf 的 http {} 块中添加(仅需一次)

fastcgi_cache_path /var/cache/nginx/wordpress
    levels=1:2
    keys_zone=WORDPRESS:64m
    max_size=256m
    inactive=60m
    use_temp_path=off;

如果目录不存在,先创建:/var/cache/nginx/wordpress

2.创建wordpress-php-with-cache.conf

# 1. 复制本文件为 wordpress-php-with-cache.conf(去掉 .example),并放到与 zhongxiaojie.conf 同一目录(如 vhost/)
# 2. 若 PHP 版本或路径不同,请修改 fastcgi_pass(见下方说明)
# 3. 在 zhongxiaojie.conf 的 443 server 块中,用 include wordpress-php-with-cache.conf 替换 include enable-php-pathinfo.conf 或 include enable-php.conf
# 4. 若 fastcgi.conf 找不到,请将 include 改为 Nginx 配置目录下的绝对路径,如 /etc/nginx/fastcgi.conf
# 5. 执行:mkdir -p /var/cache/nginx/wordpress && chown -R www:www /var/cache/nginx/wordpress
# 6. nginx -t && nginx -s reload

# fastcgi_pass 常见取值(按实际修改):
#   PHP 8.4 FPM(常见):unix:/run/php/php8.4-fpm.sock
#   PHP 8.2 FPM:        unix:/run/php/php8.2-fpm.sock
#   宝塔:               unix:/tmp/php-cgi-74.sock 等

location ~ [^/]\.php(/|$)
{
    try_files $uri =404;

    fastcgi_pass unix:/run/php/php8.4-fpm.sock;

    # ------ 页面缓存:跳过后台、登录、订阅等 ------
    set $skip_cache 0;
    if ($request_uri ~* "/wp-admin/|/wp-login\.php|/xmlrpc\.php|wp-.*\.php|/feed/|sitemap(_index)?.xml|/cart/|/checkout/|/my-account/") {
        set $skip_cache 1;
    }
    if ($http_cookie ~* "comment_author|wordpress_[a-f0-9]+|wp-postpass|wordpress_logged_in|woocommerce_") {
        set $skip_cache 1;
    }
    fastcgi_cache_bypass $skip_cache;
    fastcgi_no_cache $skip_cache;

    # ------ FastCGI 缓存(依赖 nginx.conf 中 fastcgi_cache_path WORDPRESS)------
    fastcgi_cache WORDPRESS;
    fastcgi_cache_key $scheme$request_method$host$request_uri;
    fastcgi_cache_valid 200 301 302 60m;
    fastcgi_cache_use_stale error timeout updating http_500 http_503;
    fastcgi_cache_lock on;
    fastcgi_cache_lock_timeout 5s;

    fastcgi_index index.php;
    include fastcgi.conf;

    # ------ 检测工具要求的客户端缓存响应头 ------
    add_header X-Cache-Status $upstream_cache_status;
    add_header X-Cache-Enabled "1";
    add_header Cache-Control "public, max-age=3600";
}

3.在网站的配置文件中引入上面的配置信息vim /usr/local/nginx/conf/vhost/zhongxiaojie.com.conf

include wordpress-php-with-cache.conf;

重启nginx 就ok啦

 

WP 访客信息插件 v16.06.99

作者obaby
2026年2月8日 14:20

### v16.06.99

- 版本号更新至 16.06.99
- 新增 **纯真QQWRY** IP 查询方式(qqwry_api:qqwry.dat / ipv6wry.db),无需 Composer
- 新增 **显示协议类型** 选项:在国旗与国家文本后、IP 地址前显示 IPv4/IPv6 图标(img/ipv4.png、ipv6.png)
- QQWRY(IPv4/IpLocation、IPv6/ipdbv6)与 ip2region(xdb)返回完整字段,支持国旗与完整归属地显示
- 图标样式统一:IP 版本图标与 IP 地址图标使用与浏览器/系统图标相同的 vertical-align 等样式

昨天发布了之后,hary反馈说,有更精准的纯真的数据库

当然啦,除此之外,其他的宝子的反馈我也看了,包括对于归属地准确性讨论的。

有的宝子的评论还没来的及回复,后面会回复的哈。在忙着测试hary提供的版本,不过整体测试下来,这个版本的qqwry版本的数据v6归属地精度,的确提高了一大截。

在集成了qqwry版本的数据库之后,目前已经有四种归属地查询方法,大家可以选择自己喜欢的。

并且添加了是否显示协议版本图标的功能,可以显示访客的网络类型。

图标位于插件的img目录下,如果想使用其他图标,直接替换目录下对应的ipv4.png 和ipv6的png即可。

已经内置几组图标,如果要想只显示ipv6的图标,可以用一个空白图标来替换ipv4图标即可。

插件代码:

https://cnb.cool/oba.by/wp-useragent

最新版(插件包含多个ip数据库,尽量使用ftp或者scp上传,wp后台上传可能失败):

https://cnb.cool/oba.by/wp-useragent/-/releases/tag/16.06.99

Received before yesterday

从 DeepSeek 到 Claude Code:AI 发展这一年

2026年2月7日 08:00
今天看一篇文章时提到了DeepSeek,突然意识到一件事:DeepSeekR1的发布,其实是2025年1月的事情。距离现在,满打满算也就刚过去一年。不知道大家是什么感觉?给我的体感是,那仿佛是很久以前的历史了。这一年里发生的事情密度太...

WP 访客信息插件 v16.03.55

作者obaby
2026年2月7日 17:57

我把插件改了个名字,不再叫“WP-UserAgent”了,现在这个东西经过多次迭代,加了很多乱七八糟的东西,显示的重点也不再是评论的ua信息了。

前几天看到关于ip2region的介绍,于是又尝试集成了一次,集成之后发现效果也没有好更多,原来的v6归属地从青岛跑到北京了:

免费版的数据和商业版数据差距依然很大,其实包括纯真之类的也是一样套路,如果数据一样谁还会买商业版呢。尽管如此,我还是给加上了,同时更新了下纯真的数据库。

目前效果就是上面的样子,感兴趣的可以尝试下。

插件代码:

https://cnb.cool/oba.by/wp-useragent

最新版(插件包含多个ip数据库,尽量使用ftp或者scp上传,wp后台上传可能失败):

https://cnb.cool/oba.by/wp-useragent/-/releases/tag/16.03.55

Redis开篇

2021年12月29日 00:00

栏目持续更新中

一、Redis概述

Redis即Remote Dictionary Server(远程字典服务)是完全开源的,使用ANSIC语言编写的,遵守BSD协议的高性能的Key-Value数据库。Redis提供了丰富的数据结构,例如String、Hash、List、Set、ZSet等等。数据是存在内存中的,同时Redis支持事务、持久化、LUA脚本、发布/订阅、缓存淘汰、流技术等多种功能特性,提供了主从模式、Redis Sentinel和Redis Cluster集群架构方案。

Redis的作者是意大利程序员Antirez,作者个人博客:https://antirez.com/latest/

Redis的官网是:https://redis.io,源码位于GitHub上:https://github.com/redis

二、Redis的主要用途

  • 配合关系型数据库快速读取

    主流应用基本都是80%的读取和20%写入,Redis拿来配合MyMQL等实现读写分离,MySQL数据存储在硬盘,关系型数据库需要执行复杂SQL,相比下Redis基于内存按key读取明显效率更高,Redis在一些场景下的使用明显优于MySQL,例如计数器,排行榜,抢红包等。Redis通常用于一些特定场景,需要与MySQL一起配合使用,两者并不是相互替换和竞争关系,而是共用和配合使用

  • 分布式锁

    synchronized关键字和各种锁只能在一个JVM进程中有效,多服务器的集群环境下利用Redis的单线程特点,可以做分布式环境下的并发控制

  • 队列

    Reids提供list和set操作,这使得Redis能作为一个很好的消息队列平台来使用。我们常通过Reids的队列功能做购买限制。比如到节假日或者推广期间,进行一些活动,对用户购买行为进行限制,限制今天只能购买几次商品或者一段时间内只能购买一次,也比较适合适用。

  • 消息中间件

    Reids具有发布订阅消息功能,因此可以作为一个简单的消息中间件来使用,例如修改了数据字典后通知应用程序执行刷新缓存的方法

  • 分布式会话

    将session或token对应的用户信息保存到Redis,实现集群环境下会话共享

三、Redis的优势

  • 性能极高

    Redis能读的速度是110000次/秒,写的速度是81000次/秒

  • 数据类型丰富

    不仅仅支持简单的key-value类型的数据,同时还提供list,set,zset,hash等数据结构的存储

  • 支持数据的持久化

    可以将内存中的数据保持在磁盘中重启的时候可以再次加载进行使用Redis支持数据的备份,即master-slave模式的数据备份

四、Redis版本历史

  • 2009,诞生
  • 2010,1.0,Redis Data Types
  • 2012,2.6,Lua,PubSub,Redis Sentinel V1
  • 2013,2.8,Redis Sentinel V2,IPv6
  • 2015,3.0,Redis Cluster,GEO
  • 2016,4.0,RDB,AOF
  • 2017,5.0,Stream
  • 2020,6.0,ACLs,SSL,Threaded I/O
  • 2022,7.0,ACLv2,Redis Functions,listpack代替ziplist,Multi-part AOF

五、Redis版本规则

Redis版本号第二位是奇数的为非稳定版本,例如2.7、2.9、3.1。第二位是偶数的为稳定版本,例如2.6、2.8、3.0。当前奇数版本就是下一个稳定版本的开发版本,例如3.0就是2.9的稳定版,2.9就是3.0的开发版。

根据官网安全漏洞提示,升级redis6一定要选择6.0.8以上版本,或者直接升级到7。

六、Redis7新特性

  • 多AOF文件支持

    7.0版本中一个比较大的变化就是aof文件由一个变成了多个,主要分为两种类型:基本文件(base files)、增量文件(incr files),请注意这些文件名称是复数形式说明每一类文件不仅仅只有一个。在此之外还引入了一个清单文件(manifest)用于跟踪文件以及文件的创建和应用顺序(恢复)

  • Config命令增强

    对于Config Set和Get命令,支持在一次调用过程中传递多个配置参数。例如我们可以在执行一次Config Set命令中更改多个参数: config set maxmemory 10000001 maxmemory-clients 50% port 6399

  • 限制客户端内存使用 Client-eviction

    一旦Redis连接较多,再加上每个连接的内存占用都比较大的时候,Redis总连接内存占用可能会达到maxmemory的上限,可以增加允许限制所有客户端的总内存使用量配置项。
    redis.config中可以用两种配置形式:指定内存大小 maxmemory-clients 1g、基于maxmemory的百分比 maxmemory-clients 10%

  • listpack紧凑列表调整

    listpack是用来替代ziplist的新数据结构,在7.0版本已经没有ziplist的配置了(6.0版本仅部分数据类型作为过渡阶段在使用),listpack已经替换了ziplist类似hash-max-ziplist-entries的配置

  • 访问安全性增强ACLV2

    在redis.conf配置文件中,protected-mode默认为yes,只有当你希望你的客户端在没有授权的情况下可以连接到Redis Server的时候可以将protected-mode设置为no

  • Redis Functions

    Redis函数,一种新的通过服务端脚本扩展Redis的方式,函数与数据本身一起存储。

  • RDB保存时间调整

    持久化文件RDB的保存规则发生了改变,尤其是时间记录频度变化

  • 命令新增和变动

    1.ZSet(有序集合)增加ZMPOP、BZMPOP、ZINTERCARD 等命令。
    2.Set(集合)增加SINTERCARD命令。
    3.LIST(列表)增加LMPOP、BLMPOP,从提供的键名列表中的第一个非空列表键中弹出一个或多个元素。

  • 性能资源利用率、安全性等改进

    自身底层部分优化改动:Redis核心在许多方面进行了重构和改进:
    1.主动碎片整理V2:增强版主动碎片整理,配合Jemalloc版本更新,更快更智能,延时更低。
    2.HyperLogLog改进:在Redis5.0中,HyperLogLog算法得到改进,优化了计数统计时的内存使用效率,7.x更好的内存统计报告。
    3.如果不为了API向后兼容,我们将不再使用slave(奴隶)一词(政治正确)

七、Redis基础篇

使用Redis前需要编译安装以及进行基本的配置,Redis的编译安装、运行,基本配置和客户端命令使用具体见:

7.1 数据结构

Redis的数据结构指的是Value的数据结构类型,Key都是字符串。Redis官网的介绍:https://redis.io/technology/data-structures/

截止到目前的7.x版本,Redis共有10大数据结构,常用的经典数据结构类型有String、List、Hash、Set、ZSet

序号文章名概述
1Redis数据结构之String字符串
2Redis数据结构之List列表
3Redis数据结构之Hash哈希表
4Redis数据结构之Set集合
5Redis数据结构之ZSet(SortedSet) 有序集合

Redis进化过程中又陆陆续续推出了GEO、HyperLogLog、Bitmap、Bitfleid、Stream这几种更加高级的数据结构

序号文章名概述
1Redis数据结构之HyperLogLog用来做基数统计的算法
2Redis数据结构之GEO地理空间
3Redis数据结构之Bitmap位图,二进制位的bit数组
4Redis数据结构之Bitfleid位域
5Redis数据结构之Stream流,主要用于消息队列

参考

  1. 尚硅谷Redis零基础到进阶,作者:尚硅谷,哔哩哔哩,2023.02.21

两种困境

2026年2月4日 08:00
上周和前同事一起打球,他跟我讲:他们部门解散了,他自己也已经找了一个月的工作。后来他说不想干软件这行了,干了十多年,干够了,不过转头一想,又不知道能干啥,以前也有过一些想法,但仅仅停留在“想”的层面,没有行动。然后就发现,我俩是两个极...

从“苦读教程”到“听 AI 播客”

2026年2月2日 08:00
我之前写过文章分享怎么学编程。熟悉我的朋友都知道,我是科班出身,写了十几年代码。在以前开始入门的时候,我的学习路径非常“传统”:找视频教程、买书、跟着视频一行行敲代码。那是一个“苦读”的过程,获取知识的门槛很高,需要耐心和热爱去筛选和...

路虽远,行则将至:写在蒋羿抵达山海关之际

2026年2月1日 08:00
上周三晚上打开抖音,刷到了我关注已久的博主——蒋羿。视频里,他站在山海关,宣告自己徒步万里长城的挑战,终于画上了句号。看着他在终点大喊、拍照的那一刻,隔着屏幕,都替这个陌生的四川小伙感到高兴。从嘉峪关到山海关蒋羿今年30岁,是个普通的...

语音输入法的爆发前夜

2026年1月31日 08:00
从去年开始,语音输入法迎来了井喷。我看到了很多语音输入法,有手机上的,有PC上的。PC上我注意到一个输入法,大家估计也都看到过,叫Typeless。这个输入法做得很极端,它是一个国外小团队做的。它的输入法打开非常理想主义,或者说非常绝...

用了一周豆包,我还是换回了微信输入法

2026年1月29日 08:00
用了几天的豆包输入法,我还是决定,换回我的微信输入法。上周我写了一篇文章《微信输入法,越来越香了》,当时是因为觉得它的语音输入进步巨大,就很认真的夸了一下,后来文章被推荐,所以吸引了很多人来观摩和讨论。但收到的一大堆留言里,却有大量留...

死磕两晚:一篇硬核教程背后的“体力活”

2026年1月28日 08:00
昨天的文章很有意思。我写了那篇接近四千字的《国内也能用!ClaudeCode完整上手指南》,发布之后,阅读量其实并不高,到现在还不到两千。但转发量涨得特别快,已经快破200了。这应该是我近期转发率最高的一篇文章。这也印证了一个现象:大...

聊聊 Claude Code:它不是工具,它是实习生

2026年1月27日 08:00
如果是我的老读者,应该发现我的编程工具一直在变。从最早推荐Trae到Gemini,到后来的AIStudio,就像神农尝百草一样,我试了很多AI编程工具。但最近一个月,我几乎只用一个工具:ClaudeCode。经常有朋友问我:“咕咚,C...

国内也能用!Claude Code 完整上手指南

2026年1月27日 08:00
如果你关注AI编程,应该听说过ClaudeCode——Anthropic官方推出的AI编程助手。它很强,但国内用户想用有三个坎:问题Claude官方智谱方案价格$20/月(约145元)20元/月起支付需要国际信用卡支付宝、微信网络需要...

体检、投篮、搞 PC 版同步 - 周六琐记

2026年1月24日 08:00
周末总是让人很期待。今天是周六,其实我觉得一周里最开心的一天,应该就是周六了。因为周六休息,玩一天,心里想着”哎,后面还有一天呢”。周日虽然也能休息,但一想到”明天就要上班了”,那种痛苦感就会隐隐约约地冒出来。今天早晨起得很早。因为约...

开源免费:我的公众号封面图生成器

2026年1月23日 08:00
设计微信公众号的封面图,用它就对了:GudongCover。1.缘起我昨天写了一篇文章,介绍自己如何用AI生成封面图。因为我公众号的封面图都是用AI生成的,不过是让AI生成HTML代码。我自己有一套提示词,所以我的封面图其实都是一个风...

到账 24.87 元

2026年1月21日 08:00
大家好,我是咕咚,今天分享一下最近一次的公众号「巨额收益」💰💰💰昨天打开公众号助手后,看了一眼收益:24.87元对我来说,这确实算是妥妥的”巨款”了1.流量主的日常去年我开通了公众号的流量主功能。简单说,就是在文章底部加个广告位,有人...
❌