阅读视图
一杯酒,一家人
使用 Python 脚本实现图片相似度匹配
随着相机像素越来越大,图片体积也变大了。在图片处理中,较大的文件体积会影响性能,因此杜老师会先生成缩略图,筛选完成后再通过 Python 脚本实现图片相似度匹配。这里是一个简单的示例,供需要的小伙伴们参考。
脚本说明
以下是个基于 Python 的脚本,使用 PIL
以及 imagehash
库来实现。
遍历目录 A 中所有图片。
在目录 B 中查找相似的图片「通过感知哈希算法判断」
如找到匹配项,则将图片复制到目录 C,并以目录 A 图片的名字命名。
脚本代码
在运行脚本前,需安装所需的 Python 库:
1 | pip install pillow imagehash |
将 dir_a
, dir_b
和 dir_c
替换为实际路径;threshold
控制图像相似度阈值,可以根据需要调整;支持多种常见格式图片文件;使用 imagehash.phash
进行感知哈希的比较,适合用于识别视觉上接近的图片:
1 | import os |
梦魇之脱离诀窍
拔智齿
我平时吃太冰的东西右边牙会酸痛,另外感冒发热也可能连带牙痛,但阵痛很快会消失,我一直没放在心上。但这个五一发热同时产生的牙痛没有自然消失,反而愈演愈烈。我想着扛一扛,但是昨晚两点被痛醒一次,强迫自己睡下,又在四点半再次被痛醒。索性不睡了,决定立即去医院。
杭州知名医院的口腔科当天挂号都没名额了,我思考了一下决定直接回富阳。一方面富阳第一人民医院离家只有一站地铁,如果要复诊比较方便;另一方面在家有爸妈可以照顾我。事实证明这个决定无比正确。拔牙后难以吞咽,苦不堪言,幸亏家人在身边,缓解了我的焦虑。
某次体检我得知长了智齿并且已经有蛀牙。我用手指摸索,上牙最里面的那颗碰一下就痛,所以我基本确定是智齿出问题了。而智齿有问题一般是拔掉,我除了小时候再也没处理过牙齿方面的问题,所以本能地有点怕拔牙。于是我开始做功课,查找大量相关资料,越看越心惊。拔智齿比拔一般的牙难度要大,并且根据智齿位置的不同,手术复杂度和费用差异巨大。为了保险我当然希望挂专家号,但是没号了,最近的名额还要好几天,而我是一刻都等不了的。然后我又开始研究微创手术,网上的说法毁誉参半,我决定让医生看过之后,如果能做微创就主动要求。
在排队等待叫号时我坐立难安,脑子里不停地胡思乱想。而到了真正拔牙的环节,比预想的要顺利得多。
接待我的是一名年轻的女医生,她非常专业,不仅手术十分干练,而且不断给我心理疏导。网上说有的医生不拍片直接拔牙,这是我极为担心的一点,我甚至准备主动提拍片检查,而实际证明我的担心完全多余了。这位医生给我做了初步检查就告诉我是智齿烂了,然后就让我去拍片,确认是否能立即拔除。拿到报告后她立即跟我说可以手术,我忐忑地躺到了牙椅上。恐惧的情绪没有持续太久手术就完成了,耗时应该不到十分钟。
手术前打了两针局麻,第一针打在智齿旁边,几乎没有感觉;第二针打在门牙附近,我终于体会到了网上说的痛楚,好在时间不长。麻药很快生效,医生一边熟练地进行手术,一边不停安慰我。在开始前说我的智齿位置好,会非常顺利——所以我都忘了微创这回事。拔的过程中我清晰感觉到牙齿一点点被分离,有骨头撕裂的那种头皮发麻的恐怖感,医生就安慰我打了麻药不会痛的,让我别担心。拔出后医生也第一时间告诉我结果,让我悬着的心立即放下了。然后医生又用轻松的语气告诉我牙齿有粘连,造成了一定创口,帮我缝一下,以后会长平。受她情绪的感染,我没有任何担心——事后照镜子我发现创口还挺恐怖的,所以是当时医生的安慰让我少了精神负担。
最后医生给我展示了拔出的牙齿,我看到已经缺了一大块,而且发黑了。医生说让我确定牙齿真的坏了,而且没有拔错牙,好放心。虽然是开玩笑的语气,但是在当时的不安中,这是最大程度照顾了我的情绪,是非常有意义的。
这次拔智齿非常顺利,我非常感谢这位医生!
图中左上角那颗牙就是今天拔除的智齿。
开源实例之HertzBeat
前言
Apache HertzBeat (incubating)是一个易用友好的开源实时监控告警系统,无需 Agent,高性能集群,兼容 Prometheus,提供强大的自定义监控和状态页构建能力。
实例地址
https://hertzbeat.dujun.eu.org
实例配置
配置 | 描述 |
---|---|
系统 | Debian |
服务端 | Java 17 |
程序 | HertzBeat 1.7.0 |
实例部署
官网地址:https://hertzbeat.apache.org/zh-cn/
仓库地址:https://github.com/apache/hertzbeat
Docker 部署
docker run -d -p 1157:1157 apache/hertzbeat
本地部署
wget https://dlcdn.apache.org/incubator/hertzbeat/1.7.0/apache-hertzbeat-1.7.0-incubating-bin.tar.gz
tar -zxvf apache-hertzbeat-1.7.0-incubating-bin.tar.gz
cd apache-hertzbeat-1.7.0-incubating-bin/bin/
./startup.sh
浏览器访问 http://localhost:1157 ,默认账号/密码:admin/hertzbeat
实例体验
后记
本实例仅供参考,不定期重置数据。
五一劳动节——高山采茶!
五一回宜昌
几种通过 FFmpeg 无损压缩视频的方法
北京这边天气不错,特别适合骑行。杜老师拿出了压箱底的全景相机,打算录制一段沿途景色,结果压制出的文件体积很大。之前分享过通过 FFmpeg 来压缩视频的方法,这次整理了更多的方法,供需要的小伙伴们参考!
写在前面
如果需要了解 FFmpeg 的安装方法,可以浏览《如何使用 FFmpeg 来压缩视频》一文,里面有详细介绍如何在 Linux 系统安装 FFmpeg。
如果需要在 Windows 系统上安装 FFmpeg,可以直接至官方下载安装包「或在评论区中留言」
用 CRF 参数
原理:CRF 是 H.264 编码器中用于控制视频质量的一个参数,数值越小画质越高,体积越大,一般取值范围为 18-28,默认值 23,18 是视觉无损。
命令示例:ffmpeg -i input.mp4 -c:v libx264 -crf 18 -preset veryslow -c:a copy output.mp4
此命令指定了视频编码器为 libx264
,设置 CRF 的参数为 18
,且使用 veryslow
预设以进一步提高编码质量,音频部分直接复制。
更改格式
原理:在不改变媒体编码的情况下,改变媒体封装格式,通常转换后的大小基本相同,一般不会出现过大差距,如果大小差距过大,需要检查媒体文件的完整性。
命令示例:ffmpeg -i input.mp4 -codec copy output.mp4
可直接更改封装格式,无需重新编码。
调分辨率
原理:降低视频分辨率可显著减小文件体积,对于对视频画质要求不是特别高,或需要在低分辨率设备上播放的场景比较适用。
命令示例:ffmpeg -i input.mp4 -vf scale=1280:720 -c:a copy output.mp4
该命令会将视频的分辨率调整为 1280×720 像素,音频的部分不进行重新编码,从而实现压缩体积目的。
读《战争与和平》
京东 43 元 450 克陈阿炳风干鸭小腿实测
产品说明
购买原因
连月来被风干鸭小腿广告轰炸,多平台多品牌漫灌式曝光,仿佛约好一般要堆出一个新品类市场。出于好奇,我决定买来亲自尝尝。经过对比,选择了声量最大的陈阿炳风干鸭小腿。
产品介绍
购买价格
2025年4月26日购于陈阿炳京东自营旗舰店。三种口味,每袋150克,共450克,标价42.86元,用京豆和优惠券等抵扣后实付19.62元。
产品实测
包装
包装内有三袋鸭小腿(鸭翅根),附赠三只一次性手套。另外特别提示保质期只有 7 天。
测量
口味 | 椒盐原味 | 香辣味 | 藤椒味 |
---|---|---|---|
辣度 | 不辣 | 微辣 | 中辣 |
标称净重(克) | 150 | 150 | 150 |
实测毛重(克) | 178 | 168 | 182 |
实测净重(克) | 159 | 150 | 163 |
鸭小腿数量(个) | 7 | 6 | 7 |
外观
口感
风干鸭小腿肉质紧实,又干又硬。虽然只有两指大小,但是需要撕咬下来,嚼起来非常费劲。实际上一次吃到第二个就没什么兴致了,与广告中当作看剧零食的宣传相距甚远。
另外,所谓不同口味只是辣椒粉含量不同,底层的鸭小腿没有区别。
天津游记「多图预警」
刚从合肥返京,就收到了天津出差任务。虽然京津距离不远,但杜老师平时工作较忙,周末一般都在家睡懒觉,所以也是想着趁此机会游玩一下!分享给未来过天津的小伙伴,大家来云旅游~
天津之旅
天津是中国北方的一座历史文化名城,同样是直辖市之一,有着丰富的历史底蕴和独特城市风貌。
天津建筑风格多样,中西合璧,例如五大道保存着众多西式建筑,意大利风情街则充满了浓郁异国情调。
此外,天津还有着众多的名胜古迹,例如盘山、独乐寺等等自然与人文景观,展现了其深厚文化底蕴。
天津的旅游特色主要体现在其独特的文化韵味和美食文化上,是体验津味文化与北方风情绝佳之地。
天津美食文化源远流长,如狗不理包子、煎饼果子等等传统小吃闻名全国,散发着独特的魅力。
此外,天津的相声文化也独具特色,古文化街、泥人张彩塑等更是让人感受到天津的艺术之美。
游记留影
天津的民国时代的建筑较多,也是别有一番风味:
张学良故居的餐厅:
张学良和赵四小姐卧室:
顶层是个舞厅,本来拍了歌厅整体,结果有个大爷入镜了,所以只有观众席给大家看看:
这叫聚丰当铺,可以清楚的观察到民国时代当铺格局:
这个是鹤竹堂药铺,据说是曾给慈禧光绪看病的御医所开:
皇宫舞厅,为什么杜老师想到依萍:
天津市特别警察局,杜老师也想拍亮堂点的,这里边就是暗光线,可能是想震慑罪犯:
瑞蚨祥成衣店,里边格局也很大气漂亮,就是衣服看着有一点少,毕竟都叫成衣店了,怎么衣服比杜老师的都要少:
成衣店顾客等待位,本来不想放这张的,但是这个窗和格局吸引了杜老师,所以还是放上来了:
这个是鼎章照相馆,杜老师除了会说漂亮外,不会说别的了,原谅杜老师言辞的匮乏:
民国时代诊所,不过感觉杜老师小时候诊所也长这个样子,可能杜老师也挺老的了:
这个是商会俱乐部,有很多张,但里边的光线不是很好,只有这张看起来还是不错的:
国父孙中山办公室,右上角露出来的点点就是他照片,不过相机没有全部收录进去,右侧还有一个很好看的壁炉,哈哈:
头一次看见民国的封条,必须拍照一张,杜老师一直以为封条只要有个封字就可以,没想到要写这么多东西:
这个是春和大戏院,张学良故居进门开始可以玩剧本杀的,好多人在走来走去的找线索,杜老师没有好意思参与进去,不过感觉很好玩的,大家有兴趣的可以参观的同时玩这个游戏。这个戏院里还有相声表演的,不过是固定的时间,杜老师忙着赶下一个参观地,所以并没有听相声,可惜:
最后用民国画报小广告来做结尾,张学良故居以及范竹斋故居之旅就结束啦:
全都是人,大家都在门口想拍出满意的照片,杜老师就只匆匆闪过了,毕竟杜老师没有高超的运镜技术:
这个是最后的晚餐,教堂里也好多的人,想找出一张没人的照片实在是太难了:
感觉这个吊灯和玻璃都漂亮的很,但是杜老师对宗教理解不深,不知道这个里边画面的含义,要是有解说就好了:
这个好像就是主教传教的地方吧,用隔离带围着,杜老师进不去,不过感觉就很神圣:
据说是溥仪和妃子们被从故宫赶出来之后住的地方,感觉就是个小洋楼:
溥仪和妃子们的小餐厅:
这个是溥仪妃子文绣的卧室:
这个是皇后婉容的卧室,感觉他们的床都好小啊,杜老师睡在上边都怕掉下来:
这个是溥仪的书房:
张园里也有剧本杀,每个时间段也有节目表演的,但是杜老师依然没赶上,时间太紧张了,下次一定要试试看:
最后用杜老师们伟大领袖毛主席给这段旅程做结尾,这个展区是爸爸妈妈他们那个年代结婚的布景,感觉爸爸妈妈他们来看肯定很有感触:
女儿分班后的第一次家长会
五一嵩山行
香港两日(徒步-露营-扫街)
风起淀山湖
简单的五一假期
回农村
五一游龙门古镇
充实的五一假期
少年篇:写给女儿的一封信
青山村一日游
青山村一日游
假期第一天解锁了新地图——青山村,位于杭州市余杭区黄湖镇。来此契机是老婆抽中了公司赠票,参加“余杭有周末×飞猪旅行×草莓宇宙|长三角生活派对”。
青山村是首批“浙江省艺术乡建特色村”。整整一天体验下来,我有两方面切身感受。
好的方面是整个村进行了深度改造,紧扣亲子文旅主题,在细微处都做了童趣手绘涂鸦。大部分工作人员是村民,体现了振兴乡村,带动共富的主旨。整个村并不大,但是提供了七八辆观光车免费接驳,并且在停靠点供应免费凉茶,村民对游客非常热情。
相对的我认为的不足就是没有地域特色,也没有美食特色。蛋仔派对乐园、草坪集市、露天音乐节,都是外来的东西。小吃街也是四海皆有的那几样。而我发现最大的问题就是执行层面不到位,村民是好客的,所以对待游客没有那么严格。公司赠票只有两大一小,所以我额外买了一张单人票。所谓门票就是一个纸质的手环,工作人员告诉我们凭手环可以免费乘坐观光车和参加活动,但实际上一整天下来这个手环没有发挥任何作用。进入场馆时我特别留意了工作人员根本没检查手环,并且我亲眼看到没手环的游客询问观光车司机没票能不能坐车,司机摆了摆手很随意就让她上来了。门票不贵,单人票是 29.9元。但是我心理不平衡,感到智商被侮辱。既然不能保护买票人的权益,应该一开始就大大方方免票。事实上一天下来吃饭、小吃、饮料,一家人的花销远超门票钱。
入场
大草坪
猫登天空
文化礼堂
水库
合肥游记「多图预警」
时隔一年,又一次来到了安徽省会——合肥。这次出差的时间很灵活,杜老师有半天时间可以到附近景区逛一逛,就特地带了单反相机拍了些照片。本文整理了几张特色的美照,特邀杜老师的另一半帮忙配的介绍文,感兴趣的小伙伴可进来一看!
合肥之旅
合肥是安徽的省会,简称庐州,有着 2500 多年建城史,是国家级历史文化名城,曾是三国时期兵家必争之地,也是包拯、李鸿章等历史名人故乡。
这里历史遗迹众多,例如三河古镇,因丰乐河、小南河三水流贯其间而得名,是合肥唯一 5A 景区,古镇历史悠久,古建众多,青砖灰瓦,小桥流水,宛如一幅淡雅的水墨画。
合肥不仅有深厚的历史文化底蕴,还有丰富的自然景观和现代旅游资源。
包公园是纪念北宋清官包拯而建,园内有包公祠、包公墓等景点,游客可以在此了解包拯的生平事迹和清正廉明精神。
徽园则集中展示了安徽各地的著名风景和徽派建筑,游客可半天时间领略安徽的徽风古韵。
合肥美食也是一大特色,庐州烤鸭、李鸿章大杂烩、合肥三鲜等等美食让人回味无穷。无论是对历史文化感兴趣的游客,还是喜欢自然风光和娱乐体验的游客,合肥都能满足需求。
游记留影
不需要买票哦,可直接进,不过周一闭馆,去的话要注意:
感觉徽式古建筑石雕木雕都很精致且应用广泛,都有相关典故以及故事。房梁窗户等很多地方都有精致的雕刻:
这个是徽式的古代祠堂模型,看起来很大气,请忽略杜老师不专业的摄影技术:
这个是古人的牌坊,看着真是方方正正,哦对,传说中的贞节牌坊貌似也长这个样子:
这个博物馆里,金子本来不多,这个碗是最好看滴:
爬了很多个塔,其中有很大一部分是不带电梯的。当时走到这里的时候人已经快累屁了,犹豫了很久不想爬上去,结果过来了一队旅游团,导游用喇叭喊:大家不用担心,这个塔有电梯。瞬间冲到塔里坐电梯美极了:
从塔上俯视图一张,景色还是很不错的,哇哈哈哈。下来的时候没有坐电梯,想着看看各层景色,结果有很多不知道有电梯的,杜老师听到大家边爬边骂街,上的时候在骂,下的时候也骂:
这是包公祠的井叫廉泉,根据传说,这个井可检测贪官,有个贪官喝了这个井水开始头痛,经查,他确实是贪官,所以有了这个名字:
打车去李府的时候司机告诉杜老师这里很出名,那必须要打卡,不过实在是太大了,且日头晒得很:
位于古逍遥津,emmmm 杜老师没有拍墓碑和坟茔,大家看看牌坊好了:
李府李鸿章的人物雕塑,本来是想拍大门口的牌匾的,但是人实在太多了。这个不需要买门票,但是需要网络预约免费门票,合肥这一点比较好,好多景点是免费的,对学生党也很友好:
让我们看下晚清时代的家具:
清朝各级官员胸前绣的动物,具体哪个代表哪个,还请百度,不过当时古人绣工是真的好,超好看的:
这个美术馆给杜老师最大的印象就是里边超级凉快,超级超级,凉快发冷:
欣赏艺术画作:
继续欣赏艺术画作,杜老师真是一点艺术细菌都没有,完全看不出这画的含义:
这个旋转楼梯拍照应该会很出片,但是杜老师的摄影技术也就只能到这里了,凑合着看看吧:
同样不需要预约而且不需要门票,直接进就可以,不逛这个杜老师都不知道这么多的名人竟然都是安徽人:
这个楼层有个展区是做了仿古街区的各类商店,特别有那个氛围感,就是人太多了,想拍下整个街景总有人入镜,挑了很久也就剩了这么一张:
仿客栈以及瓷器店,很有古风韵味:
一层是一个蜡像馆,有很多的出名人物都在这里,看到这个大象大家应该就知道是哪个了吧,这就是传说中曹冲称象:
这个就是包公断案现场蜡像,杜老师深深觉得喜欢看蜡像馆的,可来这里,比蜡像馆省钱,氛围还好:
三河古镇俯拍,这个是杜老师爬上没有电梯的塔才拍到的,这个塔不光没电梯!它的楼梯还特别窄,只可以放下半只脚,杜老师一路外八着上下,就像个大螃蟹:
古镇胡同,很难得有张没有行人的照片,热闹和静谧共存的徽式小镇:
徽式游廊,好多游人在另一边休息,微风吹拂:
除了这个马囧囧的样子让杜老师觉得比较好玩,这个马车厢小的出乎杜老师意料,杜老师小时候看电视剧他们出行乘坐马车还以为里边很大的,这个车厢杜老师感觉对胖子很不友好,进去就塞满了。原来古人的马车这么小的吗:
酿酒步骤,杜老师震惊的是他们真的有自己酿的酒摆在大缸里,但是看着黑漆漆的,用玻璃封住了,闻不到是什么味道,不知道还需不需要过滤:
回程坐了游艇,细细看了河两边的建筑,感觉是超级好,感觉每个时代的建筑都有它独特魅力:
做一个繁华之梦——上海一日游
人生没有剧本,活着就是目的
三星堆博物馆
南京 VIII 老门东夜景 2
五一不出游
活着,以观自在
冬日魅力九寨沟
为什么我认为短视频会让人变得更「笨」
这个是来自于我自己的偏见,当然,也有很多的论文、报告在解释这个问题,我想以我自己的视角来描述一下我对于这个问题的看法。
本文的短视频特指抖音/快手/小红书等采用算法推荐短视频的平台。这些平台以流量为导向,主要内容是秀场类型的视频和拍段子类型的视频。
人如何变得更聪明?
如果我们想要了解到为什么认为短视频会让人变得更「笨」,我们得先知道「笨」和「聪明」的定义,并设定对应的评估指标,才能真正评估一个人是否会因为短视频发生相关的变化。
这里我认为「聪明」是指 —— 能够进行深度思考、敢于且愿意去触碰自己从未接触过的事情;而与之对应的,「笨」则是指——习惯于用已有的反馈回路思考(直觉、下意识)、不愿意去触碰自己未曾接触过的事情。
为什么短视频会让人变得更「笨」
坦诚的讲,如果我们讲短视频平台,他只是一个信息获取的渠道,作为渠道,本身并不能让人变得更笨。
但,智能推荐算法和短视频平台流量的逻辑,会让人看到的信息快速同质化。再加上人类性格中喜欢的「轻松」,会让一个人朝着「越来越轻松」无限滑坡下去。
当然,这个说法其实是有很多讨论空间的,比如:
- 如果一个长视频平台也采用算法推荐逻辑,是否也会让人变笨?比如 Youtube、Bilibili?:让人变笨的并不是智能推荐,智能推荐也有很多种做法。最常见的是猜你喜欢,一般而言是从和你相似画像的人这边拿到他喜欢的内容,再推荐给你。但这里会存在一个陌生内容和非陌生内容的度,如果是相似的内容占比极大,可能会导致信息同质化;但如果陌生内容占比大,则可以帮助人们跳出信息茧房。
- 如果一个短视频平台推送的都是知识性内容,是否也会让人变笨?比如可汗学院改用短视频的方式来推送?:我觉得这个场景下,则有些低估学习的难度了。学习是需要获取信息 - 思考 - 实践 - 反思来不断循环的。短视频如果只推送知识性内容可以解决获取信息的内容的问题,但因为其内容形态往往被限制在 3 分钟之内,会让人的信息无法构建一个完整的知识树,无法完成学习,长期停留在获取信息的阶段。
- 如果一个短视频推送片段性的知识,但会在每个视频的结尾加上整个知识树的结构、当前信息节点的位置是否可以有助于解决这个问题?理想情况下,这样满足我们对于信息、思考的追求,接下来所需要的只是用户自己的实践和二次反思,这个也本不是长短视频之间的差异,而是人的差异。在这种情况下,我认为短视频开始逐步接近长视频的价值,但同时,这种方式可能会损坏算法推荐逻辑 —— 因为需要按照树的结构进行推荐(无论是查找父节点还是查找子节点)。
当经历过上述的讨论,你会发现 —— 我关注的是我们获取信息的逻辑,是否可以帮助我们构建信息获取 - 思考 - 实践 - 反思的闭环,以流量为主的短视频平台则更关心如何让你爽到,而不是构建信息的闭环,从而让你逐渐失去学习的能力,最终「变笨」。
NotebookLM音频概览支持中文
4月30日消息,谷歌宣布其基于人工智能的笔记和研究助手工具 NotebookLM 的“音频概览(Audio Overviews)”功能新增 76 种语言支持。该功能于去年推出,旨在通过人工智能虚拟主持人根据用户上传到 NotebookLM 的文档(如课程阅读材料或法律摘要)生成播客,帮助用户以另一种方式理解和消化文档中的信息。
谷歌表示,此前“音频概览”功能仅支持用户账户所设置的首选语言。如今,公司新增了“输出语言”选项,用户可以自由选择生成“音频概览”的语言。谷歌强调,用户可以随时更改语言设置,这样就能根据需要轻松创建多语言内容或学习材料。
谷歌在一篇博客文章中举例说明了这一功能的实用性:“例如,一位准备关于亚马逊雨林课程的教师可以与学生共享多种语言的资源,比如葡萄牙语纪录片、西班牙语研究报告和英语学习报告。学生们可以将这些资料上传到 NotebookLM,并在他们偏好的语言中生成关键要点的音频概览。”
新增支持的语言包括南非荷兰语、阿拉伯语、阿塞拜疆语、保加利亚语、孟加拉语、加泰罗尼亚语、捷克语、丹麦语、德语、希腊语、西班牙语(欧洲、拉丁美洲、墨西哥)、爱沙尼亚语、巴斯克语、波斯语、芬兰语、菲律宾语、法语(欧洲)、法语(加拿大)、加利西亚语、古吉拉特语、印地语、克罗地亚语、海地克里奥尔语、匈牙利语、亚美尼亚语、印尼语、冰岛语、意大利语、希伯来语、日语、爪哇语、格鲁吉亚语、卡纳达语、韩语、孔卡尼语、拉丁语、立陶宛语、拉脱维亚语、迈蒂利语、马其顿语、马拉雅拉姆语、马拉地语、马来语、缅甸语、尼泊尔语、荷兰语、挪威语(新挪威语)、挪威语(书面挪威语)、奥里亚语、旁遮普语、波兰语、普什图语、葡萄牙语(巴西、葡萄牙)、罗马尼亚语、俄语、信德语、僧伽罗语、斯洛伐克语、斯洛文尼亚语、阿尔巴尼亚语、塞尔维亚语(西里尔字母)、瑞典语、斯瓦希里语、泰米尔语、泰卢固语、泰语、土耳其语、乌克兰语、乌尔都语、越南语、中文(简体)和中文(繁体)。
NotebookLM访问地址:https://notebooklm.google.com
来源:IT之家
烂透
中西区闲逛
熊猫,走起
武汉游记
景德镇见闻
开源实例之Tianji
前言
All-in-One Insight Hub
Tianji = Website Analytics + Uptime Monitor + Server Status + More...
实例地址
实例配置
配置 | 描述 |
---|---|
系统 | Debian |
服务端 | Node.js 22 |
程序 | Tianji 1.20.7 |
实例部署
官网地址:https://tianji.msgbyte.com
仓库地址:https://github.com/msgbyte/tianji
Docker部署
git clone https://github.com/msgbyte/tianji
cd tianji/
docker-compose up -d
本地部署
#克隆代码
git clone https://github.com/msgbyte/tianji
cd tianji/
#安装依赖
pnpm i
#构建项目
pnpm build
#创建数据库配置文件
cd src/server
vim .env
DATABASE_URL="postgresql://user:pass@127.0.0.1:5432/tianji?schema=public"
JWT_SECRET="replace-me-with-a-random-string"
#初始化数据库
pnpm db:migrate:apply
#启动服务
node dist/src/server/main.js
实例体验
后记
本实例仅供参考,不定期重置数据。
在银河麒麟桌面操作系统 ARM 版上安装 KVM 虚拟化
KVM 是一种开源全虚拟化解决方案,能够在 Linux 系统运行多个操作系统。本文将详细介绍如何在银河麒麟桌面操作系统 ARM 版安装 KVM 虚拟化环境,帮助用户搭建高效的虚拟化平台。
准备工作
- 硬件要求
确保 ARM 架构设备支持虚拟化技术。通常,支持虚拟化的 ARM 处理器会支持硬件辅助虚拟化功能。
系统至少需要 4GB 内存和 20GB 的硬盘空间。
- 软件要求
银河麒麟桌面操作系统 ARM 版「如 V10」
KVM 虚拟化相关的软件包。
安装 KVM 虚拟化环境
- 安装 KVM 和相关工具
1 | sudo apt update |
注意:在银河麒麟桌面操作系统 ARM 版上,可以通过上面命令安装 KVM 和相关工具。
- 包的作用
上面软件包的作用如下:
包名 | 作用 |
---|---|
qemu-kvm | 提供 KVM 虚拟化核心功能 |
libvirt-daemon-system | 用于管理虚拟机的后端服务 |
libvirt-clients | 提供客户端工具管理虚拟机 |
bridge-utils | 用于配置网络桥接 |
virt-manager | 提供图形化界面管理虚拟机 |
- 添加用户到
libvirt
组内
1 | sudo usermod -aG libvirt $(whoami) |
注意:为方便管理虚拟机,需要将当前用户添加到 libvirt
组,然后注销重新登录,使组成员关系生效。
- 验证是否安装成功
1 | virsh --version |
注意:运行上面命令来检查 KVM 是否正常工作,如果返回版本信息,说明 KVM 安装成功了。
创建 KVM 虚拟机
- 下载镜像
可以从银河麒麟官方网站下载适合 ARM 架构的虚拟机镜像文件。
如 Kylin-Desktop-V10-SP1-2403-Release-20240430-arm64.iso
文件。
- 创建虚拟磁盘
1 | qemu-img create -f qcow2 /path/to/disk.img 50G |
注意:使用上面命令创建虚拟磁盘。其中/path/to/disk.img
是虚拟磁盘路径,50G
表示磁盘的大小。
- 启动 KVM 虚拟机安装
1 | qemu-system-aarch64 -m 2048 -cpu cortex-a76 -smp 4 -M virt -bios /path/to/QEMU_EFI.fd -device VGA -device nec-usb-xhci -device usb-mouse -device usb-kbd -drive if=none,file=/path/to/disk.img,id=hd0 -device virtio-blk-device,drive=hd0 -drive if=none,file=/path/to/Kylin-Desktop-V10-SP1-2403-Release-20240430-arm64.iso,id=cdrom,media=cdrom -device virtio-scsi-device -device scsi-cd,drive=cdrom |
注意:使用上面命令启动 KVM 虚拟机安装。其中-m 2048
分配 2048MB 内存;-cpu cortex-a76
指定 CPU 类型;-smp 4
是指定虚拟 CPU 核心数。
- 完成安装
按照虚拟机安装界面的提示完成安装过程。
安装完成后 KVM 虚拟机将自动重启。
使用 KVM 管理虚拟机
- 使用
virsh
命令行工具
列出所有 KVM 虚拟机:
1 | virsh list --all |
启动 KVM 虚拟机:
1 | virsh start <KVM 虚拟机名称> |
关闭 KVM 虚拟机:
1 | virsh shutdown <KVM 虚拟机名称> |
强制停止 KVM 虚拟机:
1 | virsh destroy <KVM 虚拟机名称> |
挂起 KVM 虚拟机:
1 | virsh suspend <KVM 虚拟机名称> |
恢复挂起 KVM 虚拟机:
1 | virsh resume <KVM 虚拟机名称> |
- 使用
virt-manager
图形化界面
virt-manager
提供了一个直观的图形化界面,方便用户管理 KVM 虚拟机。
启动 virt-manager
后,可以连接到本地或者远程的 KVM 服务器,创建、启动、停止 KVM 虚拟机。
山城印象:立体的重庆在细节中生长
聊聊我对生二胎的一些想法
出差自贡市容县三湾湖国际垂钓基地
福建之行
四川博物院
探索扣子空间「邀请码不限量分享」
当今数字化浪潮中,人工智能正以前所未有的速度改变着我们的工作和生活方式。字节跳动于 2025 年 4 月 19 日推出的通用型 AI Agent 平台,无疑是这一变革中一颗璀璨新星,为我们带来了全新的 AI 协作办公体验。
扣子空间是啥
扣子空间是个致力于打造和 AI 协作工作全新工作方式的平台。
它基于字节跳动自研的豆包等国产大模型,用户只需将任务交给智能体,系统就能自动完成需求分析、任务拆解、工具调用、结果生成,支持从网页到文档等多种类输出形式,极大提升工作效率与执行力。
核心特点功能
- 双重模式协作,灵活应对任务需求
扣子空间提供了探索模式和规划模式。
探索模式下 AI 自主动态探索,完成速度更快,适用于时效性强的任务,例如查询最新资讯、获取实时数据等等;规划模式中 AI 深度思考,会先给出任务处理规划,经过用户确认后再行动,执行期间也需用户参与,适合高复杂性任务,如跨行业市场调研、复杂项目规划等等。这种双模式的协作机制,让用户可根据任务属性灵活选择,能更好地与 AI 协作完成工作。
- 强大任务处理能力,实现自动工作流程
扣子空间能够智能解析用户的一句话需求,精准识别意图并将其分解为多个具体任务。系统会自主调用浏览器、代码编辑器等工具执行任务,同时将每个思考和执行步骤清晰呈现,适时的与用户确认意图,确保执行方向准确。
最终输出完整结果报告,如 PPT、网页、飞书文档等等,真正实现了从需求输入到成果输出的全流程自动化。
- 专家级 Agent 生态,提供专业领域支持
平台内置多种领域的专业 Agent,例如华泰 A 股观察助手可生成每日股市早报并解答股票分析问题,用户研究专家可以协助进行用户研究资料深度分析。
这些专家级的 Agent 针对特定领域更专业,能处理更复杂任务,为不同领域的用户提供了便捷的专业服务。
- 丰富插件集成,无限拓展能力边界
扣子空间首批集成飞书多维表格、高德地图、图像工具、语音合成等 60 多款 MCP 模块化能力插件,未来还将支持开发者通过扣子开发平台发布自定义插件。
这些插件涵盖资讯阅读、旅游出行、效率办公等等众多方面,使扣子空间能够满足用户在不同场景下的各种需求,真正实现了功能的无限扩展。
应用场景广泛
扣子空间应用场景十分丰富,涵盖办公、学习、生活、电商、金融等等多个领域。
在办公场景中,可以帮助用户完成撰写文档、数据分析、制作 PPT 等各种工作任务;在学习场景下,能为学生和教育工作者提供课程资料收集、课件制作等辅助教学和学习服务;在生活场景里,可以用于制定旅游计划、查询信息等等;在电商场景中,能够进行商品推荐、用户行为分析;在金融场景下,可为股票分析、金融数据解读等等提供决策支持。
截图与邀请码
扣子空间界面非常简洁,登录后可通过左侧菜单进行任务管理,输入任务描述即可快速创建任务,开始任务后会在右侧显示 Agent 执行过程:
扣子目前机制每次能生成五个邀请码,杜老师会定期更新邀请码的使用状态,也请小伙伴使用后留言邀请码的编号,用尽后会发放新邀请码:
LibreTV 免费的在线视频观看神器
在数字媒体盛行的今天,观看电影、电视剧等视频内容成为了人们日常娱乐的重要部分。然而,许多视频平台要么需要付费订阅,要么充斥大量广告,还有的需要复杂的注册流程,极大地影响了观影体验。今天,就给大家介绍一款名为 LibreTV 的开源工具,它将彻底改变在线观影方式。
LibreTV 是什么
LibreTV 是个轻量级、免费的在线视频搜索与观看平台,无需注册账号,也无需要下载安装任何软件,更不需要付费订阅,只要连接网络,通过浏览器就可以随时随地访问。
它采用纯前端技术构建,结合了前端技术和后端代理功能,可以轻松部署在各种支持服务端功能的网站托管服务上。
LibreTV 的优势
免费使用:无需支付任何会员费用,即可畅享海量视频内容,真正实现了看片不花钱。
多源搜索:聚合了多个视频源,能更全面地搜索到电影、电视剧等各类影视资源,可轻松找到想看的内容。
跨多平台支持:无论电脑、平板还是手机设备,均能完美适配,随时随地满足观影需求。
静态部署:不需要后端服务器,部署简单快捷,大大降低了搭建和维护成本。
广告过滤:内置广告过滤功能,有效屏蔽广告干扰,提供更加干净、更优质的观影体验。
自定义 API 接口:用户可以根据自身需求添加或修改视频源,灵活性非常强,可以不断拓展影视资源。
LibreTV 的功能
多源视频搜索:覆盖丰富电影、电视剧等内容,支持多视频源自动聚合,一次搜索即可获取更多结果。
响应式 Web 设计:能够完美适配各种屏幕尺寸设备,无论是 PC 端还是移动端,都可以获得良好的观看体验。
本地存储搜索历史:将搜索历史存储在本地,方便用户下次快速查找之前看过影视内容。
快捷键的支持:播放器支持多种键盘快捷键,如全屏快进快退等,让操作更加的便捷。
HLS 流媒体支持:兼容 HLS 流媒体格式,确保视频播放更加流畅稳定。
可选密码保护:支持设置密码保护,增强访问控制,保障观影隐私。
LibreTV 的安装
- 用 Cloudflare Pages 部署
Fork 或者克隆 LibreTV 仓库 到 GitHub 账户。
登录 Cloudflare Dashboard 进入 Pages 服务。
点击创建项目,连接到 GitHub 仓库。
使用以下设置:构建命令「留空」(无需构建)输出目录「留空」(默认为根目录)
最后点保存并部署。
可选:在设置环境变量中配置密码保护。
- 用 Vercel/Netlify 部署
与 Cloudflare Pages 类似,只需要连接仓库并部署即可,无需特殊配置。
点击仓库中的部署按钮,按照提示完成部署流程。
- 用 Docker 部署
1 | docker run -d --name libretv -p 8899:80 -e PASSWORD=your_password_here bestzwei/libretv:latest |
注意:使用 Docker 运行 LibreTV,运行以上命令。然后打开浏览器输入 http://localhost:8899
即可访问。
- 用 Docker Compose 部署
1 | version: '3' |
注意:将上面内容保存到 docker-compose.yml
文件中,然后运行 docker-compose up -d
命令即可启动 LibreTV。
LibreTV 的使用
搜索视频:打开 LibreTV 的网页界面,直接在搜索框中输入想看的电影、电视剧关键词,点击搜索按钮或者按回车键,系统会自动聚合多个视频源。
可选择播放源:在搜索结果中,可以看到不同视频源提供的播放链接,根据喜好选择一个合适的播放源,点击进入播放页面。
播放控制:在播放页面可通过播放器的控制按钮进行播放、暂停、调整音量、可切换清晰度、拖动进度条等常规操作。此外,还可以使用键盘快捷键来进行屏、快进快退操作,提升观影体验。
查看历史记录:LibreTV 会将搜索历史存储在本地,可在搜索框下方或相应的历史记录区域查看和点击之前搜索过的内容,方便快速查找以及继续观看。
Electerm 高效便捷的开源终端工具
在数字化工作时代,一款高效、便捷的终端工具对于开发者、系统管理员和网络工程师等人群来说至关重要。Electerm 作为一款开源免费的跨平台终端模拟器,凭借其丰富的功能和优秀的用户体验,成为了众多用户的首选。
Electerm 的简介
集终端模拟器、文件管理、远程连接、SFTP 客户端等功能于一体,支持 Windows/macOS 和 Linux 等多种操作系统。不仅功能强大,而且界面简洁直观,易于上手。
Electerm 支持在同一窗口中运行多个 SSH 会话,方便用户可同时管理多个远程服务器。同时,它还支持多种认证方式,包括密码、密钥、双因素认证等,充分满足不同用户安全需求。
安装方法
- Windows 系统的安装方法
访问 Electerm 的 官方网站,进入下载页面,找到 Windows 相关安装包。下载完成后双击安装包,进入欢迎界面,选择安装模式,浏览选择安装位置点击安装,等待安装完成即可。
另外,也可选择下载免安装版,解压到磁盘自定义目录,直接打开 electerm.exe 就能使用了。
- Linux 系统的安装方法
对于一些 Linux 发行版,如 Ubuntu、Kylin 等,用户可直接通过系统的内置软件商店进行安装:
使用方法
- SSH 连接项
打开 Electerm 后,在主界面点击左上角的加号,选 SSH。在弹出的对话框中输入主机地址、用户名以及密码等相关信息,点击连接按钮。
- 文件传输
在连接到远程服务器后,点击左侧边栏文件管理选项,进入文件管理界面。在该界面中用户可以看到本地和远程服务器的文件目录,通过简单拖拽操作,即可实现文件的上传和下载。
- 自定义快捷键
Electerm 允许用户自定义快捷键和主题,以满足个人操作习惯和视觉喜好。点击顶部菜单栏的设置选项,进入设置界面。在快捷键部分,用户可根据自己的需求对各种操作的快捷键进行修改和设置。在主题项部分,提供多种预设的主题供用户选择,同时用户也可以根据自己的喜好对主题的颜色、字体等进行自定义调整。
- 其它功能
Electerm 支持多语言,包括英语和中文等,用户可以在设置中进行语言切换。此外,它还具有自动完成、自动重连、透明窗口、终端背景图像等等功能,为用户提供更加便捷和个性化的使用体验。
Wave Terminal 多功能开源终端工具
在现代开发工作中,终端是我们必不可少的工具之一。今天要给大家介绍的 Wave Terminal,无疑是一款将传统终端功能与图形化能力完美融合开源终端,能够极大地提升我们的工作效率。
Wave Terminal 的简介
Wave Terminal 是一款支持 macOS/Linux 和 Windows 三大操作系统跨平台终端。
它不仅具备常规的终端功能,还集成了诸多高级特性,例如文件预览、网页浏览、AI 对话等。这使得开发者在使用终端时,无需频繁切换其它应用程序,即可完成多种任务。
使用方法
界面布局模块操作:Wave Terminal 的默认界面左侧为终端命令行模块,中间区域分别是 CPU 性能、浏览器和本地文件路径模块,右侧则有帮助、提示和 AI 对话模块。这些模块均可根据个人需求随意拖动位置、多开、添加、删除。
多命令行窗口使用:可同时打开多个命令行窗口,方便在不同项目或任务之间切换。例如,在一个窗口中运行项目服务,另一窗口中执行相关命令进行调试等操作。
文件路径浏览操作:在文件路径模块中,用户不仅可以查看文档、图片,还能播放视频。直接输入文件路径或者通过图形界面浏览文件系统,快速定位到所需文件并进行编辑或者查看。
网页浏览功能:利用内置的浏览器模块,可以直接在终端中浏览网页。这在需要查阅技术文档、搜索解决方案等场景下非常方便,无需切换到其它浏览器,节省了时间和精力。
AI 对话的功能:借助右侧的 AI 对话模块,用户可以与 AI 进行交流。无论寻求编程建议、解决问题思路,还是进行其它知识性的问答,都能得到及时的回复和帮助。
远程连接功能:通过 Wave Terminal 可以方便地连接到本地内网的 Linux 服务器。以 Ubuntu 系统为例,先在 Ubuntu 系统安装 SSH 服务,执行 sudo apt -y install openssh-server
命令进行 SSH 安装,安装完成后执行 sudo systemctl status ssh
命令查看 SSH 的服务状态,若显示绿色 running 提示则表示服务已启动。然后在 Windows 系统 Wave Terminal 中,输入 ssh 用户名@服务器 IP
命令,输入密码后即可连接到远程 Linux 服务器。
周报 #93 - 婚礼纪录片与失落的电影院
前言
本篇是对 2025-04-22
到 2025-04-27
这周生活的记录与思考。
这周「婚礼纪录片」出来了,收到了一些祝福,很开心,也有一些新的思考;去线下看了一场电影,想到了一些关于影院的记忆;入手了 NuPhy Kick75 键盘,体验很不错,找到了一些玩任天堂复古掌机的感觉;还有很多有意思的事。
婚礼纪录片
我在之前的一篇周报中说到 ——
我今年也想以「人生清单」的视角去生活,去寻找生活中不曾注意过的风景,去做一些自己曾经觉得遥不可及的事。
婚礼、展览、在舞台上自己主持,这些对于我这个性格测试中 i 值达到 80%+ 的人来说似乎都有着很大的挑战,但现阶段的我也已经不再怯于去尝试人生中的这些“不可能”了。
也很幸运请了很棒的摄像/导演,记录下了全程。当时看他提供的一些婚礼样片的时候就感觉很不错,像是一个纪录片在静静讲述着故事,经过了长达两个月的等待,终于看到了成片(P1 是一个短片,P2 是全程记录)。
关于婚礼本身,其实已经过去了两个多月,又有了一些新的感受。前两天学姐给我转发了这样一段话 ——
婚育是一场巨大的
“人生意义危机转移计划”
用结婚和生育养育这些
耗费巨大精力的事情,占据人的所有精力。
以至于人没有力气,再烦恼人生的意义。
去消解人一旦闲下来就会思考
“人活着究竟有什么意义”
这类虚无的难题的困境。
我回想了一下,确实。在最初准备婚礼的时候,因为一共只有三个月的时间要处理完大家通常用一年甚至更久的时候来筹备的仪式,所有环节都很极限,忙碌到我们常常有时候反问自己 —— “我们为什么要结婚来着”。
似乎当生活的齿轮一旦开始转动,来自社会、家人以及根植在我们性格深处的文化传统都在加速推动着我们向前,焦虑着一些很具体的事务,比如早上十点和婚庆的策划会,比如婚纱、西服选什么款式,而不再去思考或是质疑那些虚无缥缈的“意义”,这很可怕。
但终究我们不是那种甘心妥协的人,即使依然有世俗的框架与很多琐碎的事务,我们依然尽力在其中融入更多我们的想法,去传达一些我们对婚姻与爱情的理解,去赋予这场仪式更多独特的意义。
想起 23 岁时我对自己说的话(见「23 岁的自白:去追寻意义」)——
我仍然不觉得自己触碰到了一直在找寻的意义,如今的一切成败是非也仅仅是妥协所形成的答案,也许永远找不到了,但这个过程却给了前进的勇气,也许思考本身就是建构意义的过程,让我不再期待某个瞬间能够顿悟,只是希望继续向前,体验和追寻着自己的人生。
很庆幸自己依然还在践行着当初的这些话,也更幸运找到了一起并肩作战的那个人,和我一起追寻这些“无意义”的意义。
失落的电影院
周中的一个晚上学姐邀请我去看电影,一部意大利的黑白电影《还有明天》,难得有看到院线上映这种还算小众的片子,到了发现包场了,配合着意大利的配乐,倒还真有置身老电影的感觉。
除了片子本身,这个影院也带给了我一些感触。
我们去的是杭州的一家叫作“比高电影城”的影院,从我小时候就一直在了。因为离得很近,所以之前也常常和家人一起去,这张照片就是 10 年前我和妹妹去看的时候留下的。
这么多年过去了,杭州发生了很多变化,甚至周遭的商圈也都换了好几轮了,这家影院没有扩张却也没有倒闭,还是最初的样子,不算破败却有些冷清。
电影其实并不算是人生活的什么刚需,但影院和书店一样,常常是我们这一代人少时生活与回忆的载体,而如今我们已经渐渐成长为大人,它们却也依然像是个年迈的长者一样,失落却又温和地注视着这些人生起伏。
很喜欢朱塞佩·托纳多雷导演的一部电影《天堂电影院》,也是十几年前看的了,描绘了意大利的一个小镇上的一家电影院,临近结尾有一个多年后因为需要改建而炸掉原来的影院的场景,当时看得热泪盈眶,现在回想似乎也有了更多感同身受。
个人生活剪影
捏捏与饭饭
刚才两个小猫默契跑到我书桌旁边的床上撒娇玩闹,也太可爱了 ❤️
有趣的事与物
设备
心心念的 NuPhy Kick75 到啦!!比想象得厚重一点,颜色很清新舒服,有回到小时候玩任天堂掌机的氛围,感觉打字都成了享受。
上篇还说到断舍离,但是 Retro 风格 + 致敬任天堂元素,这谁忍得住啊!
输入
虽然大部分有意思的输入会在 「Yu's Life」 Telegram 频道里自动同步,不过还是挑选一部分在这里列举一下,感觉更像一个 newsletter 了。
我把 Telegram Channel 消息作为内容源搭建了一个微博客 —— 「daily.pseudoyu.com」,可以更方便浏览了。
收藏
文章
- 「AI 编程」 vs. 「热奶宝」,想到之前有人做了一个「Not Generated By AI」Badge/声明,或许未来也不是玩笑了。
- 我的朋友谢扬,他的 Fellou,以及这个时代的创业者,写得真好,才知道谢扬也就跟我也差不多大...
视频
电影
- 还有明天,电影本身是很有趣的叙事节奏,前面日常的镜头把压抑窒息描绘得很真实,高潮部分咖啡厅炸的那一刻也有被燃到。片子本身讲女性处境、意识觉醒和地位独立,“选票比情书更重要”,“没关系,还有明天”,最后的结局并没有专注在个体的“逃离”而是群体/体制的更迭,错愕之余也有些深省。
剧集
开源实例之Uptime Kuma
前言
Uptime Kuma is an easy-to-use self-hosted monitoring tool.
Uptime Kuma 是一款开源自托管的轻量级监控工具,拥有简洁美观的界面和丰富的告警方式。
实例地址
https://uptime-kuma.dujun.eu.org
实例配置
配置 | 描述 |
---|---|
系统 | Debian |
服务端 | Node.js 20 |
程序 | Uptime Kuma 1.23.16 |
实例部署
官网地址:https://uptime.kuma.pet
仓库地址:https://github.com/louislam/uptime-kuma
Docker部署
docker run -d --restart=always -p 3001:3001 -v uptime-kuma:/app/data --name uptime-kuma louislam/uptime-kuma:1
本地部署
#克隆源码
git clone https://github.com/louislam/uptime-kuma
cd uptime-kuma/
#构建项目
npm run setup
#启动项目
node server/server.js
实例体验
后记
本实例仅供参考,不定期重置数据。
开源实例之SoybeanAdmin
前言
SoybeanAdmin 是一个清新优雅、高颜值且功能强大的后台管理模板,基于最新的前端技术栈,包括 Vue3, Vite5, TypeScript, Pinia 和 UnoCSS。它内置了丰富的主题配置和组件,代码规范严谨,实现了自动化的文件路由系统。
实例地址
https://soybeanadmin.dujun.eu.org
实例配置
配置 | 描述 |
---|---|
系统 | Debian |
服务端 | Node.js 20 |
程序 | SoybeanAdmin 1.3.13 |
实例部署
权限要求
- 具有系统读写权限
- 已安装 Node.js 18.12.0+、pnpm 8.7.0+
安装程序
官网地址:https://soybeanjs.cn
仓库地址:https://github.com/soybeanjs/soybean-admin
#克隆源码
git clone https://github.com/soybeanjs/soybean-admin
cd soybean-admin/
#安装依赖
pnpm i
#开发环境启动项目
pnpm dev
#构建项目
pnpm build
实例体验
后记
本实例仅供参考,不定期重置数据。
未曾踏足的小径
Coze扣子空间邀请码
Coze是字节跳动旗下的新一代 AI 应用开发平台
来自倾城于你的传递。
第三批
https://www.coze.cn/space-preview?invite_code=CKK0IEV2https://www.coze.cn/space-preview?invite_code=ZP24X1SJhttps://www.coze.cn/space-preview?invite_code=BBXUXXZ0https://www.coze.cn/space-preview?invite_code=DQC6XW8Ahttps://www.coze.cn/space-preview?invite_code=WK2DQ1QHhttps://www.coze.cn/space-preview?invite_code=7VNGHK9Ohttps://www.coze.cn/space-preview?invite_code=G6740HI7https://www.coze.cn/space-preview?invite_code=DY2LAKRJhttps://www.coze.cn/space-preview?invite_code=A4SEL6IIhttps://www.coze.cn/space-preview?invite_code=91D4D5K6https://www.coze.cn/space-preview?invite_code=S9Y8POSEhttps://www.coze.cn/space-preview?invite_code=UQ3OFZUJhttps://www.coze.cn/space-preview?invite_code=2T1B1QTThttps://www.coze.cn/space-preview?invite_code=62Y2N7PVhttps://www.coze.cn/space-preview?invite_code=WXPZ8X4Thttps://www.coze.cn/space-preview?invite_code=JJ3R4WEUhttps://www.coze.cn/space-preview?invite_code=MLI00CGHhttps://www.coze.cn/space-preview?invite_code=YZU604IZhttps://www.coze.cn/space-preview?invite_code=VVUH35MVhttps://www.coze.cn/space-preview?invite_code=GKHUBTT2https://www.coze.cn/space-preview?invite_code=BHQX8TQShttps://www.coze.cn/space-preview?invite_code=929IYX7Phttps://www.coze.cn/space-preview?invite_code=QCRIO110https://www.coze.cn/space-preview?invite_code=BBRKX2KFhttps://www.coze.cn/space-preview?invite_code=0XD79CLS
第二批
https://www.coze.cn/space-preview?invite_code=TKT8UKINhttps://www.coze.cn/space-preview?invite_code=CSE4F8OZhttps://www.coze.cn/space-preview?invite_code=DYSD9H3Rhttps://www.coze.cn/space-preview?invite_code=H2Z8EOB3https://www.coze.cn/space-preview?invite_code=GWGML845
第一批
https://www.coze.cn/space-preview?invite_code=J066QB7Yhttps://www.coze.cn/space-preview?invite_code=8ZGW96V1https://www.coze.cn/space-preview?invite_code=WEHKH3B3https://www.coze.cn/space-preview?invite_code=0VV2L9WJhttps://www.coze.cn/space-preview?invite_code=2XUZQIGE
SimpleMindMap 开启思维可视化之旅
在信息爆炸的时代,思维导图已经成为高效整理知识、梳理思路必备工具。而 SimpleMindMap 作为一款强大的 Web 思维导图工具,凭借其独特的魅力,正吸引着越来越多用户目光。
SimpleMindMap 是什么
SimpleMindMap 既是思维导图的 js 库,也是一个完整思维导图工具。
功能丰富,能满足思维导图的各种需求,无论是简单的想法记录,还是复杂知识体系构建。
其插件化设计理念,使得除核心功能外的其它能力都作为插件提供,用户可以按需选择,避免了冗余代码的困扰。
而且易于使用,开箱即用,配置丰富,文档清晰,无论是编程新手还是有经验的开发者,都能快速上手。
安装方法
- 在线使用
最便捷的方式便是直接在线使用。这种方式适合临时使用或者快速尝试工具功能的场景。
访问 在线思绪思维导图,无需繁琐安装过程,即可立即开始创建思维导图。
- 本地部署
1 | services: |
注意:对于一些对数据安全和隐私有严格要求的用户,本地部署是最理想选择。将上面的内容保存为 docker-compose.yml
文件,然后用 docker-compose up -d
命令启动容器。
使用方法
- 创建思维导图
打开 SimpleMindMap 应用后,首先会看到一个简洁的界面。点击「新建」按钮,即可开启一张新的思维导图。
在中心出现一个根节点,这是思维导图起点。可双击根节点,为其输入主题名称,比如「我的学习计划」。
- 添加分支节点
确定好主题后,接下来就是添加分支节点来细化内容。先选中根节点,会发现有一些添加子节点的按钮或快捷键提示。
通常可以通过点击这些按钮或使用快捷键「如 Tab 键等」来创建子节点。例如,在「我的学习计划」根节点下,添加「语文」「数学」「英语」等学科子节点。
- 编辑节点内容
对于每个节点,不仅可以修改文字内容,还可以进行丰富的格式设置。在选中节点后,可通过顶部菜单栏或者右键菜单找到编辑选项。
比如,可以设置字体大小、颜色,加粗、倾斜文字,甚至可以插入图片、链接等多媒体元素。
- 调整布局
SimpleMindMap 提供了多种布局方式,以满足不同的展示需求。在菜单栏找到布局选项,有常见的思维导图布局。
可根据思维导图的内容结构和美观度考虑,随时切换布局,直观地看到不同的展示效果。
新手跑步第五次:单人挑战不间断半马
开源实例之 js13kGames 2019 选辑
前言
js13kGames 是一项年度游戏开发比赛,特色是源代码限制为 13KB,详见介绍。本篇是 js13kGames 2019 年作品选辑,主题是 back,包含121款游戏。
实例地址
https://js13kgames-2019.dujun.eu.org
实例配置
配置 | 描述 |
---|---|
系统 | Debian |
服务器 | Nginx |
程序 | js13kGames 2019 选辑 |
实例部署
权限要求
- 具有系统读写权限
- 已安装 Nginx
安装程序
移植官网页面,用每款游戏的开源代码独立部署。
实例体验
后记
本实例仅供参考,不定期重置数据。
HandBrake:将蓝光电影批量压制为 MKV
HandBrake 是一款功能强大的开源视频转换工具,支持 Linux、macOS 和 Windows 系统。它可以将已有的视频文件转换为在手机、电视盒子、游戏机、电脑或浏览器等多种设备上兼容的格式。支持的视频格式广泛,包括普通摄像机拍摄、屏幕录制以及蓝光源等。
我个人收藏了不少蓝光电影资源,但在 Emby 中无法直接播放。将资源迁移至云盘后,更是连在线播放都成问题。因此,我决定使用 HandBrake 将这些资源重新压缩为支持软字幕的 MKV 格式,以便在不同设备间更好地播放和管理。
操作说明
1. 导入视频源
打开 HandBrake 后,点击左上角的“打开源(Open Source)”按钮。可选择以下方式导入视频:
- 直接选择单个视频文件;
- 导入整个 BDMV 文件夹(HandBrake 会自动识别主电影);
- 实测可加载映射为 cd2 路径的 115 网盘本地资源。
导入后,程序会自动分析视频内容,识别出音频轨道、字幕轨道等元数据。
2. 设置字幕轨道
切换到“字幕(Subtitles)”标签页后,点击“轨道(Tracks)” > 添加所有剩余字幕轨道。
常见设置建议如下:
- 主语言字幕:不勾选 Burn In,可勾选 Default;
- 强制外语字幕(如英语电影中的西班牙语对白):
- 勾选 Burn In(烧录字幕);
- 同时勾选 Forced Only(仅提取强制字幕);
以下为字幕选项的详细说明:
| 选项 | 说明 | 建议设置 | |
Mt Coot-Tha库萨山夜爬·呼吸新鲜空气
Logseq 高效知识管理与协作利器
Logseq 以其出色的知识管理能力、便捷协作功能、强大的隐私保护以及灵活的可扩展性,成为了日常学习和工作中不可或缺的工具。不仅帮助高效地记录和整理知识,还激发了创造力和思考能力。
Logseq 的简介
Logseq 是一款开源的本地优先知识管理和协作平台,它完美融合了大纲笔记与双链笔记的优势,还注重用户的个人隐私保护。支持多种文件格式,包括 Markdown 等,满足不同用户写作习惯,同时提供了丰富的插件生态系统,用户可以根据自身需求扩展功能:
它不仅具备强大的笔记编辑能力,还内置了任务管理、日历视图、知识图谱功能,助力用户更好规划工作、学习、生活,无论整理学习资料、记录工作要点,还是进行团队协作,Logseq 都可以轻松胜任:
Logseq 的安装
Logseq 的安装十分便捷。电脑端用户可以从 官网,根据自身操作系统选择对应的安装包进行下载安装,如 Windows、Linux 等都有适配版本。首次打开会自动创建一个知识库,也可以根据需要自行创建新的知识库。
手机端用户同样可以在 App Store 或官网下载安卓端 Logseq 应用程序,实现移动端与桌面端的无缝同步,方便用户随时随地查看、编辑笔记。
Logseq 的使用
创建编辑笔记:在 Logseq 创建笔记非常简单,点击界面右下角的加号按钮,即可新建笔记。在编辑界面可以使用 Markdown 语法文本进行排版,例如设置标题、段落、列表、链接等等,还可插入图片、表格等等元素,让笔记内容更加的丰富多样。
添加标签属性:为更好地对笔记进行分类和管理,可为笔记添加标签。在笔记编辑界面中,点击右上角的「标签」按钮,输入相关标签名称即可。此外 Logseq 支持为笔记添加属性,如优先级、状态、日期等等,方便用户从不同维度对笔记进行筛选、查询。
双向链接:这是 Logseq 的核心功能之一。当在一篇笔记中提及另一个已存在的笔记内容,Logseq 会自动在两者间建立双向链接。也可以手动在笔记中入「笔记名称」的形式来创建链接,通过双向链接,可以轻松构建起一个有机的知识网络,方便在不同笔记间穿梭浏览,发现知识间的隐含关联。
知识图谱:借助知识图谱功能,可以直观地看到笔记之间的链接关系。点击界面左侧边栏「知识图谱」按钮,即可进入图谱视图。在这个视图中,节点之间的连线表示它们之间的双向链接关系。可以通过放大、缩小、拖拽等操作来浏览图谱,还可以查看某个笔记的关联笔记列表。
淘淘丢包记
临海熊出没欢乐港湾一日游发生了一个小插曲,淘淘的小包(上图红色圈注)弄丢了。里面装满了淘淘心爱的小玩具,还有两件有实用价值的物品——小天才手表的充电线和保护壳。
我们计划在园区玩一整天,晚上还要玩夜间项目。饭点回家,到车里整理物品才发现小包不见了。淘淘当场就开始哭,我马上从车库返回园区沿路寻找,无果。于是我立即求助园区工作人员,先到入口向检录人员说明了情况。她立即在系统里查失物招领信息,随后又在群里喊话。等待了一会儿没有小包的消息,工作人员就告诉我,去服务中心登记,后面如果找到了会联系我。我依言去了服务中心,那边的工作人员更细致地告诉我,闭园清场时所有工作人员会集中整理上交游客遗失的物品,到时会联系失主。我填写了手机号和相关信息,便带一家人先回去吃晚饭。
这个小包和里面的玩具是淘淘的心头好,经常放在枕边陪着睡觉。情感因素很大,但实际的经济价值是不高的。从我本心出发,就等园区的消息,没有就算了。但是架不住淘淘又哭了几次鼻子,我们只能早早吃了晚饭,就返回园区,直奔服务中心打听新情况。得到的答复仍然是没有找到,我就顺嘴问了一下能否查一下监控。我跟老婆反复确认了,在下午离园最后一个项目排队时小包还放在推车里,如果是在园区丢的,查那个项目的监控就可以了。
我的目的很简单,就是确认下,如果是工作人员捡到了,那就有拿回来的希望;如果是游客捡走了,那么其实很难,也不值得付出代价去追回了。但是在我提出查监控的请求之后,事情就朝着出乎我意料的方向发展了。
接下来的故事就有点主旋律叙事的意味,但确实是我的真实感受,我非常感谢园区工作人员对待这件事的积极态度。
服务中心的工作人员同意了我查监控的请求,然后开始在手机里沟通。我以为是内部看一下监控,然后告诉我大概结果。然而过了一段时间工作人员跟我说,可以直接带我去监控室。我听到有点懵,更懵的是随后整整走完了整条商业街的路程。我本以为在附近,没想到她亲自陪我走了这么久。途中我就感到不好意思,还特地解释了一下包里并没有值钱的物品,都是孩子玩具,她不以为意。
到了监控室,找到两组镜头与我停放推车的位置相关,但都有遮挡。两名监控室工作人员一人负责一个视角,彼此对照,几乎逐帧分析靠近过我推车的人。最后得出结论,不存在可疑人员偷拿。整个过程耗时近 40 分钟,两名监控室工作人员为我磨了这么长时间,耐心且细致。而那位带我过来的服务中心工作人员全程陪同,加上来回赶路的时间,她整整为我耽误了一个小时。与他们告别时我只能反复说着谢谢。
最后包没有找回来,但是我已经没有丢东西的懊恼情绪了,更多的是对工作人员的感激。这个小包被如此兴师动众地找寻,也是得到了华丽的谢幕。
故事的后续是我们在网上重新买了小天才配件和一部分玩具。我也适时就这件事告诉淘淘,人生不如意事十之八九。一方面以后多留心随身物品,另一方面不要被坏情绪影响太久。
骑行
潼南:安岳和大足之间的小众石刻
临海熊出没欢乐港湾一日游
清明携全家回了趟临海。老家附近的新地标“熊出没欢乐港湾”从几年前开始建设时就听爸妈念叨,趁这次去亲身体验。宝宝问去哪里,我还逗她们说去临海的迪斯尼。
临海熊出没欢乐港湾是华强方特精心打造的首个以“熊出没”IP为元素,以水陆双乐园为核心,集“吃、住、游、购、娱”于一体的城市亲子休闲度假区,共有三十余个室内外特色游乐项目、多项特色演艺以及大量休闲景观、风味餐饮和特色商店。
没有2大2小的套票,算下来买两份1大1小最便宜(1大1小官方价168、抖音直播价 143),减去优惠实付 280.97元。
游乐设施对儿童友好,休闲不刺激。例如跳楼机和过山车都是儿童版,高度很低。游客密度也合适,绝大部分项目不需要长时间排队。姐妹俩很开心,从早到晚扎扎实实地玩了一整天,绝对值回票价。
在收费乐园的外围是很大的商业步行街,晚上还可以看花车巡游和喷泉、打铁花表演。所以就算不花钱入园,周边也是很有可玩性的。
打铁花表演
最后又在滑滑梯这里玩了很久,流连忘返。
畅玩一天,完美收官。
Linux 系统监控利器 ctop 命令详解
在 Linux 系统,尤其是当我们在管理多个容器时,了解系统和容器的资源使用情况至关重要。今天,就给大家介绍一款强大的监控工具 ctop,本文详细介绍 ctop 的安装、使用、命令选项。
ctop 命令的简介
ctop 是一个类似 top 命令的界面工具,它专注于容器环境,能够实时监控 Docker/Podman 等容器运行时的性能指标,如 CPU、内存、网络、磁盘 I/O 等使用情况。
它以一种直观的方式展示各个容器的详细信息,让管理员可以迅速掌握系统整体健康状况,并且快速定位到可能存在性能瓶颈的容器。
与传统 top 命令相比,ctop 提供更丰富的容器相关数据和更便捷的交互方式。
它不仅能展示容器的基本资源使用率,还能深入到每个容器的进程级别,查看内部运行具体进程,这对于深入分析容器性能表现非常有帮助。
ctop 命令的安装
- Linux 系统的安装方法「以 Ubuntu 为例」
1 | sudo wget https://github.com/bcicen/ctop/releases/download/v0.7.7/ctop-0.7.7-linux-amd64 -O /usr/local/bin/ctop |
注意:可以直接从 Github 下载最新版本的二进制文件进行安装,以上是具体的步骤「这里以 v0.7.7
版本为例」最后,用命令 ctop -v
验证是否安装成功,若可以正确显示版本号,说明安装成功。
- 通过 Docker 的方法安装
1 | docker run --rm -it --name=ctop -v /var/run/docker.sock:/var/run/docker.sock quay.io/vektorlab/ctop:latest |
注意:也可以使用 Docker 快速启动 ctop 容器来进行监控。
ctop 命令的使用
- 基本使用
在终端中输入 ctop 命令后回车,即可启动 ctop 程序进入主界面。在界面中,会显示出所有正在运行的容器及其资源使用情况的概览,包括容器名称、CPU 使用率、内存使用量及限制、网络收发速率、磁盘读写速率、进程数等信息。
可以通过方向键上下移动光标来选择不同容器,然后按下回车键可以查看到所选容器详细信息,如容器的创建时间、各资源的详细使用数据以及内部运行的进程列表等。
- 命令选项
命令选项列表如下:
选项 | 描述 |
---|---|
ctop -a | 只查看正在运行中容器,方便专注那些实际处于活动状态、可能对系统资源产生影响的容器。 |
ctop -f string | 查看包含指定字符串的容器,当系统中有大量容器时,利用此选项可快速过滤出我们关心的特定容器进行监控。 |
ctop -i | 反转默认颜色,如默认的颜色显示效果不佳,或需要与其它界面风格保持一致,可使用该选项来改变界面的颜色显示。 |
ctop -r | 反向容器排列顺序,默认情况下存活的容器在前,使用此选项可将其顺序反转,以便按照不同顺序查看容器。 |
ctop -s string | 按照指定字段排序,如执行 ctop -s net 可以按照网络使用率对容器进行排序,从而快速找到网络流量较高容器。 |
交互操作
交互操作列表如下:
操作 | 描述 |
---|---|
h | 打开帮助,在使用过程中如果忘记了某些快捷键的功能或者想了解更多操作方法,可以随时按下 h 键查看帮助信息。 |
s | 打开排序,通过此快捷键可以方便地切换不同的排序字段,无需重新输入命令选项。 |
q | 退出打开的对话框,当查看完帮助信息或排序设置后,按下 q 键可以退出相应的对话框,返回到主界面。 |
a | 只显示正在运行的容器,与 ctop -a 命令效果一致,但在已经启动了 ctop 程序的情况下,使用快捷键可更快速地切换显示模式。 |
r | 反转排序,正在运行容器放在末尾,方便在不同的排序需求之间快速切换。 |
f | 输入指定字符串过滤出想要查看容器,与 ctop -f string 命令类似,无需重新输入命令,直接在当前界面中进行过滤操作。 |
j | 用于向下移动光标,方便在容器列表中快速定位到不同的容器。 |
k | 用于向上移动光标,方便在容器列表中快速定位到不同的容器。 |
Enter | 查看指定容器详细指标,当光标定位到某个容器,按下回车键即可进入该容器详细信息界面,查看更全面的资源使用以及进程信息。 |
周报 #92 - 数码产品 Porn 与断舍离
前言
本篇是对 2025-04-15
到 2025-04-21
这周生活的记录与思考。
这周的主基调是处理工作、调整作息与学习;去了安吉 DNA 数字游民公社找朋友,或许考虑过去住几天;感觉最近由于 AI 有关的各种新概念、模型、框架有些过于繁杂,稍有些 burnout,于是重新在 Things 里制订了一些学习计划;久违地追了一些新剧;还有很多有意思的事。
数码产品 Porn 与断舍离
我之前是一个很极端的数码产品和软件工具爱好者,或许也是因为从小到大虽然生活无虞,但我们家的习惯是并不会有很具体的叫“零花钱”的概念,日常没办法存下什么钱,也不会因考得好或是什么而得到奖励,所以小时候即使是想要一个并不昂贵的玩具也需要省很久。
当时很羡慕我表哥的一台 Nintendo Game Boy Advance SP,很经典的那款翻盖带背光的游戏机,可以插卡带玩口袋妖怪(现在的宝可梦),每个游戏都通关了好多遍;当然,随着年龄增长与喜好的变化,后来想要的东西也越来越多,正值智能手机兴起,也想要一台当时刚刚推出的诺基亚 5230;包括高中之后同学的 iPhone 4 和 NDS 游戏机也都让我心动。
但这些都一直没能如愿真正拥有,甚至似乎成为了一种执念。
直到大学后实习、创业和工作,经济独立了,似乎开始有些报复性地看各种数码评测,也陆续拥有了新款高配 MacBook Pro、Mac Studio、iPad、iPhone、Sony 相机、Switch、Steam Deck 和各式键盘,会把所有的包装盒堆在我的书架和衣柜上的空间里,看到就有一种很强的满足感。
有时候觉得或许自己并不是真正想要这些东西,开箱所带来的新鲜感与兴奋感往往转瞬即逝,随即则需要买更多东西来维持,像是陷入了一种数码产品 Porn,是对曾经没办法拥有的自己的一种补偿,只会带来严重的娱乐/生产力过剩。
前段时间在筹备结婚和搬家,开始“变卖”家产,卖掉了大部分使用频次不高的设备,腾挪出了桌面空间,也减轻了许多心智负担,发现自己的心态已经经历了许多转变,当自己想买一个新设备、产品时,似乎又能够回归最原始的理性思考逻辑了 ——
我的需求是什么?它能否满足我?
最近用了四年的主力机 iPhone 13 坏了,几乎离不开充电线,也经常开不了机。
原本一直想着能够苟到今年秋季 Apple 新品的发布去买个海外版,虽然对新的设计和功能也没多少兴趣,至少能用上 ESIM 和 Apple Intelligence。但总归是得解决或是过渡一下,于是去闲鱼上淘了一个 iPhone SE3,折腾了一番迁移后发现够用但屏幕有点小,也稍有些卡顿,作为主力机还是有点勉强。
于是又给 19 年买的的 OnePlus 7 Pro 重新开了机,虽然和 iOS 生态差异很大,却也刚好契合我逐步想只把手机当作基础通讯工具的习惯,而且惊奇地发现其实也很够用。想起来当时买它也并不是因为缺一个手机,而是被它的真全面屏、屏下指纹和升降摄像头的设计所惊艳到,作为备用机服役了一年多就闲置了。
重装了一下发现之前刷的氧 OS 2022 年底就不再更新了,停留在了 Android 12,但完全没觉得缺什么功能,反而感觉很流畅,似乎其实六年前的旗舰就已经完全足够满足我现在的需求了,还能抢先用上 Folo 安卓版 🤩。
之前在讲 Chromebook(也已经卖了)的时候提到过:
我其实有很多高性能设备,日常在用的 M2 Max 的 MacBook Pro,由于性能和续航达到了一个很不错的平衡,导致我即使出门在外也随时都能打开来进入工作状态,甚至爬山和散步都会背着,有时候其实并不能很放松地出门或是陪伴身边的人。
其实设备性能已经过剩到并不会制约自己的效率,反而是需要刻意的约束来让我的目光更多转向周遭。
我发现“刚刚好够用”甚至比现在各种虚高性能的产品更为让我心动,于是逐渐开始追寻断舍离与“复古”,这或许也是一种目光投射、心理甚至是生活中心的转变 ——
我不再是那个需要用一堆数码产品包围自己来填补内心空虚的小男孩了,我的生活中有了爱人、猫和更多有意思的人和事,我已经拥有了童年时梦寐以求的 GBA SP 游戏机了。
有趣的事与物
输入
虽然大部分有意思的输入会在 「Yu's Life」 Telegram 频道里自动同步,不过还是挑选一部分在这里列举一下,感觉更像一个 newsletter 了。
我把 Telegram Channel 消息作为内容源搭建了一个微博客 —— 「daily.pseudoyu.com」,可以更方便浏览了。
视频
剧集
Linux 下的高效压缩工具 Zstandard
Zstandard 以其卓越的性能和丰富的功能,成为了 Linux 下一款不可或缺的压缩工具。无论是对单个文件还是整个目录的压缩和解压,它都可以轻松应对,且在处理速度和压缩效果上都有着出色的表现。
Zstandard 的简介
Zstandard 是由 Facebook 开发并开源的一种快速无损压缩算法,2015 年首次发布以来,凭借其高压缩比和快速的解压缩速度,逐渐受到了开发者青睐。
它不仅在压缩效率上超越传统的 gzip 等工具,还能在保持高压缩率的同时,实现极快解压速度,特别适合对数据处理效率要求较高的场景,如大数据处理、日志压缩、网络数据传输等等。
Zstandard 的特点
高压缩比:通常情况下 Zstandard 能够获得比 gzip 更好压缩效果,有效减少数据存储空间。
快速解压:其解压缩速度极快,即使是低压缩等级,解压速度也能远超一些 SSD 的读取速度,大大提高了数据的读取效率。
多线程的支持:Zstandard 自带多线程压缩功能,可以充分利用多核 CPU 的性能,大幅提升压缩速度。例如,在处理大量数据时,多线程压缩能够显著的缩短压缩时间,提高工作效率。
丰富压缩级别选择:提供了从 1 到 22 的压缩级别选择,用户可根据实际需求在压缩速度和压缩率之间进行灵活权衡。压缩级别越高,压缩比率越大,但压缩速度会相应减慢;反之,压缩级别越低,压缩速度越快,但压缩比率会有所降低。
字典压缩模式:Zstandard 为小数据提供一种特殊的字典压缩模式。用户可通过提供一些样本数据来训练生成字典,然后在压缩和解压时加载该字典,从而在小数据上实现更高压缩率,这对于处理大量小文件场景非常有用。
使用模式:Zstandard 提供了多种命令模式,包括压缩、解压、查看压缩信息、测试压缩文件等等。
Zstandard 的安装
Debian/Ubuntu 系统的安装命令如下:
1 | sudo apt install zstd |
Fedora/Red Hat/CentOS/AlmaLinux 系统的安装命令如下:
1 | sudo dnf install zstd |
Arch Linux/Manjaro 系统的安装命令如下:
1 | sudo pacman -S zstd |
也可以从源码编译安装「这里以 1.5.7
版本为例」命令如下:
1 | wget https://github.com/facebook/zstd/releases/download/v1.5.7/zstd-1.5.7.tar.gz |
Zstandard 的使用
- 压缩文件
基础压缩:使用命令 zstd file_name
即可对文件进行压缩,压缩后会生成一个扩展名为.zst
的文件,如 zstd doc.txt
,会生成 doc.txt.zst
文件。
指定压缩级别:可通过选项来指定压缩级别,例如 zstd -3 file_name
表示使用压缩级别-3
进行压缩。
- 解压文件
基础解压:使用 zstd -d archive_name.zst
即可对文件进行解压,解压后的文件会自动去除.zst
后缀。
指定解压后文件名:同样可使用-o
选项来指定解压后的文件名,如 zstd -d archive_name.zst -o new_file_name
。
- 压缩目录
压缩整个目录:可以使用 zstd -rz directory_name
来压缩整个目录,其中-r
表示递归压缩目录中所有文件和子目录,-z
表示压缩的操作。
解压目录:对于压缩后的目录文件,使用 zstd -dr archive_name.zst
进行解压缩,-d
表示解压缩操作,-r
表示递归解压缩。
- 查看压缩文件内容
使用 zstd -l archive_name.zst
可以查看压缩文件的相关信息,如压缩比、压缩级别、文件大小等等。
而 zstd -t archive_name.zst
则可用于测试压缩文件的完整性,确保文件在压缩和传输过程中未损坏。
记录我的前3次跑步:从陪跑到主动出发
使用 Python 脚本下载指定网页的图片文件
有小伙伴反馈说侧边栏随机图出现了重复,有些审美疲劳,要求杜老师再更新一些图片,正好聊天广场有小伙伴分享了一个美图的网址。本文分享如何使用 Python 脚本下载指定网页的图片文件,需要的小伙伴可以参考文中代码。
代码需求
使用 Python 的语言编写一个脚本,下载指定网址中包含的多种格式图片文件,如 JPG 和 PNG 格式图片。
将图片保存至指定的目录中,可以指定绝对路径,或者相对路径。
并用随机数重命名,防止同名图片触发覆盖事件。
尽可能使用 Python 的标准库,尽量避免使用第三方库。
变更解释
导入必要的库:包括
os
/requests
/re
以及random
;定义函数:
download_images
函数可用于下载图片;获取图片链接:使用正则表达式从网页内容中提取图片 URL;
下载保存图片:使用
requests
库下载图片,并且使用random
库生成随机数作为文件名;指定目录:确保保存目录存在,如果不存在则创建;
获取内容:使用
requests
库获取网页内容。
功能代码
1 | import os |
注意:本示例代码仅适用于 Python 3.x 版本,运行于 Windows 系统。如使用 Linux 系统,可能需要进行相应修改。
X Window 与 Wayland 的深度对比
X Window 与 Wayland 不仅代表了图形界面技术不同发展阶段,更体现了设计理念、架构模式及应用场景的显著差异。本文将从历史背景、技术特点、应用场景及未来展望等多个维度,对 X Window 和 Wayland 进行深入剖析。
历史背景演变
X11 诞生于 1984 年,由麻省理工学院 MIT 开发,旨在满足分布式计算环境下图形界面需求。其设计哲学强调网络透明性,允许用户在远程服务器运行应用程序,并在本地终端显示结果,极大地拓展 GUI 的可用性和灵活性。随着时间推移,X11 凭借其广泛的硬件和软件支持,逐渐成为 Linux 桌面环境的标准图形界面后端。
随着计算需求增长,X11 的一些设计局限逐渐显现,例如架构复杂、性能瓶颈和安全性问题。2008 年,Kristian 提出 Wayland 项目,旨在创建一个更加现代、高效窗口系统。Wayland 的设计重点在于简化架构、提高性能和增强安全性,采用客户端 Compositor 通信模型,减少了中间层,提升了效率和响应速度。
技术特点比较
X11 采用 C/S 模型,客户端通过 X 协议与服务器通信,而 X 服务器负责处理所有图形和输入事件。相比之下,Wayland 采用了客户端 Compositor 模型,客户端可直接与 Compositor 通信,Compositor 负责了窗口管理、合成、输出。Wayland 的架构更加贴合现代图形硬件特性,可以更高效地利用 GPU 和现代显示技术。
X11 在安全性方面存在了固有弱点,其复杂协议和广泛权限易被恶意利用。Wayland 通过限制客户端权限以及简化通信模型,显著提高了安全性。例如,Wayland 禁止了应用程序直接访问底层硬件,只允许了它们与 Compositor 通信,从而增强系统的安全性。
Wayland 的协议设计更加高效,减少了延迟和带宽消耗。在移动设备和资源受限的环境中,Wayland 的优势尤为明显。此外,Wayland 避免了不必要的复杂性和额外处理,使得其在性能上优于 X11。尤其是在窗口大小调整以及拖动等操作中,Wayland 显得更加的平滑流畅。
X11 拥有庞大的生态系统,支持大量的应用程序和工具,几乎所有 Linux 发行版默认都使用 X11。然而,Wayland 的生态系统正在快速发展,主要桌面环境如 GNOME 和 KDE 已全面支持 Wayland。尽管如此,一些特定应用程序和工具可能仍需要额外的兼容层或补丁才能在 Wayland 下运行。
应用场景
在桌面环境中,X11 凭借其广泛的兼容性和成熟度,仍然是许多用户的首选。但随着硬件技术的进步和用户对高性能图形渲染的需求增加,Wayland 正在逐渐成为主流的选择。
越来越多的 Linux 发行版开始默认支持 Wayland,例如 Fedora 和 Ubuntu 等。
在移动设备和嵌入式系统中,资源受限是一个普遍的问题。Wayland 的低功耗以及高性能特性使其成为这些场景下的理想选择。
例如,Android 系统中的 SurfaceFlinger 就是基于 Wayland 的原理设计,用于图形显示以及窗口管理。
在虚拟化和云计算的环境中,图形性能以及网络传输效率至关重要。
虽然 X11 的网络透明性在某些场景下仍有些优势,但 Wayland 通过优化的协议和架构,正在成为虚拟桌面基础设施 VDI 和云桌面解决方案的首选,特别在需要高性能图形渲染的场景中。
你被邪淫左右的根因在于你的内心世界与现实世界无法相融
专注于每个步伐
万豪系酒店总结
巩义杜甫故里
OpenResty 的性能优化配置建议
1Panel 的用户越来越多,内置 Web 服务 OpenResty 使用占比也在增加,但网上对其优化的教程很少。应关关童靴的需求,更新一篇有关 OpenResty 的一些优化建议。可优化设置项较少,需要的小伙伴可以根据实际需求变更配置。
server_names_hash_bucket_size 参数项
含义:该参数用于设置服务器名字 hash 表大小,若名字过长或服务较多,保持默认值可能使 hash 表空间不足,引发错误。
优化建议:一般为 server_names_hash_max_size
的 1/2-1/3 左右,如服务器配置较高,可直接设置 256
。
gzip 参数项
gzip_min_length
参数项:对小文件压缩可能得不偿失,一般设置为 1k
或 10k
左右,小于该值的文件不压缩。
gzip_comp_level
参数项:压缩级别,1
为最小最快,9
为最大最慢,通常建议设置为 4-6
,以平衡压缩效果和 CPU 使用率。
client_header_buffer_size 参数项
含义:用于设置读取客户端请求头的缓冲区大小,若请求头过大,可能超出默认值导致客户端报错。
优化建议:根据实际业务需求调整,如业务请求头通常较大,可设为 32k
左右,确保可以完整读取大部分请求头。
client_max_body_size 参数项
含义:限制客户端请求主体的最大允许大小,超出该值请求将被拒绝。
优化建议:根据业务场景和服务器承受能力设置,如普通表单提交可设置为 10m-20m
左右,对于文件上传等大请求可以适当增大。
keepalive_timeout 参数项
含义:设置长连接的超时时间,即客户端与服务器间连接保持空闲的最大时间。
优化建议:一般设为 60-90
秒左右,时间过短会频繁断开连接且增加开销,过长则可能占用过多的资源。
优化后的配置示例
1 | http { |
注意:以上配置仅供参考,具体优化需根据实际业务场景和硬件配置进行调优。
《骆驼祥子》读后感——一个时代的悲剧
武汉动物园一日游
《暗黑破坏神3》国服赛季开荒指南
日前,《暗黑破坏神3》的国服已经正式回归,新老玩家可以进入《暗黑破坏神3》的新赛季,这里给出一个赛季初期的开荒指南,供各位新老玩家参考。
赛季有特殊奖励和全新玩法,一般都是打赛季模式,赛季初期,先建立一个赛季角色,赛季角色可以选择喜欢的职业,刷的比较爽的职业有猎魔人和野蛮人。
建立角色后,打挑战秘境模式,获得一个挑战秘境宝箱,里面有大量金币和材料,可以先将铁匠宝石附魔升满级。
进入游戏后,找佣兵,把佣兵的武器拿到自己身上用,因为佣兵武器比自身武器攻击高,拿了佣兵武器后,伤害会提升不少。另外2个佣兵的白色武器分解掉,得到万用材料用于解锁仪式祭坛的BUFF。分解的操作很简单,只需要在铁匠铺里,物品栏中分解点击不需要的装备即可。
之后访问仪式祭坛,解锁2个重要的BUFF,一个是连杀持续时间和奖励翻倍,一个是移除所有装备等级要求,这两个BUFF对开荒帮助极大,先解锁第一个BUFF。第一个BUFF可以大幅提高打怪时能获得的经验值,连杀越多,奖励越丰富。这个BUFF会在屏幕出现一个计数器,显示当前连杀数量,保持连杀不中断很重要,尽量不要让计数器归零,连杀数字越高,获得的经验值越高。
仪式祭坛在第一章的城镇里很好找,就在传送点附近。
之后从初始任务里去找卡奈魔盒,卡奈魔盒是游戏里的关键道具,有多种不同的功能(例如提取装备的特效和传奇能力,以及重铸游戏装备属性、在游戏中更换套装等等),初始任务里,NPC会告知线索,之后前往赛斯切隆遗迹,找到长老神殿,因为卡奈魔盒就在长老神殿里面,点击即可获得卡奈魔盒。
通过卡奈魔盒,可以提取游戏中装备特效和传奇能力,包括重铸一件传奇物品,一旦卡奈魔方的传奇能力被提取出来,就可以为游戏中的角色进行配置,不需要额外装备该物品。
获得卡奈魔盒后,用挑战秘境宝箱里的材料升级一个70级武器,提取其BUFF,再做绿色贤者套装。
之后升级到18级后,解锁仪式祭坛第2个BUFF,可以提前拿起70级武器,第2个BUFF需要无暇宝石,18级以后,可以去击杀骷髅王、佐敦库勒的悬赏任务来获得宝箱,有悬赏任务就打,没有的话就刷新地图。
70级武器威力超大,可以轻松击杀低级怪物,18级拿上70级武器之后,就可以去刷怪升级了,难度可以选择苦痛2或更高,建议刷怪地点是先民神殿,先民神殿怪物密度高,地图结构简单不容易迷路。由于装备等级的碾压,升级速度快到飞起。手持70级武器在这里横扫非常爽快,一刀一个小怪,几刀解决精英,升级速度飞快,记得全程保持连杀不断,这样经验值翻倍效果拉满。神殿里还可能掉落一些有用的低级传奇装备,运气好的话能捡到不少好东西。
70级是等级上限,达到70级后游戏才算真正开始。这时候需要刷巅峰等级来提升角色属性,巅峰等级没有上限,可以无限提升,每提升一级巅峰等级,角色主属性增加5点,巅峰等级提升速度随等级增长而变慢,需要大量经验值。
升到70级之后,优先做赛季任务,获得赛季奖励的绿色套装,获得全套绿色套装之后,伤害量就立刻再上一个大台阶,这时候可以尝试挑战高难度的大秘境,通过不停地刷大秘境,可以获得大量巅峰等级。
赛季玩法丰富多样,基本上把赛季旅程任务完成,就可以获得大量奖励,之后就可以AFK了。