阅读视图

发现新文章,点击刷新页面。

再建“一个人的论坛”,体验折腾的快乐

再建“一个人的论坛”,体验折腾的快乐 - 第1张图片

2000年工作以后就接触网络,沉迷于中。2003开始搭建网站,最初以dedecms建的娱乐网。其中内容涉及笑话、美图、在线小游戏等,当然都是采集的。当QQ农场大火之后,想着如何来建QQ农场,记不得是一年了,发现DZ论坛里有QQ农场这款插件,便着手搭建论坛。那个时候QQ农场还需要收费,而我的论坛各种游戏全免费,吸引了很大一批用户。当时论坛在QQ农场、牧场以及无心宠物游戏积分与论坛积分互通的基础上,带动了论坛的发展,经过数年的发展,注册量达数万,日IP过千。另外一个论坛是和一位网友合开的“雷友论坛”,这位网友会编程,开发出了当时可以自动刷迅雷积分的一个软件。通过这款软件,论坛聚集了大量的注册用户,鼎盛时期的流量也是非常的可观。上面说的两个论坛后来因为QQ农场的普及、迅雷的没落等而慢慢失去人气。后来在“QQ时空”论坛做超版、也在本地的地方论坛做过管理。可以说,建论坛、管论坛的经历至少也有五六年的时间。 论坛创建容易,但是想要把论坛经营好真的是需要方法。论坛必须要有一个实质性的东西能吸引住大家。论坛建好之后,其实只是做好了一个框架,坛主得要给论坛以灵魂,用户再给论坛注以血肉,这样论坛才会像一个活生生的人呈现在你面前。一个论坛的发展,你必须要有一个“亮点”、要有一个发展的方向,用亮点来吸引人,在你的方向上去发展。也就是说,用亮点来引流。比如我前面说的两个论坛,就是靠免费的QQ农场和迅雷积分这两个亮点来吸引流量。

每个人都是有“虚荣心”和“荣誉感”,应该以这个为契机来让用户参与进行、互动起来。泡论坛和“砍传奇”是一样的,砍传奇是通过砍小怪升级、打BOSS爆好装备,而泡论坛就想过通过发帖来提高等级、通过发优质帖等来获取勋章等。这就是为什么有很多大型的论坛UID、勋章、特殊会员组等能卖到好几百甚至几千块。

对于建论坛这块,我明明知道自己拿不出来什么东西来吸引人,但还是去折腾了,只是想体验下折腾的快乐罢了。前两年经常泡“非主流论坛”,知道非主流论坛是用“修罗”程序后,就着手自己折腾了一个。花了很大的精力在上面,折腾了有两三个月,当然也花了不少钱买了主题和一些插件。对于“修罗”论坛,作者在好多年前就不更新了,导致PHP版本还停留在7.3,另外就是一些好用的插件基本上都收费,找插件花了大量的时间,折腾折腾也就没有热度了。

这段时间经常泡nodeloc论坛,又开始折腾Flarum了。花了一个星期这样的时间,我的“一个人的论坛”功能就初步建成了,https://bbs.laozhang.org。用修罗折腾两三个月,而用Flarum只折腾了一个多星期,这应该利益于Flarum知名度要大、各类插件丰富;另外就是有一群小伙伴,比如https://sx.sd/的热心帮忙与指导;当然,最后还是利益于AI,遇到很多问题,通过AI就能够在较短的时间内完美的解决。

一个人的论坛建好了,Flarum后台也熟悉了,各种插件的功能也了解了,那么接下来就是吃灰了!明知建了论坛没有人气,但是还是折腾了,就是想检验下Flarum、检验下折腾的快乐罢了!

Syncthing多端同步神器win版SyncTrayzor安装及升级内核方法

Syncthing多端同步神器win版SyncTrayzor安装及升级内核方法 - 第1张图片

我在使用Obsidian笔记软件折腾文件同步的时候遇到了多端同步神器Syncthing,在《Obsidian多端同步终极大法Syncthing、备份终极大法Kopia》只是简单的提及一下,至于安装、使用方法并没有过多的去阐述,毕竟官方文档介绍的非常的清楚。我使用Syncthing网络环境是这样的,在办公室的服务器上安装了Docker版的Syncthing,而在家里台式机、办公室台式机、笔记本上则是安装了有GUI界面的SyncTrayzor,在win环境下有系统托盘图标,使用非常的方便。

SyncTrayzor官方文档也有推荐,详细请看官文档https://docs.syncthing.net/users/contrib.html,呵呵,其实也就是一句话介绍。SyncTrayzor的项目地址在https://github.com/canton7/SyncTrayzor,细心的朋友应该会发现,SyncTrayzor最新1.1.29版还是2021年8月份发布的,由于长时间项目没有更新,导致Syncthing从1.28.0升级到1.28.1时不能自动更新。这里老张告诉大家如何在Syncthing更新上避坑,毕竟因为这个升级,周六折腾了半天的时间。

SyncTrayzor版本选择

SyncTrayzor版本我们选择绿色解压版,即SyncTrayzorPortable-x64.zip或是SyncTrayzorPortable-x86.zip,这两个版本亲测在win11上均可完美运行,不要下载安装版,安装版手动更新Syncthing无效。

Syncthing多端同步神器win版SyncTrayzor安装及升级内核方法 - 第2张图片

更新Syncthing

到syncthing的项目地址https://github.com/syncthing/syncthing中下载最新版1.28.1,我们选择syncthing-windows-386-v1.28.1.zip这个版本,解压后将所有文件复制到SyncTrayzor目录的data文件夹下即可。OK,完成升级!SyncTrayzor的安装版没有data目录,即使把升级文件复制到根目录也不成功。

其他推荐syncthingtray

昨天折腾的时候又发现一款Syncthing的win版项目syncthingtray,这个项目更新的更是比较频繁,也安装试用了,但是GUI真的不是太喜欢!有兴趣的可以试试!

使用避坑

在同步文件设置的时候,文件夹ID不要设置为sync。昨天在折腾的时候我无意将文件夹ID设置成了sync,结果发现“全局状态”的文件及文件夹数量是实际数量的两倍,同步进度条只能到50%。(实际是同步完了)

闺女又梦游了!

闺女又梦游了! - 第1张图片

闺女现在七岁了,早就过了分床睡的年龄,但是一直没有敢让她一个人单独睡一个床,原因就是闺女会梦游!

闺女梦游早就有发现,那个时候还没有到闺女分床的年龄,闺女在我们的大床上睡。那会还是夏天,夜里大概是一两点的样子,我们两口子都听到有什么动静,起来一看闺女站在床头和卫生间门中间,问她话是不是起床尿尿的,也不回答。过了那么几秒我正准备起床看看的时候,闺女立马爬到床上嘴里还叽叽咕咕的倒头就睡。第二天早上问闺女说有没有起床尿尿她却说不知道。

大前天的晚上,我带着闺女在她的小床上睡,闺女睡在靠墙的那面,睡到半夜的时候感觉到闺女从我身边爬下了床,我立马问起床干什么呀,结果闺女也不回答,在床头站了有几秒钟后又爬回被窝里倒头就睡,嘴里也还是晃叽叽咕咕些听不清的话。早晨起床后我问闺女说你昨天晚上起床干嘛,她却说一觉睡到天亮!

这是两次下了床走动的梦游,而像睡着睡着突然坐起来叽咕几句话后再倒头睡的现象就比较频繁!

闺女这么大了,其实早就应该让她独立着自己一个人睡,但是因为梦游却不敢让她一个人睡,很多新闻报道都有提到过因为梦游而发生了一些不该发生的事。原来想着到晚上把大门反锁后,再让闺女一个人睡,但是还是不放心。

睡眠行走的病因有哪些? 目前的研究结果表明,可能与睡行症有关的因素包括: ·睡眠不足或睡眠紊乱:睡眠剥夺、长期熬夜、反复倒时差等不良的睡眠习惯可能会引起睡行症。·精神因素:生活压力大、情绪压抑、创伤后应激障碍、惊恐障碍、长期处于焦虑状态或患有焦虑症,也会增加发生睡行症的风险。 ·阻塞性睡眠呼吸暂停:未经治疗或刚开始持续气道正压治疗的阻塞性睡眠呼吸暂停。 ·饮酒。 ·神经性疾病:偏头痛、颅脑创伤、脑炎、癫痫等疾病可能会导致睡行症。 ·遗传:睡行症人群的家庭成员也容易患此病,研究表明可能与遗传有关。目前有学者提出遗传倾向的假说,一些研究也确定了不同的基因位点和遗传模式。

这些是我从网上找的梦游的病因,又单独问了AI“七岁的孩子梦游怎么回事”,它的解释还是比较合理的:

一、生理因素
  1. 神经系统发育不成熟
    • 七岁孩子的大脑仍在发育过程中。在睡眠期间,大脑对身体的控制机制还不够完善。大脑中负责抑制运动行为的神经通路可能尚未完全成熟,使得在睡眠阶段,尤其是深度睡眠阶段,身体的运动抑制机制失效,从而导致梦游。就像一个尚未完全搭建好的 “指挥系统”,在睡眠时偶尔会出现 “指挥失误”,让身体做出行走等动作。
  2. 睡眠周期特点
    • 儿童的睡眠周期与成人有所不同。七岁孩子深度睡眠时间相对较长,而且在睡眠周期转换过程中,大脑的状态可能不够稳定。在从深度睡眠向浅睡眠转换或者在深度睡眠期间,容易出现梦游现象。例如,孩子在入睡后的前 2 - 3 小时内,当处于深度睡眠阶段,大脑可能会错误地触发运动指令,导致孩子起床梦游。
二、心理因素
  1. 压力和焦虑
    • 七岁的孩子在学校或家庭环境中可能会面临各种压力。比如,在学校里面临学习任务的压力,像要学习新的知识、完成作业等;或者在与同学相处过程中产生社交压力,如担心被同学排斥等。这些压力可能会在孩子的潜意识中积累,在睡眠中以梦游的方式表现出来。
    • 家庭环境的变化也会给孩子带来压力。例如,父母争吵、家庭新成员的加入(如新生儿诞生)或者搬家等情况,都可能使孩子感到焦虑不安,进而引发梦游。
  2. 过度兴奋或疲劳
    • 如果孩子在睡前进行了剧烈的运动,如奔跑、跳跃等,或者看了刺激性的电视节目、玩了令人兴奋的游戏,大脑会处于高度兴奋状态。入睡后,这种兴奋状态可能会干扰正常的睡眠进程,增加梦游的可能性。
    • 长时间的疲劳也容易导致梦游。比如,孩子参加了一整天的户外活动,身体和大脑都很疲惫,晚上睡觉时就可能会出现梦游现象。
三、其他因素
  1. 疾病或不适
    • 孩子如果生病,特别是发热,会影响大脑的正常功能。当体温升高时,大脑的代谢和神经信号传导可能会发生改变,从而诱发梦游。
    • 胃肠不适,如胃食管反流,也可能会干扰孩子的睡眠。胃酸反流刺激食管,会产生不适感,这种不适感可能会在睡眠中引发身体的异常反应,包括梦游。
  2. 睡眠环境改变
    • 新的睡眠环境可能会引发梦游。例如,孩子外出旅行换了新的住宿地方,或者房间的布置发生了较大的变化,如更换了新的床铺、重新摆放了家具等。这些环境因素的改变可能会让孩子在睡眠中感到不安,从而导致梦游。

这里面的第二大条和第三大条应该可以排除,最有可能的原因就是第一大条的第一小条“神经系统发育不成熟”。我想着如果接下来的时间梦游的频率增加,准备带闺女去南京儿童医院去看一看了!

唉,还是比较愁人的!

捉鼠记!

捉鼠记! - 第1张图片

要是放在以前,你打死我八顿我也不会相信16楼会有老鼠!

第一次发现县城16楼的家里有老鼠还是在七八年之前。那个时候学校有孩子住校,每周二晚上我需要在学校值班,周三凌晨三点就要到县城大的菜场去监督采购小组买菜。有那么某个周三上早上,我五点多到家之后发现客厅的地面上有很多小小的像小鸟的“血脚印”,仔细观察才确定应该是老鼠的脚印。想着这个老鼠是怎么进家里来的呢,原来是客厅的空调孔没有堵,应该是从这里钻进来的。于是全家出动到处拿东西敲打也没有发现老鼠,估计已经跑到户外去了。赶紧把空调孔给堵了!

这件事也就这去了,可是没过多长时间,家里客厅的七八个孔灯全都不亮了,找维修工来排查发现是电线断了!电线断了!再次确定,原来老鼠把中央空调的风道咬坏跑进了吊顶上把电线咬断了。必须要“灭鼠”,于是在空调风道外放了老鼠药,没过几天,房间里就有臭味,老鼠不知道被药死在哪里了!当时卖老鼠药的老板保证说老鼠吃了药后不会死在房间里,NND,被骗了!房间里臭了有五六天,最后在空调风道里面找到那只死老鼠!恶心死了!

我家的窗台是向外伸了一些,安装了防盗窗后在窗台上用塑料箱子装了土可以种些小菜什么的。前段时间老妈种了一些香菜,明明香菜长出了很高,可是不过两天就不见了!最为严重的时候种的大蒜也不见了好几颗,而且土地被挖了好多个小坑!不用说,一定是老鼠干的!还好这次老鼠是在户外,没有进家里来!

鉴于上次“灭鼠”的经验,这次决定用粘鼠板,花了三十来块钱买了10张。第一天在户外窗台上放了4张,第二天早上发现只有3张了,有一张不见了!真的不见了!估计应该是粘到了大老鼠被拖跑了!第二天把那张给补上,当天晚上还没有睡的时候就听到窗外有老鼠吱吱的叫声,打开窗户一看,那张才换的粘鼠板上粘了三只老鼠。想着也不急着处理,第二天早上换掉吧!你猜怎么着,第二天早上再次一看,又多了一只老鼠!一共粘了四只老鼠!

捉鼠记! - 第2张图片

自那以后,种的香菜、大蒜可以快乐的生长了!

利用雷池WAF,把博客“搬回家”!

利用雷池WAF,把博客“搬回家”! - 第1张图片 这几天在折腾雷池WAF,其实还是很好折腾的。我在《把服务器“藏”起来,让网站快起来!》可能说的不是太直接了当,后来又重新上了一张图,这样看起来更加一目了然。当然,还得要说下硬件环境,就是从海鲜上花了三四十块钱买了阿里云香港轻量24元每月的那款VPS安装雷池作为前端,而后端同样需要采用香港的VPS,这样速度才可以真正快起来。 利用雷池WAF,把博客“搬回家”! - 第2张图片今天就来折腾折腾怎么利用雷池WAF,把博客放在家里的服务器上。

首先介绍下我的硬件环境,家里一台J4125配置了16G内存、1T固态硬盘、4T机械硬盘,这台做成了all in one。ESXI虚拟机做底层,虚拟了爱快做为主路由拨号、Op旁路由、黑群晖,前几天又才折腾了一个debian安装了宝塔准备放网站。网络环境同家里500M电信,上行是40M、公网IP。而外部网络环境就是从海鲜上花了三四十块钱收的阿里云香港轻量24块钱每月的那一款。首先来上个图吧!

利用雷池WAF,把博客“搬回家”! - 第3张图片 博友们访问博客首先向安装了雷池WAF阿里云香港轻量发送请求,由雷池反代后再直接访问了家里的虚拟机上的博客。是的,路线是绕到香港去了,但是这条路线是优质线路,速度方面并没有感觉到慢。下面来说说设置方法吧!

设置动态域名解析、端口映射

家里有公网IP,但是是动态的,每次重启光猫后IP就会变化。我这里是从爱快上设置了动态域名解析,网上教程很多,不再赘述。把相关服务的端口必须要映射出去,这个也是在爱快的操作。

设置域名解析

网站的域名解析IP设置为安装雷池WAF的那台香港轻量。

雷池WAF设置

首先申请证书,傻瓜化,会点鼠标就行;然后就是添加站点。

利用雷池WAF,把博客“搬回家”! - 第4张图片

域名填写你网站的域名;证书选择你刚才申请的证书;上游服务器填写你动态域名解析的那个域名+网站映射出来的端口,如:http://xxx.laozhang.org:5425/

完成以上操作后,你就可以不需要加端口号直接使用域名访问家里虚拟机上的网站了!怎么样,即没有端口号、速度也不慢、还有雷池WAF安全保护,不是美滋滋!

 

 

把服务器“藏”起来,让网站快起来!

把服务器“藏”起来,让网站快起来! - 第1张图片

网站给用户最好的体检就是速度要快,想要网站速度要快,可以把域名备案选国内的服务服务器。但是大家都知道域名备案后把网站放在国内后续会有很多问题。所以很大一部分人就干脆放弃了速度而选择把服务器放在海外。把服务器放在海外,也可以选择对大陆优化的线路,但是这样的线路成本是非常的高。

阿里云香港轻量,那个速度真的是杠杠的,谁用谁知道。但是,24元每月的那款配置只有2C1G的,说真的1G内存真的有点太小了。34块钱每月的配置是2C2G,这款拿来做站还不错,一年408块钱虽然可以接受但是感觉还是有点高。最为重要的一点就是听不少人说阿里云香港轻量虽然线路非常的好,硬件性能却非常的拉,安装个Docker都会把CPU给干爆了。阿里云发放的学生300元优惠卷,用这个卷可以买到一年的2C1G的那一款香港轻量,海鲜上这个卷最初卖30块钱,后来9月中旬新卷被阿里指定商品后老卷涨到了70元,也就是说70块钱可以搞到阿里云香港轻量2C1G款一年时间。

那怎么样花最少的钱让网站的速度飞起来呢,这里老张来谈一谈怎么样花最少的钱让网站的速度最大化。请出今天的主角,雷池WAF。

雷池WAF:网站防护软件,它本质是一个反向代理,架设在网站前面,可以灵活设定各种规则,对所有请求进行过滤,不让黑客"越雷池半步"。它底层基于 Nginx,自带图形操作界面,简单好用。它的核心是智能语义分析算法,用来判断可疑请求,相当于一层自定义的软件防火墙,它在 GitHub 已经收获了12.5K star,目前是全球排名第一的开源 WAF 项目。它可以自己架设,很适合个人和小企业使用。如果你需要防护暴露在公网的 Web 服务器,不妨用它试试看。

目前我准备的方案是阿里云香港轻量作为前端,安装雷池WAF;后端采用HH家的香港性能机(去年黑五推出的一款2刀一个月可以搞到2C6G的香港VPS。),安装宝塔做网站。通过雷池WAF,把阿里香港轻量和HH香港性能机组合起来,既有了HH机器的性能又有了阿里香港轻量的速度,同时还多了一层安全保护。至于花费嘛,和34元每月的阿里香港轻量差不多,但是性能得到了提长、防护上有了保障。

把服务器“藏”起来,让网站快起来! - 第2张图片

雷池的安装、设置非常的简单,不做赘述。这里给大家避一个坑,我在把甲骨文新加坡VPS的两个小破站做雷池WAF反代的时候,出现了一个问题,只要通过雷池反代,wordpress的CSS文件就加载不出来,。AI给出的解释如下:

在使用雷池进行前端代理和后端反向代理时,老张遇到了WordPress样式丢失和后台无法访问的问题。初步分析认为是SSL跳转的问题,但检查后发现实际上宝塔配置没有问题。更深入的分析显示,网站在反向代理期间,由于回源使用HTTP协议,导致WordPress误认为站点也是HTTP,从而加载了错误的资源(CSS、JS等),最终导致样式丢失和重定向过多的错误。

为了解决这一问题,建议采取以下步骤:

  1. 确保前端使用HTTPS,回源采用HTTP:这样可以利用Cloudflare(CF)的证书,免去直接在源服务器上处理SSL证书的烦恼,简化维护和更新。
  2. 更新WordPress配置:在wp-settings.php文件中添加$_SERVER['HTTPS'] = 'on';一行代码,以强制WordPress将网站协议识别为HTTPS,这样可以防止出现HTTP资源加载的问题。

通过以上方法,最终达到了正确加载资源并解决了访问问题,确保了WordPress的正常运行。

具体原因可以看NL论坛坛主的文章分析《WordPress 反代后,css丢失或者后台进不去的问题的解决》,解决的方法是编辑 wp-settings.php ,在 <? php 下增加一行

$_SERVER['HTTPS'] = 'on';

把服务器“藏”起来,让网站快起来! - 第3张图片

 

 

 

WordPress首页调用typecho方法!

Wordpress首页调用typecho方法! - 第1张图片

前段时间花了那么多的时间折腾了《WordPress首页调用memos方法!》后,怎么又来折腾Wordpress首页调用typecho呢!原因有这样的两点,首先memos的作者对memos的更新真的是太随意了,每次版本的升级,你会想不到他会把什么功能给删掉、或是更想不到把数据库的结构给改了、还有就是随意改变API的接口。也正因为他的随意,一部分人还保持在低版本来使用,另外一部分人就是直接弃用了,所以我想着说不定哪一天也会弃用memos。另外的一个原因就是除了老张博客之外,我还有一个老张随笔,一直保持每日一更新,字数都是在二百字,就像朋友圈一样,最初是用typecho程序,后来改用memos,目前那个typecho上面还放着一千两百多篇随笔。我想与其这样牵强的用着memos,不如退回来用typecho算了。

有了上面的想法后,就想着把我的wordpress和typecho来个“整合”,在wordpress调用typecho的首篇文章。有了上一次的折腾,这次算是轻车熟路了,前前后后的折腾有两个小时。通过这次的折腾,让我对AI又有了新的认识,上次我认为是“豆包最聪明”,结果经过这次的“折腾”发现把相同的问题多次的提问同一个AI,每次他给出的答案也是不一样的。单单就响应速度来说,官方的GPT最为快,所以这次代码就是借助官方GPT来完成的。话不多说,直接上代码吧!

忘了一个重要的事: typecho本身没有提供API接口服务,这里我找到一款插件,Restful,安装后直接启用就行,因为我是直接调用文章的,其他的API接口就被我给关了!

1.把下面的代码插入到主题文件的index.php合适位置。

<?php
$data = fetch_typecho_data();
if ($data):
?>
<div class="latest-update" style="background-color: #f8f8f8;">
<div class="latest-update-header">
<h2>最新动态</h2>
<span class="latest-update-time"><?php echo esc_html($data['time_content']); ?></span>
</div>
<div class="latest-update-divider"></div>
<div class="latest-update-content"><?php echo esc_html($data['content']); ?></div>
<div class="latest-update-images">
<?php foreach ($data['image_content'] as $img_url): ?>
<a href="<?php echo esc_url($img_url); ?>" data-lightbox="latest-update-gallery">
<img src="<?php echo esc_url($img_url); ?>" alt="Image">
</a>
<?php endforeach; ?>
</div>
<div class="latest-update-footer">
<span class="latest-update-tag"><?php echo esc_html($data['tag_content']); ?></span>
<a class="latest-update-link" href="<?php echo esc_url($data['link_content']); ?>" target="_blank">查看全文</a>
</div>
</div>
<?php endif; ?>
<script src="https://cdnjs.cloudflare.com/ajax/libs/lightbox2/2.11.4/js/lightbox-plus-jquery.min.js"></script>
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/lightbox2/2.11.4/css/lightbox.min.css">

2.把CSS样式代码放置到主题CSS定义设置里,当然也可以直接放到style.css中。


/* 首页调用typecho样式 */
.latest-update {
    width: calc(100% - 40px); /* 设置宽度为100%减去40px,确保有左右边距 */
    background-color: #f8f8f8 ; /* 强制设置背景颜色为浅灰色 */
    border: 1px solid #ddd; /* 添加1像素的灰色边框 */
    border-radius: 10px; /* 圆角边框,半径为10px */
    padding: 20px 20px 10px 20px; /* 内边距,上下10px,左右20px */
    margin: 20px 0; /* 外边距,上下20px,左右0 */
    text-align: left; /* 文本左对齐 */
    margin-top: -10px; /* 减少与顶部的距离为0 */
    margin-bottom: 30px; /* 增加与文章列表的距离为40px */
    margin-right: 20px; /* 设置右边距为20px */
}

.latest-update-header {
    display: flex; /* 使用弹性盒模型布局 */
    justify-content: space-between; /* 头部元素左右分散排列 */
    align-items: center; /* 垂直居中对齐 */
    margin-bottom: 10px; /* 头部与下方内容的外边距为10px */
}

.latest-update h2 {
    font-size: 15px; /* 标题字体大小为15px */
    margin: 0; /* 去除默认外边距 */
    padding-left: 0px; /* 左边填充为0 */
}

.latest-update-time {
    font-size: 14px; /* 时间字体大小为14px */
    color: #666; /* 时间文本颜色为中灰色 */
    margin-right: 0px; /* 右边距为0 */
}

.latest-update-divider {
    border-bottom: 1px solid #333; /* 添加底部边框,颜色为深灰色 */
    margin: 10px 0; /* 上下外边距为10px */
}

.latest-update-content {
    text-align: left; /* 内容文本左对齐 */
    line-height: 1.5; /* 行高设置为1.5倍 */
    margin: 10px 0; /* 上下外边距为10px */
}

.latest-update-images {
    text-align: left; /* 图片区域文本左对齐 */
    margin: 10px 0; /* 上下外边距为10px */
}

.latest-update-images img {
    width: 100px; /* 图片宽度为80px */
    height: 75px; /* 图片高度为80px */
    object-fit: cover; /* 图片覆盖方式,保持比例并裁剪 */
    border-radius: 8px; /* 图片圆角,半径为8px */
    box-shadow: 0 4px 10px rgba(0, 0, 0, 1); /* 添加阴影效果 */
    margin: 3px; /* 图片外边距为5px */
    transition: transform 0.3s, opacity 0.3s; /* 添加平滑过渡效果 */
}

.latest-update-images img:hover {
    transform: scale(1.1); /* 鼠标悬停时放大10% */
    opacity: 0.9; /* 鼠标悬停时透明度降低到0.9 */
}

.latest-update-footer {
    display: flex; /* 使用弹性盒模型布局 */
    justify-content: space-between; /* 底部元素左右分散排列 */
    align-items: center; /* 垂直居中对齐 */
    margin-top: 10px; /* 底部与上方内容的外边距为10px */
    padding-top: 10px; /* 上内边距为10px */
    border-top: 1px solid #ddd; /* 添加顶部边框,颜色为浅灰色 */
}

.latest-update-tag {
    background-color: #e0e0e0; /* 标签背景颜色为淡灰色 */
    border-radius: 5px; /* 标签圆角,半径为5px */
    padding: 5px 10px; /* 内边距,上下5px,左右10px */
    font-size: 14px; /* 标签字体大小为14px */
}

.latest-update-link {
    text-decoration: none; /* 去除链接的下划线 */
    color: #0073aa; /* 设置链接颜色为蓝色 */
    font-size: 14px; /* 链接字体大小为14px */
}
/* 首面调用typecho结束 */

3.把下面代码插入到主题functions.php文件中。


//-------首页调用typehco代码-----开始
function fetch_typecho_data() {
    $api_url = "https://suibi.zhangbo.net/api/posts?pageSize=1";
    $response = wp_remote_get($api_url);
    if (is_wp_error($response)) {
        return;
    }
    $body = wp_remote_retrieve_body($response);
    $data = json_decode($body, true);

    if ($data['status'] !== 'success' || empty($data['data']['dataSet'])) {
        return;
    }

    $post = $data['data']['dataSet'][0];
    
    // 1. 链接内容
    $link_content = "https://suibi.zhangbo.net/archives/" . $post['cid'] . ".html";
    
    // 2. 标签内容
    $tag_content = "#" . $post['categories'][0]['name'];
    
    // 3. 时间内容
    $created_time = (int)$post['created'];
    $current_time = time();
    $time_diff = $current_time - $created_time;
    
    if ($time_diff < 3600) {
        $time_content = floor($time_diff / 60) . "分钟前";
    } elseif ($time_diff < 86400) {
        $time_content = floor($time_diff / 3600) . "小时前";
    } elseif ($time_diff < 2592000) {
        $time_content = floor($time_diff / 86400) . "天前";
    } else {
        $time_content = date("Y年m月d日", $created_time);
    }
    
    // 4. 摘要内容
    $digest = strip_tags($post['digest'], "");
    $content = mb_strlen($digest, 'UTF-8') <= 200 ? $digest : mb_substr($digest, 0, 200, 'UTF-8') . "......";
    
    // 5. 图片内容
    preg_match_all('/<img.*?src=["\'](.*?)["\'].*?>/i', $post['digest'], $matches);
    $image_content = $matches[1];

    return [
        'link_content' => $link_content,
        'tag_content' => $tag_content,
        'time_content' => $time_content,
        'content' => $content,
        'image_content' => $image_content
    ];
}

 

 

 

 

WordPress首页调用memos方法!

WordPress首页调用memos方法! - 第1张图片

老张一直想把wordpress和memos能整合在一起,前几天在段先生的博客上看到了教程,便死皮赖脸的问他方法,原来是AI搞定的。刚开始的时候是直接拿段先生的用,但是里面有一些达不到自己想要的效果。比如段先生是从memos的RSS文件里取数但,如果memo里有多篇图片的话,RSS只能输出一张链接地址,其他找不到。通过找木木大佬,用了他提供的《Memos API 非官方不完全说明》便可以解决。另外在CSS布局上也不是自己想要的效果,便想着自己也来让AI搞吧!

让AI帮你写代码,你必须要学会怎么样能更好的和AI对话,必须要有一点点的代码基础,才能把把问题问在点子上。我在把memos的API输出的数据模式先告诉AI,然后再提出自己的要求,要求如下:

我想在wordpress获取memos的api发布第一条动态内容,API的链接地址是https://zhangbo.net/api/v1/memo?creatorId=1&rowStatus=NORMAL&limit=1 ,内容格式如下:
按以下要求进行操作:
1.读取第一个"id"后面的数据,并形成“https://zhangbo.net/m/+“id后面的数据”” 做为链接,赋值给变量$link_content
2.读取"content"后面的数据,读取以#号开始、空格结束的内容,并在前面加#号后赋值给变量$tag_content。
3.读取"createdTs"后面的数值,转化为时间后与当前时间计算时间间隔。时间间隔为1小时内的,以时间间隔+“分钟前”赋值给$time_content;时间间隔为24小时内的,以时间间隔+“小时前”赋值给$time_content;时间间隔为30天内的,以时间间隔+“天之前”赋值给$time_content;时间间隔超过30天的,直接以“年月日”形式赋值给$time_content。
4.读取"content"后面的数据,排除“![]()”图片形式、排除#、#及空格前的内容后,赋值给$content。
5.读取"content"后面的数据,如果有“![]()”图片形式,将()内的图片链接赋值给$image_content;如果"externalLink": 后面有数据,赋值给$image_content;如果"filename"后面有数据,将以“https://zhangbo.net/o/r/+filename上第四行ID后的数值+"filename"的数据”赋值给$image_content。如果以上情况都存在,那将以数值组形式赋值。
以上生成的代码,将保存在wordpress的主题文件functions.php中以便调用。
按以下要求生成CSS代码
1.对于在首页展示的要求,在首页文章列表上方,与首页文章空两行
2.显示框宽度100%、背景灰色、四角椭圆。
3.第一个DIV展示框以"h2”格式展示“最新动态”四个字、靠左对齐、左边距空20px;务必同一行展示$time_content值,右居中对齐,右边距空20PX
4.第二DIV插入细实线、深灰色
5.第三DIV展示$content值
5.第四DIV展示$image_content值的缩略图,缩略图四角椭圆并有阴影,如果多图从左往右排列。并按确保引入 Lightbox.js,也写入到本代码中,达到点击放大效果
6.第五DIV靠左对齐展示$tag_content值,背景灰色并四角椭圆,靠右展示“点击评价”点击链接到$link_content。
再生成输出代码以便插入在首页文件index.php,以便在首页显示。/

我分别测试了官方GPT、三方GPT和豆包,结果是官方GPT直接来句“问题太复杂,请分类进行提问”,三方GPT给出的代码效果完全不对,而豆包给出的代码基本上达到要求。当然,还是由于自己的表述,导致代码在图片显示这块有些问题。今天中午利用几分钟时间,进行了修改,对获取图片链接地址重新让AI写,我是这样提问的:

我现在的要求是其他代码不需修改,只对获取图片链接重新按以下要求来修改
1.读取"content"后面的数据,如果有“![]()”图片形式,将()内的图片链接赋值给$image_content;
2.获取  "resourceList": []的中括号里数据,这是图片组,每组以{}进行区分,查询每个{}内的"externalLink",如果"externalLink": 后面有数据,赋值给$image_content;如果"externalLink"无数据,则以“https://zhangbo.net/o/r/+该图片id+"filename"的数据”赋值给$image_content。
如果以上情况都存在,那将以数值组形式赋值。

经过这样的修改,图片才得要正确显示。后来又陆陆续续的修改了CSS样式,最终达到目前的效果。

现在把相关代码贴给大家吧,需要的自取,不合自己要求的,也可以让AI帮你来修改。

1.把下面的代码插入到主题文件的index.php合适位置。

 <?php
$memoOutput = processMemoData();
if ($memoOutput) {
echo $memoOutput;
}
?>
<script src="https://cdnjs.cloudflare.com/ajax/libs/lightbox2/2.11.4/js/lightbox-plus-jquery.min.js"></script>
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/lightbox2/2.11.4/css/lightbox.min.css">/* Your code... */

2.把CSS样式代码放置到主题CSS定义设置里,当然也可以直接放到style.css中。


/* 首页调用memos效果---开始 */
/* 缩小与顶部距离,增加与首页文章列表距离 */
.memo-display {
    margin-top: 0px; /* 减少与顶部的距离 */
    margin-bottom: 40px; /* 增加与文章列表的距离 */
    margin-right: 40px; /* 设置右边距为20px */
    width: calc(100% - 40px); /* 计算宽度以适应右边距 */
    background-color: #f2f2f2;
    border-radius: 10px;
    padding: 20px;
    border: 1px solid #ccc; /* 添加细线边框,颜色为浅灰色 */
}


/* 第一个 DIV:展示“最新动态”和时间 */
.memo-header {
    display: flex;
    justify-content: space-between;
    align-items: center;
}
.memo-header h2 {
    margin-left: 0px;
}

.memo-header span {
    margin-right: 0px;
}

/* 第二 DIV:插入细实线、深灰色 */
.memo-divider {
    border-top: 1px solid #999;
    margin: 10px 0;
}

/* 第三 DIV:展示内容 */
.memo-content {
    margin-bottom: 10px;
    line-height: 1.5; /* 或者可以使用具体的像素值,如 1.5em 或 24px */
}
/* 第四 DIV:展示缩略图 */
.memo-images {
    display: flex;
    flex-wrap: wrap;
}

.memo-images img {
    border-radius: 10px;
    box-shadow: 0 0 10px rgba(0, 0, 0, 0.3);
    margin-right: 10px;
    cursor: pointer;
    transition: transform 0.3s ease; /* 添加过渡效果 */
}

.memo-images img:hover {
    transform: scale(1.1); /* 鼠标悬浮时放大 */
}

/* 第五 DIV:展示标签和链接 */
.memo-footer {
    display: flex;
    align-items: center;
    margin-top: 10px; /* 设置与上面容器的距离为 30px */
}

.memo-footer div:first-child {
    background-color: #9999;
    border-radius: 6px;
    padding: 5px 10px;
    margin-right: 10px;
}

.memo-footer a {
    text-decoration: none;
    margin-left: auto; /* 靠右对齐 */
    margin-right: 0px; /* 右边距 20px */
}
/* 首页调用memos效果---结束 */

3.把下面代码插入到主题functions.php文件中。

/* Your code... */
//-------首页调用memoe代码-----开始
function getTimeContent($createdTs) {
    $current_time = time();
    $time_diff = $current_time - $createdTs;
    static $cachedTimeContent = null;
    static $lastCreatedTs = null;
    if ($lastCreatedTs === $createdTs) {
        return $cachedTimeContent;
    }
    if ($time_diff  100) {
        $substr_content = mb_substr($content, 0, 100, 'UTF-8');
        $last_char = mb_substr($substr_content, -1, 1, 'UTF-8');
        $last_char_ascii = ord($last_char);
        while ($last_char_ascii  126) {
            $substr_content = mb_substr($substr_content, 0, -1, 'UTF-8');
            $last_char = mb_substr($substr_content, -1, 1, 'UTF-8');
            $last_char_ascii = ord($last_char);
        }
        $content = $substr_content. '......';
        $link_text = '查看原文';
    } else {
        $link_text = '点击评价';
    }

    $content_without_tags_and_images = preg_replace('/#.*? /', '', $content);
    $content_without_tags_and_images = preg_replace('/!\[.*?\]\(.*?\)/', '', $content_without_tags_and_images);
    $content = $content_without_tags_and_images;

    // 构建输出内容
    $output = '
'; $header = '

最新动态

'. $time_content. '
'; $divider = '
'; $contentDiv = '
'. $content. '
'; $imagesDiv = ''; if (!empty($image_content)) { $imagesDiv = '
'; foreach ($image_content as $image_link) { $imagesDiv.= 'Image'; } $imagesDiv.= '
'; } $footer = '
'. $tag_content. '
'. $link_text. '
'; $output.= $header. $divider. $contentDiv. $imagesDiv. $footer; $output.= '
'; return $output; }

OK,结束!折腾十几个小时,就是出了这篇教程!!

完美实现手机照片自动上传至NAS并同步到网盘!

完美实现手机照片自动上传至NAS并同步到网盘! - 第1张图片

昨天一天时间,博客群里都是在谈论NAS,这又把我折腾的心勾的痒痒。对于NAS,我一直的观点就是自己DIY不买成品,买成品的价格至少要贵上1倍。在2019年的时候就折腾过NAS,那个时候买的都是矿渣,先是买了蜗牛星际,后来《上车了!暴风播酷云二期“开包”记!》。为了折腾NAS,单独买了两块4T的红盘,但是,但是后来其中一块硬盘还没有到一年时间就挂掉了。虽然免费换了新,但是里面的数据没有了,还好里面存的都是一些电影而不是重要数据。至此,NAS会坏硬盘这个阴影一直存在脑子里。没多久,就把暴风二期给卖了。

昨天我说出我对NAS存在坏硬盘的阴影时,老刘说我这是因噎废食。想想也是,NAS上硬盘坏了的直接原因是硬盘本身的质量问题,而不能去怪Nas。那就把吃灰的NAS重新折腾起来吧。目前我的硬件环境是用的J4125小主机外拖一个硬盘盒,里面是拆机的硬盘1T和4T各一块,搞的all in one。选用ESXI做的底层,ikuai爱快做主路由拨号,openwrt做旁路由负责科学等,另外通过一键脚本安装了黑群晖DSM。J4125主机资源还没有用完,准备再搞个Debian来折腾。那个黑群晖自安装后就一直吃灰,后来干脆把电源都给关了,昨天晚上回到家,才连上ESXI给NAS开了机。

如何将手机里的照片自动上传到NAS,并自动同步到网盘呢?这里我们需要用到这样的两个套件Synology Photos和Cloud Sync,两个都是官方套件,直接安装即可。

完美实现手机照片自动上传至NAS并同步到网盘! - 第2张图片完美实现手机照片自动上传至NAS并同步到网盘! - 第3张图片

Synology Photos 是 Synology NAS(网络附加存储)设备上的一款强大的照片管理和共享应用程序。它集成了照片存储、管理、备份和分享等功能,旨在为用户提供一个安全、高效的照片管理解决方案。以下是一些 Synology Photos 的主要功能和特点:智能分类和搜索、多设备同步、分享功能、高效的备份解决方案、照片编辑。相册管理等。

Cloud Sync 是 Synology NAS 提供的一个功能,允许用户将本地 NAS 数据与云存储服务(如 Google Drive、Dropbox、OneDrive 等)进行同步。这个功能非常适合需要备份数据、实现数据冗余或在不同设备间访问文件的用户。以下是 Cloud Sync 的主要功能、使用场景以及设置步骤。主要功能:双向同步、单向同步、增量同步、自定义同步规则、版本控制、调度同步、文件过滤等。

手机上需要安装Photos这款APP,直接从群晖的官方网站下载。Photos这款APP是和群晖上Synology Photos是配套使用的,都是属于照片管理器。

具体使用方法不再多去赘述了,傻瓜式的安装、使用。简单原理就是通过手机Photos这款APP和群晖Synology Photos套件配合把手机照片自动上传至NAS,再通过Cloud Sync 自动同步到各大网盘等。今天早上测试了下,手机刚刚拍的照片,到百度网盘上就可以看到了,真的是实现了秒传。

这样,所拍摄的照片,手机→NAS→网盘,全自动化,再也不用担心硬盘坏掉了!

近期想搞个高配一点的小主机做个all in one,基本要求32G内存、2块4T硬盘、CPU嘛12300T或以上、多网口网卡等,要小,可以放在鞋柜里。大家有什么可以推荐的嘛!价位在3000以下!

 

 

 

写在老张博客十五周年

写在老张博客十五周年 - 第1张图片

真的没有刻意去记今天,只是今天偶尔看网站信息时,才注意到建站时间是2009年10月9日,算到今天,正好是十五周年。到我提笔止,老张博客十五年里,不包括本篇共发布了787篇文章。评论数为18412条,其中应该有一大半是我回复评论。浏览总次数为5230094次,乍看这523万浏览量蛮大的,其实这是长时间积累的,平均每天也不过千。

老张根据文章归档,来回忆下老张博客走过的十五年的路。其实老张建博客是在2008年,只不过那个时候对“数据安全”没有概念,搞个博客正常丢数据。目前的数据是从2009年10月9日一直使用到现在的,现在是每天做备份,生怕哪数把数据搞丢了。

2009.10-2010.7:摸索爬行期:

想不起来老张当初因为什么建博客了,根据2009年归档的所谓的文章来看,从2009年10月建站到2010年7月中旬,基本上是转载别人的文章或是自己简单发两句话。可能是前一年对写博客并没有什么经验,只是去折腾但并没有把折腾的过程记录下来。建站前一年,可以说是摸索爬行阶段。

2010.7-2011.4:辉煌成就期

从2010年7月28日《WordPress更换域名后所要注意的十件事》这篇文章开始,到2011年4月份,原创了大量Wordpress方面的教程,同时总结了SEO方面的技术经验文章。这一年时间里,是原创高质量文章最多的一年,很多篇教程当时被admin5等站长网站收录,当然也引来了很大的流量,可以说这一年是老张博客最为辉煌的一年。

2011.5-2018.9:歇菜苟活期

2011年5月份开始,歇菜了,这段时间应该去折腾易语言去了,因为出现了一些易语言方面的教程。也就是从那个时候开始,老张博客在“苟活期”,你说不更新吧,偶尔那么转载两篇文章,你说更新吧,一年也就是更新十来篇。老张博客的苟活期或是说“空白期”相当的长,从2011年5月一直持续到2018年9月,长达七年之久。

2018.10-今:平稳发展期

2018年10月份起,老张博客从技术型博客转到“技术生活类”博客后,才算是基本上稳定。也就是那这个时候开始,内容为记录一些自己折腾的过程,分享一些自己的生活。更新基本上算是有规律,达到每个月四五篇,一直保持到现在。也就是说,真正意义上的写博客只能算是2010年7月至2011年5月,以及2018年10月起到现在,满打满算,也就是6年时间。博客十五周年,而真正写博客也就是六年时间,也算是可悲哟。

博客大事件

结合着前段时间软云的跑路风波涉及的数据安全来讲,来说说老张博客这十五年来遇到了两件“大事件”。

第一件事就是2017年长时间不上博客,未能及时更新博客程序和各种插件,导致各项版本太旧,有黑客利用漏洞入侵了我的空间,所有网站文件全被挂马。这个技术方面的事自己是搞不来的,还是在“游子”的帮助下花了大量的时间才得以解决。

另外一件大事就是“游子失联”。游子,一个非常不错的空间商,他真的能和客户打成一片,包括我在内,他的长期客户非常多,我用他的空间有十余年时间。但是在2020年11月份,游子的所有服务器全部停机,而游子又联系不上。我在《历经一劫,博客重生!》详细介绍了整个事件的过程。好在后来在朋友的帮忙下,直接打款给IDC商后开通了一个季度的机器才把数据得以保存。对于游子的失联,我们所有群里客户并不是担心“赔偿问题”,而是考虑到游子的个人安危问题。有位客户离游子比较近,单独开车百余公里去找游子,功夫不负有心人,找到了游子的老婆。这时才知道,原来游子在给一家P2P公司做网络方面的技术顾问,最终这家公司资金断链而被起诉,被定性为诈骗,游子也被牵涉其中而被留置。到现在已经五年时间了,游子客户微信群一直还在,但是还没有游子的身影,不知道他过的怎么样了。

老张博客十五周年了,不管你的博客在大厂还是小厂,定期做数据备份,把数据牢牢的抓在自己手里,还会有下一个十五年!再下个十五年,无数个十五年。

Memos完美降级到Memos0.18.2版

Memos完美降级到Memos0.18.2版 - 第1张图片

前几天一直都在折腾Memos,原因就是我的Docker容器是利用《如何优雅的一键升级宝塔面板多个Docker容器》的watchtower项目,通过计划任务每周定时检测Docker版本并完成自动更新。所以我的所有Docker版本都是一直保持着最新。也就是这点,违背了“求稳不求新”的原则,导致出现了一些问题。最为严重是Memos,作者更新很随意导致新版本的数据库结构、API接口都发生了改变,与目前使用的“哔哔点啥”的memos页面出现不兼容。

国庆节前,折腾把《完美解决Memos页评论与博客哔哔页面评论互不显示问题。》的问题解决了,方法就是备份数据库文件后直接删除新版Memos容器,安装Memos0.18.2版老板容器,并恢复数据库文件。安装后并没有经过大久测试,结果新的问题出现了。降级后Memos不能发布内容了,乖乖,这可是个大问题。

经过分析,不能发布内容的原因就是新老版本的Memos的数据库结构发生了改变,那么解决的思路也就是把新版数据库数据结构修改为与memos0.18.2保持一致即可。

备份数据库、删除新版安装memos0.18.2版

我在《无需代码,宝塔面板Docker部署便签工具Memos》提到过,当初我们在部署Memos时,已经把Docker内的数据库文件memos_prod.db映射到服务器上,找到新版数据库文件下载到本地后,可以另存为其他名称后删除最新版本memos容器。这次我是直接使用代码安装的0.18.2版,代码如下:

docker run -d --init --name memos --publish 5230:5230 --volume /docker-data/memos/:/var/opt/memos ghcr.io/usememos/memos:0.18.2

利用Navicat Premium工具导出-修改-导入数据库文件

安装好0.18.2版之后,到/docker-data/memos/下同样把memos_prod.db文件下载到本地。

这个时候我们请出今天的主角,Navicat Premium,直接到官网下载即可,14天的试用时间,完全够你折腾了。利用Navicat Premium同时连接打开新、老数据库文件。

Memos完美降级到Memos0.18.2版 - 第2张图片

经过比较你就会发现新版数据库文件中表名为memo的字段比0.18.2版本多一列uid字段。第一思路就是在新版表memo的uid字段上直接右键点删除,结果报错,只能另寻思路,如果这一步哪位大神有什么方法,一定要分享出来,因为正面我的方法比较繁琐。

那简单方法行不通,只能通过繁琐的方法了,把数据库表的内容导出成可编辑的文件,在相应软件里把memos的uid字段删除后再导入0.18.2版的数据库。具体方法如下:

Memos完美降级到Memos0.18.2版 - 第3张图片

选中新版数据库memo表,选择工具-导出,这里我选择的是excel数据表(*.xls),导出后用ecxel打开你导出的表格,直接把uid这一列删除即可。注意,这个时候我们再连接0.18.2数据库的memo表,再选择工具导入,注意一定要选对文件类型把修改后的excel文件导入。这个时候,我们就完美地把memo这个表导入了。

其他表的内容按上步方法导出-修改-导入,其实也就是memo和表resource两个表需要删除uid字段,其他像标签、用户、用户设置、系统设置等表只需要把内容导出成excel文件后再直接导到0.18.2的数据库即可。这样就完成了所有的数据迁移工作。

停止容器,恢复数据,完美降级

在服务器上把Memos这个容器先停止,把0.18.2版数据库文件上传到你映射的目录,覆盖旧文件即可。再重新启动容器,OK,十分完美地把Memos0.22.2降到Memos0.18.2版。

经过这一周多时间的测试,再无任何问题,Memos降级完美完成!

完美解决Memos页评论与博客哔哔页面评论互不显示问题。

完美解决Memos页评论与博客哔哔页面评论互不显示问题。 - 第1张图片

暑假两个月放飞自我后,近段时间开始收心了,把精力从游戏上转回到博客。第一件事就是把博客的“哔哔点啥”网页布局进行了调整,把内容的标签设置与评论图标一行,这样看上去就顺眼多了。虽然只是一个小调整,但是苦于自己的代码小白,还是找了AI帮忙。

目前我的哔哔点啥页面还是用《巧搬空白Koobai大佬Memos页面,完美与博客整合。》,哔哔点啥页面的工作原理就是直接调用Memos数据。Memos前期版本没有原生评论,而新版本即使有评论在memos的数据库里并非单独列。为了能让在memos以及博客的哔哔点啥页面有评论能力,便把《Artalk评论嵌入Memos,完美接近朋友圈、微博!暨宝塔面板Docker部署artalk评论系统》。

后来随着memos版本的升级,出现了个问题,就是在Memos在直接评论的内容与直接在哔哔点啥上评论的内容相互不显示了。因为当时评论数比较少,也并没有在意,这个问题一直也就拖到了现在。既然已经收心想折腾博客,那就索性把这个BUG也给搞定吧。

Memos的作者更新真的是很随性的,各种功能随意增减,导致很多人说Memos只是个项目不是个产品。前期版本单篇Memos显示匹配的路径是序号,用域名+M+序号形式,比如https://memos.laozhang.org/m/423;而后期版本匹配显示的路径却是内容前几个字符编码,比如https://memos.laozhang.org/m/GR65Lmbquyb5QuVuZgj9G7(打不开了,因为我的版本降了)。正是因为这次的升级,而导致了上述的问题。

老孙的帮助下,通过修改哔哔点啥的JS文件,把 var memo_id = data[i].id;修改为 var memo_id = data[i].name; ,是可以正常显示了,但是又有一个小问题,就是评论通知邮件里的链接又不匹配了。

后来询问了木木大佬、koobai大佬,才知,最为稳定的memos版本是0.18版,那解决的方法就是“降级”了!

之前我习惯于在宝塔面板下部署各种Docker,当时我是用了《无需代码,宝塔面板Docker部署便签工具Memos》。现在想来,还是代码更为方便一些。降级之前必须要很把你原来映射出来的文件夹备份并下载下来,那是你Memos全部数据。然后删除目前的Memos项目及镜像,重新用代码安装0.18.1版即可。

docker run -d --init --name memos --publish 5230:5230 --volume ~/.memos/:/var/opt/memos ghcr.io/usememos/memos:0.18.1

正常使用的这些Docker,我们应该保持一个原则“求稳不求新”,为了能正常运行,还是用稳定版本的为好!

 

男人做饭or女人做饭?

男人做饭or女人做饭? - 第1张图片

“上得了厅堂、下得了厨房”这句话在古时是对一个“好女人”评价的标准。如果你现在再拿这句话跟老婆说事,那估计她一定会好好的跟你辩论一翻了。中秋前天晚上和以前几位老同事家庭聚会,女人们聊到一个话题,就是嫁到男人家后,烧刷洗烫、伺候老伺候小,天天都累死了。她们几个都羡慕我老婆不用做饭,这时我们几家也有讨论过到底该谁来做饭。我的原则就是谁会做就多做点,单位里的一些事都是“分工不分家”,更何况是自己家里的事呢。我老婆现在也只是能把食物给烧熟,至于胃口嘛就不能提了。而自己、老爸、老妈都会做饭,所以也就没有让老婆下过厨房。当然,她不下厨房,其他家务、辅导孩子什么的也都是照做的,各有分工、各忙各的。那天晚上她们聊天有一个一致认同的观点是很搞笑而又自私的,就是不让自己的孩子学做饭,更不让闺女学做饭,学会了长大后就去伺候别人一家老小了!

我是怎么学会烧饭的呢?小学三年级那会,我就已经开始学做饭了。父母做点生意,天天拉着板车去摆摊赶集,经常是十二点多才能收摊回家,这时如果再做饭的话我和姐下午上学就会迟到。那时我在小学中午是十一点放学,而姐读初中放学要迟很多,这个时候做饭的任务就落到我身上。会做的第一道菜就是猪肉白菜炖粉条,其实就是前一天吃剩下的红烧肉,我拿过来热一热,加点水加上白菜、粉条一起“煮”吧!做的多了,也自然就会了!到目前我还不会做饼,当时我姐非要让我学,我来句就是“学会了又让我干,不学!”。

我学做饭属于“被迫”,而有很多人是“主动”。以前单位同事里有个小两口子,两人都能将就做饭,但是男人嫌女人做的饭菜不好吃,就因为这两个还吵过架。后来男人为了能吃上可口的饭菜,就主动下厨了。结果呢,烧出来的饭菜就比他老婆烧的好吃,也就是那次,女的就从来不下厨了。

还有一种学做饭属于“兴趣”,还是以前单位同事两口子,那个男的兴趣就是研究怎么做菜,其实他老婆做菜也不错。

做饭还是真的很辛苦的,早饭后就得要去跑菜场,回来后就得要开始收拾食材,基本上一上午的时间都泡在厨房里。辛苦是辛苦,做出来饭菜被家里人夸好吃时,心里还是很有成就感的!

收心,回归博客

暑假两个月,每天上午就是在菜场、厨房,话说一家四口只是做两三个菜,但是忙活起来也得要半天的时间。而下午需要送孩子到辅导班,每天能坐在电脑前上网的时间真的很少。另外一件事就是《没啥文字功底却总想写点东西》,使我对“是否继续写博客”还是有一定的影响的。再加之有时博客群里也会提到“文字不行”这件事,虽然是句小小的笑话,但是也有人经常把这当成一个话题来说,难免心里会非常的不舒服。

我之前博客更新的规律是一个月四篇,而每天必定会在博客上和博友进行评论互动。每天也会根据“博友圈”这个功能对博友更新的博文第一时间进行阅读并评论。通过博客互访,总能通过博友的博客而发现一些好玩的东西,也能看到自己感兴趣的东西。而暑假这两个月时间里,博客真的是长草了。两个月暑假时间,“挤”出了四篇博文,更没有第一时间在博客上和博友评论互动。博友们更新的文章也没有去看。有那么一点点空闲的时间真的没有把心放在博客上,无聊的玩起来两款游戏,NND,把买laozhang.net的钱又给浪费了。另外在群里介绍下,玩了《剑与远征:启程》,玩了几天也没有太大的兴趣。玩游戏总感觉是真的把时间给浪费 了,而和折腾博客、看看博友的文章,总会能找到一些自己感觉兴趣的东西。记得网上有大神这样解释什么叫浪费时间,“当你把时间花在某些事情上,让你感觉到的快乐,那就不是叫浪费时间”,是的,我把时间花在博客上,并没有浪费掉。

其实对于为什么写个人博客,很多博主都有讨论过这样的的话题。个人博客存在的意义是什么,前两天在白熊阿丸的小屋博客里看了他的文章对自己还是有些启发的,个人博客,难道必须要为他人服务?其实,我感觉用“汉语新解”,对“博客”的解释更为准确,“博客,互联网时代的数字化自恋展览馆,人人都是馆长,却鲜有参观者。所以,博客就是我们自恋的地方。”。博客就是博主的自留地,我在自己的一亩三分地上干自己喜欢的事!想干什么就干什么,你没有必要指指点点!

阮一峰的网络日志第317期讲了驴子、老虎和狮子的寓言,有兴趣的博友可以去看一看。我引用这个故事,并不是想说自己有多么“高级”,而是想告诉大家,有些问题,没有必要去争论。争到最后毫无意义,也浪费了大家的时间。

教师节快乐,网易福利依旧!

网易丁大佬已经连续多年在教师节这天给老师们发福利了。

教师节快乐,网易福利依旧! - 第1张图片

看看发件时间,2018年的时候,在教师节这天给老师们发放了“1.提供网易严选的 VIP 年卡服务 (149 元 /年)2.提供终身免费的 VIP 邮箱服务(540 元/ 年)”。就是在这一年的教师节,有幸从网易领取到了自己姓名全拼的163VIP邮箱,使用期限可是终身哟。

2019年的教师节,没有过多关注这些方面,应该错失了一次机会。在2020年教师节,《到货了!网易云音乐黑胶VIP教师版!》,那个时候VIP还是以邮寄卡片的形式。对于收藏控来说,这张卡片的价值远远大于网易云音乐黑胶VIP一年版的价值,真的是非常的值得收藏。记得同年我还领取了酷狗VIP。

教师节网易送福利每年都有,不过今年,我是真的没有“抢到”网易云音乐黑胶VIP。

为什么没有“抢到”呢,首先对材料的审核比之前在严格,我的教师资格证上登记的证件信息还是老的一代身份证号码,每次审核时都会提示“证件号码不符”,就一直不给我通过认证。奇怪的是,我记得之前认证过了的不是不需要再进行认证了的嘛!

其次是福利份数变少了,今年累计发放教师节网易云音乐VIP是100W份,而之前是今年份数的十来倍。

再次,活动时间变短了。今年的活动时间是9月5号开始,到9月10号结束,也就是6天时间。

综合以上原因,申请人数多、福利份数少、活动时间短,导致申请通道堵堵堵、卡、卡、卡。每天十一点的时候都在守,老是提示人数太多、网络拥挤请稍后再试。等你挤进去的时候,名额就用完了。

随着年龄的增长,对音乐的需求也不是太大,没有抢到也并没有感觉到遗憾。如果你也没有抢到网易云音乐VIP而对音乐需求特别大的,那不妨来试试洛雪音乐《洛雪音乐+六音音源,让洛雪音乐重新活起来!》,《洛雪音乐降级、换六音音源、搭同步服务器,多设备畅听全网音乐!》。洛雪音乐,全网音乐免费畅听!

 

 

 

中国移动,你是真王霸!

本来想着标题写“霸王”的,但是表达不了我想爆粗口的心情!所以,还是用“王霸”两个字吧!

县城另外一处房子是两年前泰山带着他两个孙子上学入住的,入住的时候宽带被前租客移走了,泰山就三六九的来我老婆面前嘀咕说没有网络不方便什么的。没办法,我用我的身份信息办理了58元每月的中国移动宽带和网络电视业务,每月从我的手机里扣费。唉,有得说无得说的事!

今年暑假,孩子舅舅县城的房子也装修好了,泰山带着他两孙子便搬回去住了。现在人口出生率降低,不仅各行各业的生意不好做,连房子都不好外租了。两年前我那房子一年一万二非常好租出去,但是今年在网上挂了一万连一个求租电话都没有接到。房子空了一个多月了,宽带也在八月底要到期,房子也不知道什么时候能租掉,就准备把宽带给停掉。

王霸一:在不通知的情况下自动给你延期。

8月20号,收到10086一条短信,内容是“尊敬的客户,您参加的300M宽带电视包月优惠-手机消费58元(24个月)活动已成功延续。将于2024年9月1日00:00:00生效,延期24个月,延续期间的优惠政策为:300M宽带电视包月优惠-手机消费58元(24个月)。根据活动办理时的协议约定,延续期间内,客户如办理过户、停机、销户、离网、营销活动中断等业务,视为违约,需要缴纳相应违约金,”。我操,怎么个回事,在没有我同意的情况下自动给我延期了?我要停机就是违约?还要交违约金?

打10086投诉,给出的解释是为了方便用户都会自动延期,如果想要停机可以为你申请不需要违约金!

王霸二:宽带开户任意移动网点均可,停机销户必须要主营业厅。

我带着设备到我家附件的一个网点办理宽带停机销户,结果说没有权限,需要到哪哪哪。没办法,骑车穿个半个城跑到主营业厅。整个县城可以开宽带的有几十个网点,但是办理宽带停机销户的只有一个主营业厅。

王霸三:宽带停机销户需提前提出申请,待调研论证后方可停机销户。

屁颠屁颠的带着设备骑车穿过半个城跑到了主营业厅,排队等了一个多小时。说明来意后,营业员将我的手机号码登记下来,便让我把设备带回家等电话,说是两到三个工作日主管人员会通过电话调研确认你不需要要宽带业务后就会通知你带着设备来营业厅办理了。我倒,我办理宽带停机销户,还需要你们调研论证确认?当时我便来火了,我自己想停就停,为什么还需要你们来调研论证确认!营业员让我语气不是太好后,说给我加急办理便让我到旁边等电话。大约半个小时来,接到了所谓的主管人员电话,反正就是劝我不要销户!靠,房子没有人住了你还不让我停宽带!所谓的主管同意我宽带停机销户后,已经过一个多小时了。我前面也是办理宽带停机销户的,说已经跑了三趟营业厅了才给办理。一下午的时间,花了三四个小时,还是给我“加急”的情况下办理的!

宽带开户随意开,宽带停机销户就需要你们调研论证!什么狗屁逻辑!你想留客户也不能是这样的留法呀!

爬猴子山,游盐水泳!

在儿子中考成绩还没有下来时,就说过如果 考的不错就一家到外面好好玩一玩。中考成绩下来之后,儿子虽然没有进了排名第一的高中,进的这所高中也是重点高中,县里排名第二。现在真的是真的很卷,两所高中的分数线也就是相差9分。儿子的学校敲定之后,就一直盘算着一家出去走走,但是那个时候温度真的是太高,想去的几个地方都是在38度这样的高温,外出游玩那几天算是搁浅了。等天气温度稍稍低了一点,儿子高中军训开始了,没办法外出游玩了。

8月15日军训结束,学校告之有两天的休息时间,那这两天的时间不能放过了哟。这两天时间真的是太短的,根本没有办法跑远的地方,那只能选择二三百公里的吧。通过和老婆大人“几十秒钟时间的讨论”,决定去连云港。决定之后便在网上订民宿,一个字,贵。两个字,真贵!两床标间508一晚,周五还得要加价100元。但是没办法,谁让想住在民宿呢。

8月16日早晨五点起床,洗漱之后下了水饺,简简单单吃口饭一家四口再外加外甥五人开车往连云港花果山景区出发。210公里的路程,开车不到两个半小时,八点半到景区。

爬猴子山,游盐水泳! - 第1张图片

门票90一位,进了景区大门,步行没多远便到景交站台。因为想爬山嘛,就没有买到顶站而是选择了三元宫。坐上景交车到三元宫大概二十分钟左右,虽然车程比较短,但是转弯比较多也比较陡,没几分钟外甥晕车晕的不行。下车后连路都没有办法走,没办法,让他自己一个人在三元宫边的椅子上躺着,我们一家四口往水帘洞出发。外甥已经十八九岁了,一个人放三元宫也没有多少担心。

爬猴子山,游盐水泳! - 第2张图片

从三元宫到水帘洞爬了二十来分钟的山便到了,这个水帘洞不知道是不是天然的,洞很深,里面并没有西游记里描述的那些家当,但是有必经处有一个拍照点,拍出来的小照片免费,大照片收费。感觉这就是个套路吧。

爬猴子山,游盐水泳! - 第3张图片

从水帘洞到玉女峰需要四十来分钟,中途并没有多少景,只有瑶池一处吧。

爬猴子山,游盐水泳! - 第4张图片

从到景区开始就不停的有直升飞机在头上飞过,原来是“坐飞机游花果山”,二三百块钱,便可以坐上直升飞机带你绕一圈。

爬猴子山,游盐水泳! - 第5张图片

这是在玉女峰上拍的一张照片,其实并不是想象中的那么好看。

从玉女峰坐景交车到三元宫已经是十一点,接上外甥后再坐景交车到出口。因为外甥晕车不想吃饭,而我们一路零食不断也不是太饿,就直接导航到连岛的民宿了。

爬猴子山,游盐水泳! - 第6张图片

我以为民宿应该就是海边的小渔村,是民用房的那种,结果到了之后才知道是连岛新村小区,只不过是靠海近一点罢了。这张是从民宿里拍的照片,所谓的海景房,608一晚,房间屁股大点地方。

爬猴子山,游盐水泳! - 第7张图片

下午三点多到连岛景区,先在外面简单吃点东西后便进景区,其实,其实也就是沙滩罢了。

爬猴子山,游盐水泳! - 第8张图片

连岛沙滩音乐会,看介绍是音乐会门票50,其实不要钱。但是自己不是太感兴趣。

爬猴子山,游盐水泳! - 第9张图片

八点半出景区,坐三轮车到民宿的小区外面准备吃饭。因为之前听说连去港吃饭宰客还是很厉害的,所以便从抖音上下了单。三四样海鲜198块钱,还有其他一些菜,还算是便宜。

爬猴子山,游盐水泳! - 第10张图片

之前攻略没有做好,另外民宿的老板也并没有详细的给介绍周边,第二天早上赶到海边的时候看日出的人们已经陆续回来。只是随便拍了两张。

爬猴子山,游盐水泳! - 第11张图片

这两位美女,专门穿的那种衣服在拍照片,其他人拿相机手机拍她们也反对,我离的远,也拍了一张。

爬猴子山,游盐水泳! - 第12张图片

早饭后开车一百六十公里来到骆马湖,孩子们昨天在海里还没有泡够,再来湖里泡一泡。中午联系了几位老同学聚聚,虽然相距六七十公里,有的都二十来年没有见面了。从中午一点开始吃饭,一直到四点才结束。

其实这次外出,并没有详细的计划安排,感觉就是为了给孩子一个“交代”。连云港的山、连云港的海,并没有给自己太大的印象。

2024,暑假这些天

快一个月没有更新 了,博客的草长了不少,该锄草了。

平时上班,每天都是十来个小时坐在电脑前,寒暑假放假了却没有时间了。今年儿子中考结束,也算是考上了理想的高中,假期刚开始就进了辅导班,而闺女的兴趣班也在继续着,基本上没有时间回乡下老家。父母基本上也没有来县城,只是我们小四口人在县城家里呆着。

其实这段时间的生活也还是满规律的,早晨五点起床,和老婆一起去体育场跑跑步,早饭后就开始去菜场买菜做饭,虽然是一家四口人只是简单烧两三个菜,忙起来也是一上午。下午就是接送孩子们各种兴趣班辅导班。一天下来,基本上坐在电脑前也不过就是个把小时吧,也静不下来心写博客。

2024暑假,老张博客应该算是经历了两件大事,首先就是《没啥文字功底却总想写点东西》这篇文章了,源于一位博友对我的一篇Memos的评论。事情过去快一个月了,也引起来众多的博友的讨论,其实我的原则还是那样,于我于他或是大家,没有对或错。个人博客本是个人自留地,种什么的庄稼长势怎么样都是博主个人决定的,路人经过你的庄稼地说你种的庄稼长的不怎么样,那你也不需要去反驳什么。个人博客,随心。

老张博客的第二件大事就是《没啥文字功底却总想写点东西》没有多久时间,博客就被打了,还好的就是这位朋友也就是打了几天,刷了不到2T的流量。老张做博客快十五年了,第一次遇到被打。真的,当时就慌了,因为我用的是CloudCone的服务器,直接裸奔的那种,没有套CF也没有上CDN。像这样的情况被打,只能套CF,结果套上CF后网站却打不开了。算了,关站!站关了有两天时间,这位兄弟也可能是打累了停了下来,我才得机会把服务器重新打开。现在又重新买了台香港VPS备用,如果再遇到这样的情况,那只能搬家了。

今年的暑假比往年的暑假酒喝的少了,以前放假在老家,中午非得要喝了三五两,下午睡那么两个小时。今年虽然也有下午时间不送孩子去兴趣班有时间喝酒的,但是喝了一点就感觉到非常不舒服。平时在外面应酬都是喝一百多块钱起步的酒,而在家喝的口粮酒才是五六十块钱,应该还是酒质的原因吧。

今年暑假照旧,限酒多运动,但是得到的效果却不明显了。以往暑假每天五公里坚持下来之后,体重绝对会降到140斤以下血压绝对降到正常。而今年暑假这一个多月每天坚持五公里下来,体重一点点也没有降,血压也没有降一点点。很多人说是45岁就是一个身体的瓶颈期,但是我感觉应该是今年三阳或是四阳的后遗症。自从那次阳了之后,身体明显感觉到不明以前了。

这段时间找到了十五六年前玩过的一款WEB游戏,最终幻想。官服早早就关了,现在玩的是ZZ9Z的私服,真的是纯怀旧的那种。当你做某件事很多人认为你是在浪费时间,而你却能从中得到快乐,那于自己来说就不算是浪费时间。给自己玩游戏找个理由吧!

 

没啥文字功底却总想写点东西

前天写的一篇memos收到了两条评论,是一位博友分两天回复的的,载图给大家看一下。

没啥文字功底却总想写点东西 - 第1张图片没啥文字功底却总想写点东西 - 第2张图片

这位博友评论的情况是事实,完全接受,不反驳。我写的东西(只能用写的东西来说明,不敢说写的文章)里会有错别字、语法错误、逻辑错误、语句不通等是真的存的。对于我的文字功底差的这个话题,其实我在2019的时候就写谈过《文字不行,为何还坚持写博客?

也正如这位博友所说的,我写博客都是“一遍过”,基本不会去检查什么错别字、语句什么的,都是随心的写。所以写博客的十几年时间里,自己的“写作”水平还停留在最初的水平,自己的这个水平嘛,也就是处于初中以下。我在《关于》里就有所提到过,自己打小学开始,语文成绩就不怎么样,而读书时写作文、工作了以后写论文写报告什么的也都是“东借西借”。

我的博客写了也有十三四年了,为什么写博客,可能每个人的出发点不一样。因为我平时喜欢折腾,就会把自己折腾过的东西分享在博客上,早些时候的博客内容主要都是“折腾记录”,而近两年也才会记录一下自己的生活,也就是所谓的“生活随笔”吧。

为什么没啥文字功底却总想写点东西呢,不是为了提升自己、更不是想建立什么自己的品牌、单纯的就是“记录与分享”。也正如我博客的副标题的一样“生活琐记,技术折腾,乐在记录点滴与分享!”。

想到了“好吃点”饼干的广告词“好吃你就多吃点!”,不好吃你就不吃嘛!我的博客写的不好,你完全可以不看嘛,千万不要折磨了自己!

走自己的路,叫别人去说吧。写自己的博客,随你们怎么评论吧!!

❌